@php use App\Support\AuditPermissions; use App\Support\PlanningRoutes; use App\Support\SafeRoute; use App\Support\SidebarMenu; $user = Auth::user(); $applicationLinks = []; $userLinks = []; $rolesLinks = []; if (SidebarMenu::can($user, 'management.menu')) { if (SidebarMenu::can($user, 'application.menu')) { SidebarMenu::push(SidebarMenu::safeLink($user, 'Chat Box', 'chat.index', 'chatbox.view'), $applicationLinks); SidebarMenu::push(SidebarMenu::safeLink($user, 'Email', 'application.email.index', 'email.view'), $applicationLinks); SidebarMenu::push(SidebarMenu::safeLink($user, 'Calendar', 'application.calendar.index', 'calendar.view'), $applicationLinks); SidebarMenu::push(SidebarMenu::safeLink($user, 'Todo List', 'application.todos.index', 'todo_list.view'), $applicationLinks); SidebarMenu::push(SidebarMenu::safeLink($user, 'File Manager', 'application.files.index', 'file_manager.view'), $applicationLinks); } if (SidebarMenu::can($user, 'user_management.menu')) { SidebarMenu::push(SidebarMenu::link($user, 'Users', 'all.users', 'users.view'), $userLinks); SidebarMenu::push( SidebarMenu::callableLink( $user, 'Audit trail', route('audit.index'), fn ($u) => AuditPermissions::canView($u) ), $userLinks ); if ($url = PlanningRoutes::menuUrl('staff.org-chart.index')) { SidebarMenu::push( SidebarMenu::callableLink( $user, 'Staff org chart', $url, fn ($u) => $u->can('staffOrgChart.viewAny') ), $userLinks ); } } if (SidebarMenu::can($user, 'roles_permission.menu')) { SidebarMenu::push(SidebarMenu::link($user, 'All permissions', 'all.permission', 'permissions.view'), $rolesLinks); SidebarMenu::push(SidebarMenu::link($user, 'All roles', 'all.roles', 'roles.view'), $rolesLinks); SidebarMenu::push(SidebarMenu::link($user, 'Role in permission', 'add.roles.permission', 'role_permission.add'), $rolesLinks); SidebarMenu::push(SidebarMenu::link($user, 'All role permissions', 'all.roles.permission', 'role_permissions.view'), $rolesLinks); } } $hasManagement = $applicationLinks || $userLinks || $rolesLinks; @endphp @if ($hasManagement)