Files
Leantime/app/Domain/Tickets/Templates/roadmapAll.blade.php

172 lines
6.5 KiB
PHP

@extends($layout)
@section('content')
@php
$milestones = $milestones ?? [];
$clients = $clients ?? [];
$clientNameSelected = __('headline.all_clients');
$htmlDropdownClients = '';
foreach ($clients as $client) {
$href = BASE_URL.'/tickets/roadmapAll?clientId='.$client['id'];
$labelActive = '';
if (isset($_GET['clientId']) && $_GET['clientId'] == $client['id']) {
$labelActive = ' class="active"';
$clientNameSelected = $client['name'];
}
$htmlDropdownClients .= "<li><a href='$href' $labelActive> {$client['name']} </a></li>";
}
$roadmapView = session('usersettings.views.roadmap', 'Month');
@endphp
@include('tickets::submodules.portfolioHeader')
<div class="maincontent">
@include('tickets::submodules.portfolioTabs')
<div class="maincontentinner">
{!! $tpl->displayNotification() !!}
<div class="row">
<div class="col-md-6">
</div>
<div class="col-md-6">
<div class="pull-right">
<div class="btn-group viewDropDown">
<button class="btn dropdown-toggle" data-toggle="dropdown">{!! __('label.roles.client') !!}: <span class="viewText">{{ $clientNameSelected }}</span><span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href={{ BASE_URL.'/tickets/roadmapAll' }} {{ empty($labelActive) ? "class='active'" : '' }} > {!! __('headline.all_clients') !!} </a></li>
{!! $htmlDropdownClients !!}
</ul>
</div>
<div class="btn-group dropRight">
@php
$currentView = '';
if ($roadmapView == 'Day') {
$currentView = __('buttons.day');
} elseif ($roadmapView == 'Week') {
$currentView = __('buttons.week');
} elseif ($roadmapView == 'Month') {
$currentView = __('buttons.month');
}
@endphp
<button class="btn dropdown-toggle" data-toggle="dropdown">{!! __('buttons.timeframe') !!}: <span class="viewText">{{ $currentView }}</span><span class="caret"></span></button>
<ul class="dropdown-menu" id="ganttTimeControl">
<li><a href="javascript:void(0);" data-value="Day" class="{{ $roadmapView == 'Day' ? 'active' : '' }}"> {!! __('buttons.day') !!}</a></li>
<li><a href="javascript:void(0);" data-value="Week" class="{{ $roadmapView == 'Week' ? 'active' : '' }}">{!! __('buttons.week') !!}</a></li>
<li><a href="javascript:void(0);" data-value="Month" class="{{ $roadmapView == 'Month' ? 'active' : '' }}">{!! __('buttons.month') !!}</a></li>
</ul>
</div>
</div>
</div>
</div>
@php
if (count($milestones) == 0) {
echo "<div class='empty' id='emptySprint' style='text-align:center;'>";
echo "<div style='width:30%' class='svgContainer'>";
echo file_get_contents(ROOT.'/dist/images/svg/undraw_adjustments_p22m.svg');
echo '</div>';
echo '<h4>'.__('headlines.no_milestones').'<br/>
<br />
<a href="'.BASE_URL.'/tickets/editMilestone" class="milestoneModal addCanvasLink btn btn-primary">'.__('links.add_milestone').'</a></h4></div>';
}
@endphp
<div class="gantt-wrapper">
<svg id="gantt"></svg>
</div>
</div>
</div>
@once @push('scripts')
<script type="text/javascript">
jQuery(document).ready(function(){
@if (isset($_GET['showMilestoneModal']))
@php
$modalUrl = $_GET['showMilestoneModal'] == '' ? '' : '/'.(int) $_GET['showMilestoneModal'];
@endphp
leantime.ticketsController.openMilestoneModalManually("{{ BASE_URL }}/tickets/editMilestone{{ $modalUrl }}");
window.history.pushState({},document.title, '{{ BASE_URL }}/tickets/roadmap');
@endif
});
@if (count($milestones) > 0)
var tasks = [
@php
foreach ($milestones as $mlst) {
$headline = '['.$mlst->projectName.'] ';
$headline .= __('label.'.strtolower($mlst->type)).': '.$mlst->headline;
if ($mlst->type == 'milestone') {
$headline .= ' ('.$mlst->percentDone.'% Done)';
}
$color = '#8D99A6';
if ($mlst->type == 'milestone') {
$color = $mlst->tags;
}
$sortIndex = 0;
if ($mlst->sortIndex != '' && is_numeric($mlst->sortIndex)) {
$sortIndex = $mlst->sortIndex;
}
$dependencyList = [];
if ($mlst->milestoneid != 0) {
$dependencyList[] = $mlst->milestoneid;
}
if ($mlst->dependingTicketId != 0) {
$dependencyList[] = $mlst->dependingTicketId;
}
echo "{
projectName :'".$mlst->projectName."',
id :'".$mlst->id."',
name :".json_encode($headline).",
start :'".(($mlst->editFrom != '0000-00-00 00:00:00' && ! str_starts_with($mlst->editFrom, '1969-12-31')) ? $mlst->editFrom : date('Y-m-d', strtotime('+1 day', time())))."',
end :'".(($mlst->editTo != '0000-00-00 00:00:00' && ! str_starts_with($mlst->editTo, '1969-12-31')) ? $mlst->editTo : date('Y-m-d', strtotime('+1 week', time())))."',
progress :'".$mlst->percentDone."',
dependencies :'".implode(',', $dependencyList)."',
custom_class :'',
type: '".strtolower($mlst->type)."',
bg_color: '".$color."',
thumbnail: '".BASE_URL.'/api/users?profileImage='.$mlst->editorId."',
sortIndex: ".$sortIndex.'
},';
}
@endphp
];
@if ($login::userIsAtLeast($roles::$editor))
leantime.ticketsController.initGanttChart(tasks, '{{ $roadmapView }}', false);
@else
leantime.ticketsController.initGanttChart(tasks, '{{ $roadmapView }}', true);
@endif
@endif
</script>
@endpush @endonce
@endsection