ultimatepos/Modules/ManagementTools/Resources/views/layouts/nav.blade.php

235 lines
15 KiB
PHP

<section class="no-print">
@include('managementtools::layouts.styles')
@include('managementtools::layouts.date_helpers')
@include('managementtools::layouts.datatables_lang')
@php
$mtSeg2 = request()->segment(2);
$mtSeg3 = request()->segment(3);
$mtActiveDailyReport = $mtSeg2 === 'daily-reports' && ! in_array($mtSeg3, ['users', 'UserTasks'], true);
$mtActiveEmployeeReports = $mtSeg2 === 'daily-reports' && $mtSeg3 === 'users';
$mtActiveAnalytics = $mtSeg2 === 'report-analytics';
$mtActiveCockpit = $mtSeg2 === 'executive-cockpit';
$mtActiveTaskReport = $mtSeg2 === 'task-report';
$mtActiveSkills = $mtSeg2 === 'skills' && $mtSeg3 !== 'report';
$mtActiveSkillsReport = $mtSeg2 === 'skills' && $mtSeg3 === 'report';
$mtActiveTools = $mtSeg2 === 'tools';
$mtActiveEmployeeTasks = $mtSeg2 === 'daily-reports' && $mtSeg3 === 'UserTasks';
$mtActiveScores = $mtSeg2 === 'scores';
$mtActiveScoreCards = $mtSeg2 === 'score-cards';
$mtActiveMyScores = $mtSeg2 === 'my-scores';
$mtActiveUrgent = $mtSeg2 === 'urgent-messages';
$mtActiveTeam = $mtSeg2 === 'team';
$mtActiveTickets = $mtSeg2 === 'tickets';
$mtShowReports = auth()->user()->can('managementtools.daily_report_own')
|| auth()->user()->can('managementtools.daily_report_all')
|| auth()->user()->can('managementtools.task_report')
|| auth()->user()->can('managementtools.board_view');
$mtReportsActive = $mtActiveDailyReport || $mtActiveEmployeeReports || $mtActiveAnalytics || $mtActiveTaskReport || $mtActiveCockpit;
$mtShowManagement = auth()->user()->can('managementtools.manage_skills')
|| auth()->user()->can('managementtools.manage_tools')
|| auth()->user()->can('managementtools.manage_employee_tasks')
|| auth()->user()->can('managementtools.daily_report_all');
$mtManagementActive = $mtActiveSkills || $mtActiveSkillsReport || $mtActiveTools || $mtActiveEmployeeTasks;
$mtShowScores = auth()->user()->can('managementtools.manage_scores')
|| auth()->user()->can('managementtools.score_view_own');
$mtScoresActive = $mtActiveScores || $mtActiveScoreCards || $mtActiveMyScores;
$mtShowTeam = auth()->user()->can('managementtools.urgent_messages')
|| auth()->user()->can('managementtools.urgent_messages_view')
|| auth()->user()->can('managementtools.team_view')
|| auth()->user()->can('managementtools.ticket_own')
|| auth()->user()->can('managementtools.ticket_manage');
$mtTeamActive = $mtActiveUrgent || $mtActiveTeam || $mtActiveTickets;
if (auth()->user()->can('managementtools.daily_report_own')) {
$mtNavHome = action([\Modules\ManagementTools\Http\Controllers\DailyReportController::class, 'index']);
} elseif (auth()->user()->can('managementtools.manage_skills')) {
$mtNavHome = action([\Modules\ManagementTools\Http\Controllers\SkillController::class, 'index']);
} elseif (auth()->user()->can('managementtools.score_view_own')) {
$mtNavHome = action([\Modules\ManagementTools\Http\Controllers\ScoreController::class, 'myScores']);
} elseif (auth()->user()->can('managementtools.ticket_own') || auth()->user()->can('managementtools.ticket_manage')) {
$mtNavHome = action([\Modules\ManagementTools\Http\Controllers\TicketController::class, 'index']);
} elseif (auth()->user()->can('managementtools.urgent_messages_view') || auth()->user()->can('managementtools.urgent_messages')) {
$mtNavHome = action([\Modules\ManagementTools\Http\Controllers\UrgentMessageController::class, 'index']);
} else {
$mtNavHome = action([\Modules\ManagementTools\Http\Controllers\TicketController::class, 'index']);
}
@endphp
<nav class="navbar navbar-default mt-nav-wrap">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mt-navbar" aria-expanded="false">
<span class="sr-only">@lang('managementtools::lang.toggle_nav')</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand mt-nav-brand" href="{{ $mtNavHome }}">
<i class="fas fa-briefcase"></i>
@lang('managementtools::lang.module_name')
</a>
</div>
<div class="collapse navbar-collapse" id="mt-navbar">
<ul class="nav navbar-nav mt-nav-groups">
@if($mtShowReports)
<li class="dropdown {{ $mtReportsActive ? 'active' : '' }}">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-chart-line"></i>
@lang('managementtools::lang.nav_group_reports')
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
@can('managementtools.daily_report_own')
<li @if($mtActiveDailyReport) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\DailyReportController::class, 'index']) }}">
<i class="fas fa-clipboard-check"></i> @lang('managementtools::lang.daily_report')
</a>
</li>
@endcan
@can('managementtools.daily_report_all')
<li @if($mtActiveEmployeeReports) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\DailyReportController::class, 'employees']) }}">
<i class="fas fa-users"></i> @lang('managementtools::lang.employee_reports')
</a>
</li>
@can('managementtools.board_view')
<li @if($mtActiveCockpit) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\ExecutiveCockpitController::class, 'index']) }}">
<i class="fas fa-tachometer-alt"></i> @lang('managementtools::lang.executive_cockpit')
</a>
</li>
@endcan
<li @if($mtActiveAnalytics) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\DailyReportController::class, 'analytics']) }}">
<i class="fas fa-chart-bar"></i> @lang('managementtools::lang.report_analytics')
</a>
</li>
@endcan
@can('managementtools.task_report')
<li @if($mtActiveTaskReport) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\TaskReportController::class, 'index']) }}">
<i class="fas fa-calendar-alt"></i> @lang('managementtools::lang.task_report_menu')
</a>
</li>
@endcan
</ul>
</li>
@endif
@if($mtShowManagement)
<li class="dropdown {{ $mtManagementActive ? 'active' : '' }}">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-cogs"></i>
@lang('managementtools::lang.nav_group_management')
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
@can('managementtools.manage_skills')
<li @if($mtActiveSkills) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\SkillController::class, 'index']) }}">
<i class="fas fa-lightbulb"></i> @lang('managementtools::lang.skills')
</a>
</li>
<li @if($mtActiveSkillsReport) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\SkillController::class, 'report']) }}">
<i class="fas fa-chart-pie"></i> @lang('managementtools::lang.skills_report')
</a>
</li>
@endcan
@can('managementtools.manage_tools')
<li @if($mtActiveTools) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\ToolController::class, 'index']) }}">
<i class="fas fa-toolbox"></i> @lang('managementtools::lang.tools')
</a>
</li>
@endcan
@if(auth()->user()->can('managementtools.manage_employee_tasks') || auth()->user()->can('managementtools.daily_report_all'))
<li @if($mtActiveEmployeeTasks) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\EmployeeTaskController::class, 'index']) }}">
<i class="fas fa-tasks"></i> @lang('managementtools::lang.employee_tasks')
</a>
</li>
@endif
</ul>
</li>
@endif
@if($mtShowScores)
<li class="dropdown {{ $mtScoresActive ? 'active' : '' }}">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-star"></i>
@lang('managementtools::lang.nav_group_scores')
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
@can('managementtools.manage_scores')
<li @if($mtActiveScores) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\ScoreController::class, 'index']) }}">
<i class="fas fa-star"></i> @lang('managementtools::lang.scores')
</a>
</li>
<li @if($mtActiveScoreCards) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\ScoreCardController::class, 'index']) }}">
<i class="fas fa-id-card"></i> @lang('managementtools::lang.score_cards')
</a>
</li>
@endcan
@can('managementtools.score_view_own')
<li @if($mtActiveMyScores) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\ScoreController::class, 'myScores']) }}">
<i class="fas fa-medal"></i> @lang('managementtools::lang.my_scores')
</a>
</li>
@endcan
</ul>
</li>
@endif
@if($mtShowTeam)
<li class="dropdown {{ $mtTeamActive ? 'active' : '' }}">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-users"></i>
@lang('managementtools::lang.nav_group_team')
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
@if(auth()->user()->can('managementtools.urgent_messages'))
<li @if($mtActiveUrgent) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\UrgentMessageController::class, 'index']) }}">
<i class="fas fa-bolt"></i> @lang('managementtools::lang.urgent_messages_manage')
</a>
</li>
@elseif(auth()->user()->can('managementtools.urgent_messages_view'))
<li @if($mtActiveUrgent) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\UrgentMessageController::class, 'index']) }}">
<i class="fas fa-bolt"></i> @lang('managementtools::lang.urgent_messages_menu')
</a>
</li>
@endif
@can('managementtools.team_view')
<li @if($mtActiveTeam) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\TeamController::class, 'index']) }}">
<i class="fas fa-user-friends"></i> @lang('managementtools::lang.team_members')
</a>
</li>
@endcan
@if(auth()->user()->can('managementtools.ticket_own') || auth()->user()->can('managementtools.ticket_manage'))
<li @if($mtActiveTickets) class="active" @endif>
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\TicketController::class, 'index']) }}">
<i class="fas fa-life-ring"></i> @lang('managementtools::lang.tickets')
</a>
</li>
@endif
</ul>
</li>
@endif
</ul>
</div>
</div>
</nav>
</section>