Files
Leantime/app/Domain/Tickets/Templates/submodules/timelineHeader.blade.php

89 lines
4.1 KiB
PHP

@php
use Leantime\Core\Controller\Frontcontroller;
use Leantime\Domain\Sprints\Models\Sprints;
$currentUrlPath = BASE_URL . '/' . str_replace('.', '/', Frontcontroller::getCurrentRoute());
$currentSprintId = $currentSprint;
$searchSprint = $searchCriteria['sprint'] ?? '';
$sprint = false;
$currentSprintId = $currentSprintId == '' ? 'all' : $currentSprintId;
if ($currentSprintId == 'all') {
$sprint = new Sprints;
$sprint->id = 'all';
$sprint->name = __('links.all_todos');
}
if ($currentSprintId == 'backlog') {
$sprint = new Sprints;
$sprint->id = 'backlog';
$sprint->name = __('links.backlog');
}
if (is_array($sprints)) {
foreach ($sprints as $sprintRow) {
if ($sprintRow->id == $currentSprintId) {
$sprint = $sprintRow;
break;
}
}
}
@endphp
@dispatchEvent('beforePageHeaderOpen')
<div class="pageheader">
@dispatchEvent('afterPageHeaderOpen')
<div class="pageicon">
<span class="fa fa-fw fa-chart-gantt"></span>
</div>
<div class="pagetitle">
@if (($sprints !== false) && ($sprints !== null) && count($sprints) > 0)
<x-global::subjectSwitcher
:parent="__('headline.milestones')"
:current="$sprint !== false ? $sprint->name : __('label.select_board')">
<li><a class="wikiModal inlineEdit" href="#/sprints/editSprint/"><i class="fa-solid fa-plus"></i> {!! __('links.create_sprint_no_icon') !!}</a></li>
<li class='nav-header border'></li>
<li>
<a href="javascript:void(0);" onclick="jQuery('#sprintSelect').val('all'); leantime.ticketsController.initTicketSearchUrlBuilder('{{ $currentUrlPath }}')">{!! __('links.all_todos') !!}</a>
</li>
<li>
<a href="javascript:void(0);" onclick="jQuery('#sprintSelect').val('backlog'); leantime.ticketsController.initTicketSearchUrlBuilder('{{ $currentUrlPath }}')">{!! __('label.backlog') !!}</a>
</li>
@foreach ($sprints as $sprintRow)
<li>
<a href="javascript:void(0);" onclick="jQuery('#sprintSelect').val({{ $sprintRow->id }}); leantime.ticketsController.initTicketSearchUrlBuilder('{{ $currentUrlPath }}')">{{ $tpl->escape($sprintRow->name) }}<br /><small>{!! sprintf(__('label.date_from_date_to'), format($sprintRow->startDate)->date(), format($sprintRow->endDate)->date()) !!}</small></a>
</li>
@endforeach
</x-global::subjectSwitcher>
@else
<h1>{!! __('headline.milestones') !!}</h1>
@endif
<input type="hidden" name="sprintSelect" id="sprintSelect" value="{{ $currentSprintId }}" />
</div>
@if (
($currentSprint !== false)
&& ($currentSprint !== null)
&& count($sprints) > 0
&& $currentSprintId != 'all'
&& $currentSprintId != 'backlog'
)
<div class="pageheader-right">
<span class="dropdown dropdownWrapper headerEditDropdown">
<a href="javascript:void(0)" class="dropdown-toggle btn btn-transparent" data-toggle="dropdown"><i class="fa-solid fa-ellipsis-v"></i></a>
<ul class="dropdown-menu editCanvasDropdown">
{{-- Inherited (program-owned) sprints are managed at the program level only.
$sprint can be false (stale/deleted currentSprint), so guard the object access. --}}
@if ($login::userIsAtLeast($roles::$editor) && (! is_object($sprint) || empty($sprint->isInherited)))
<li><a href="#/sprints/editSprint/{{ $currentSprint }}">{!! __('link.edit_sprint') !!}</a></li>
<li><a href="#/sprints/delSprint/{{ $currentSprint }}" class="delete">{!! __('links.delete_sprint') !!}</a></li>
@endif
</ul>
</span>
</div>
@endif
@dispatchEvent('beforePageHeaderClose')
</div><!--pageheader-->
@dispatchEvent('afterPageHeaderClose')