UHS Logo UHS Logo UHS Logo UHS Logo
  • {{ __('Menu') }}
  • @php $authSidebarUser = Auth::user(); $sidebarRole = \App\Support\WorkflowPermission::normalizeRole((string) ($authSidebarUser->role ?? '')); $sidebarCanRequestDocument = Auth::check() && \App\Support\WorkflowPermission::canUseAdminPermission((string) ($authSidebarUser->role ?? ''), \App\Support\WorkflowPermission::ADMIN_PERMISSION_REQUEST_DOCUMENT); $sidebarCanReviewDocument = Auth::check() && \App\Support\WorkflowPermission::canUseAdminPermission((string) ($authSidebarUser->role ?? ''), \App\Support\WorkflowPermission::ADMIN_PERMISSION_REVIEW_DOCUMENT); $sidebarIsDocumentViewer = request()->routeIs('document-viewer.*'); $sidebarAdminTabForRoute = match (true) { request()->routeIs('admin.users.*') => 'users', request()->routeIs('admin.organizations.*') => 'organizations', request()->routeIs('admin.document-types.*') => 'document-types', request()->routeIs('admin.workflow-templates.*') => 'workflow-templates', request()->routeIs('admin.role-permissions.*') => 'role-permissions', default => null, }; @endphp @if(Auth::check() && $sidebarCanRequestDocument && !$sidebarCanReviewDocument)
  • @php $requesterDashboardIsActive = request()->routeIs('requester.dashboard') || $sidebarIsDocumentViewer; @endphp {{ __('Dashboard') }}
  • routeIs('requester.add-new')) aria-current="page" @endif href="{{ route('requester.add-new') }}"> {{ __('Add New Request') }}
  • @elseif(Auth::check()) @php $role = $sidebarRole; $menuConfig = [ 'admin' => ['label' => __('Admin'), 'icon' => 'mdi mdi-shield-crown-outline', 'subitems' => [ ['route' => 'role.dashboard', 'icon' => 'mdi mdi-view-dashboard-outline', 'label' => __('Dashboard')], ['route' => 'role.dashboard', 'params' => ['admin_tab' => 'users'], 'icon' => 'mdi mdi-account-multiple-outline', 'label' => __('Users')], ['route' => 'role.dashboard', 'params' => ['admin_tab' => 'organizations'], 'icon' => 'mdi mdi-office-building-outline', 'label' => __('Organizations')], ['route' => 'role.dashboard', 'params' => ['admin_tab' => 'document-types'], 'icon' => 'mdi mdi-file-tree-outline', 'label' => __('Document Types')], ['route' => 'role.dashboard', 'params' => ['admin_tab' => 'workflow-templates'], 'icon' => 'mdi mdi-source-branch', 'label' => __('Workflow Templates')], ['route' => 'role.dashboard', 'params' => ['admin_tab' => 'role-permissions'], 'icon' => 'mdi mdi-shield-edit-outline', 'label' => __('Role Permissions')], ['route' => 'role.dashboard', 'params' => ['admin_tab' => 'audit-trails'], 'icon' => 'mdi mdi-history', 'label' => __('Audit Logs')], ]], 'rector' => ['label' => __('Document Tracking'), 'icon' => 'mdi mdi-check-decagram-outline', 'subitems' => [ ['route' => 'role.dashboard', 'icon' => 'mdi mdi-view-dashboard-outline', 'label' => __('Dashboard')], ]], 'vice_rector' => ['label' => __('Document Tracking'), 'icon' => 'mdi mdi-account-tie-outline', 'subitems' => [ ['route' => 'role.dashboard', 'icon' => 'mdi mdi-view-dashboard-outline', 'label' => __('Dashboard')], ]], ]; $canRequestDocument = $sidebarCanRequestDocument; $canReviewDocument = $sidebarCanReviewDocument; $allowedAdminTabs = \App\Support\WorkflowPermission::allowedAdminTabsForRole($role); $adminTabSubitems = [ 'users' => ['route' => 'role.dashboard', 'params' => ['admin_tab' => 'users'], 'icon' => 'mdi mdi-account-multiple-outline', 'label' => __('Users')], 'organizations' => ['route' => 'role.dashboard', 'params' => ['admin_tab' => 'organizations'], 'icon' => 'mdi mdi-organization-building-outline', 'label' => __('Organizations')], 'document-types' => ['route' => 'role.dashboard', 'params' => ['admin_tab' => 'document-types'], 'icon' => 'mdi mdi-file-tree-outline', 'label' => __('Document Types')], 'workflow-templates' => ['route' => 'role.dashboard', 'params' => ['admin_tab' => 'workflow-templates'], 'icon' => 'mdi mdi-source-branch', 'label' => __('Workflow Templates')], 'role-permissions' => ['route' => 'role.dashboard', 'params' => ['admin_tab' => 'role-permissions'], 'icon' => 'mdi mdi-shield-edit-outline', 'label' => __('Role Permissions')], 'audit-trails' => ['route' => 'role.dashboard', 'params' => ['admin_tab' => 'audit-trails'], 'icon' => 'mdi mdi-history', 'label' => __('Audit Logs')], ]; $menu = $menuConfig[$role] ?? null; if (!$menu && ($canReviewDocument || !empty($allowedAdminTabs))) { $menu = ['label' => __('Document Tracking'), 'icon' => 'mdi mdi-file-document-outline', 'subitems' => [ ['route' => 'role.dashboard', 'icon' => 'mdi mdi-view-dashboard-outline', 'label' => __('Dashboard')], ]]; } if (!$menu) { $menu = ['label' => __('Dashboard'), 'icon' => 'mdi mdi-view-dashboard-outline', 'subitems' => [ ['route' => 'role.dashboard', 'icon' => 'mdi mdi-view-dashboard-outline', 'label' => __('Dashboard')], ]]; } if ($menu && $canRequestDocument) { $menu['subitems'][] = ['route' => 'requester.add-new', 'icon' => 'mdi mdi-plus-box-outline', 'label' => __('Add New Request')]; } if ($menu && $role !== 'admin' && !empty($allowedAdminTabs)) { foreach ($allowedAdminTabs as $adminTabKey) { if (isset($adminTabSubitems[$adminTabKey])) { $menu['subitems'][] = $adminTabSubitems[$adminTabKey]; } } } $sidebarId = 'sidebarRole' . ucfirst(str_replace('-', '', $role)); $isRoleMenuActive = request()->routeIs('role.*') || request()->routeIs('document-viewer.*') || request()->routeIs('admin.document-types.form-builder.*') || ($canRequestDocument && request()->routeIs('requester.add-new')); @endphp @if($menu) @foreach($menu['subitems'] as $item) @php $itemParams = $item['params'] ?? null; $itemHref = $itemParams ? route($item['route'], $itemParams) : route($item['route']); $isItemActive = request()->routeIs($item['route']); if (is_array($itemParams) && array_key_exists('admin_tab', $itemParams)) { $isItemActive = $isItemActive && request()->query('admin_tab') === $itemParams['admin_tab']; $isItemActive = $isItemActive || $sidebarAdminTabForRoute === $itemParams['admin_tab']; } elseif (!isset($item['params'])) { $isItemActive = $isItemActive && !request()->has('admin_tab'); $isItemActive = $isItemActive || ($sidebarIsDocumentViewer && $item['route'] === 'role.dashboard'); } @endphp
  • {{ $item['label'] }}
  • @endforeach @endif @elseif(false)
  • @lang('translation.dashboards')
    • @lang('translation.analytics')
    • @lang('translation.crm')
    • @lang('translation.ecommerce')
    • @lang('translation.crypto')
    • @lang('translation.projects')
    • @lang('translation.nft')
    • @lang('translation.job')
    • @lang('translation.blog') @lang('translation.new')
  • @lang('translation.apps')
    • @lang('translation.calender')
      • @lang('translation.main-calender')
      • @lang('translation.month-grid')
    • @lang('translation.chat')
    • @lang('translation.email')
      • @lang('translation.mailbox')
      • @lang('translation.email-templates')
        • @lang('translation.basic-action')
        • @lang('translation.ecommerce-action')
    • @lang('translation.ecommerce')
      • @lang('translation.products')
      • @lang('translation.product-Details')
      • @lang('translation.create-product')
      • @lang('translation.orders')
      • @lang('translation.order-details')
      • @lang('translation.customers')
      • @lang('translation.shopping-cart')
      • @lang('translation.checkout')
      • @lang('translation.sellers')
      • @lang('translation.sellers-details')
    • @lang('translation.projects')
      • @lang('translation.list')
      • @lang('translation.overview')
      • @lang('translation.create-project')
    • @lang('translation.tasks')
      • @lang('translation.kanbanboard')
      • @lang('translation.list-view')
      • @lang('translation.task-details')
    • @lang('translation.crm')
      • @lang('translation.contacts')
      • @lang('translation.companies')
      • @lang('translation.deals')
      • @lang('translation.leads')
    • Crypto
      • @lang('translation.transactions')
      • @lang('translation.buy-sell')
      • @lang('translation.orders')
      • @lang('translation.my-wallet')
      • @lang('translation.ico-list')
      • @lang('translation.kyc-application')
    • Invoices
      • @lang('translation.list-view')
      • @lang('translation.details')
      • @lang('translation.create-invoice')
    • Support Tickets
      • @lang('translation.list-view')
      • @lang('translation.ticket-details')
    • @lang('translation.nft-marketplace')
      • @lang('translation.marketplace')
      • @lang('translation.explore-now')
      • @lang('translation.live-auction')
      • @lang('translation.item-details')
      • @lang('translation.collections')
      • @lang('translation.creators')
      • @lang('translation.ranking')
      • @lang('translation.wallet-connect')
      • @lang('translation.create-nft')
    • @lang('translation.file-manager')
    • @lang('translation.to-do')
    • @lang('translation.jobs')
      • @lang('translation.statistics')
      • @lang('translation.job-lists')
        • @lang('translation.list')
        • @lang('translation.grid')
        • @lang('translation.overview')
      • @lang('translation.candidate-lists')
        • @lang('translation.list-view')
        • @lang('translation.grid-view')
      • @lang('translation.application')
      • @lang('translation.new-job')
      • @lang('translation.companies-list')
      • @lang('translation.job-categories')
    • @lang('translation.api-key')
  • @lang('translation.layouts') @lang('translation.hot')
    • @lang('translation.horizontal')
    • @lang('translation.detached')
    • @lang('translation.two-column')
    • @lang('translation.hovered')
  • @lang('translation.pages')
  • @lang('translation.authentication')
    • @lang('translation.signin')
      • @lang('translation.basic')
      • @lang('translation.cover')
    • @lang('translation.signup')
      • @lang('translation.basic')
      • @lang('translation.cover')
    • @lang('translation.password-reset')
      • @lang('translation.basic')
      • @lang('translation.cover')
    • @lang('translation.password-create')
      • @lang('translation.basic')
      • @lang('translation.cover')
    • @lang('translation.lock-screen')
      • @lang('translation.basic')
      • @lang('translation.cover')
    • @lang('t-logout')
      • @lang('translation.basic')
      • @lang('translation.cover')
    • @lang('translation.success-message')
      • @lang('translation.basic')
      • @lang('translation.cover')
    • @lang('translation.two-step-verification')
      • @lang('translation.basic')
      • @lang('translation.cover')
    • @lang('translation.errors')
      • @lang('translation.404-basic')
      • @lang('translation.404-cover')
      • @lang('translation.404-alt')
      • @lang('translation.500')
      • @lang('translation.offline-page')
  • @lang('translation.pages')
    • @lang('translation.starter')
    • @lang('translation.profile')
      • @lang('translation.simple-page')
      • @lang('translation.settings')
    • @lang('translation.team')
    • @lang('translation.timeline')
    • @lang('translation.faqs')
    • @lang('translation.pricing')
    • @lang('translation.gallery')
    • @lang('translation.maintenance')
    • @lang('translation.coming-soon')
    • @lang('translation.sitemap')
    • @lang('translation.search-results')
    • @lang('translation.privacy-policy')
    • @lang('translation.term-conditions')
    • @lang('translation.blogs') @lang('translation.new')
      • @lang('translation.list-view')
      • @lang('translation.grid-view')
      • @lang('translation.overview')
  • @lang('translation.landing')
    • @lang('translation.one-page')
    • @lang('translation.nft-landing')
    • @lang('translation.job')
  • @lang('translation.components')
  • @lang('translation.base-ui')
    • @lang('translation.alerts')
    • @lang('translation.badges')
    • @lang('translation.buttons')
    • @lang('translation.colors')
    • @lang('translation.cards')
    • @lang('translation.carousel')
    • @lang('translation.dropdowns')
    • @lang('translation.grid')
    • @lang('translation.images')
    • @lang('translation.tabs')
    • @lang('translation.accordion-collapse')
    • @lang('translation.modals')
    • @lang('translation.offcanvas')
    • @lang('translation.placeholders')
    • @lang('translation.progress')
    • @lang('translation.notifications')
    • @lang('translation.media-object')
    • @lang('translation.embed-video')
    • @lang('translation.typography')
    • @lang('translation.lists')
    • @lang('translation.links') @lang('translation.new')
    • @lang('translation.general')
    • @lang('translation.ribbons')
    • @lang('translation.utilities')
  • @lang('translation.advance-ui')
    • @lang('translation.sweet-alerts')
    • @lang('translation.nestable-list')
    • @lang('translation.scrollbar')
    • @lang('translation.animation')
    • @lang('translation.tour')
    • @lang('translation.swiper-slider')
    • @lang('translation.ratings')
    • @lang('translation.highlight')
    • @lang('translation.scrollSpy')
  • @lang('translation.widgets')
  • @lang('translation.forms')
    • @lang('translation.basic-elements')
    • @lang('translation.form-select')
    • @lang('translation.checkboxs-radios')
    • @lang('translation.pickers')
    • @lang('translation.input-masks')
    • @lang('translation.advanced')
    • @lang('translation.range-slider')
    • @lang('translation.validation')
    • @lang('translation.wizard')
    • @lang('translation.editors')
    • @lang('translation.file-uploads')
    • @lang('translation.form-layouts')
    • @lang('translation.select2')
  • @lang('translation.tables')
    • @lang('translation.basic-tables')
    • @lang('translation.grid-js')
    • @lang('translation.list-js')
    • @lang('translation.datatables')
  • @lang('translation.charts')
    • @lang('translation.apexcharts')
      • @lang('translation.line')
      • @lang('translation.area')
      • @lang('translation.column')
      • @lang('translation.bar')
      • @lang('translation.mixed')
      • @lang('translation.timeline')
      • @lang('translation.range-area')
      • @lang('translation.funnel')
      • @lang('translation.candlstick')
      • @lang('translation.boxplot')
      • @lang('translation.bubble')
      • @lang('translation.scatter')
      • @lang('translation.heatmap')
      • @lang('translation.treemap')
      • @lang('translation.pie')
      • @lang('translation.radialbar')
      • @lang('translation.radar')
      • @lang('translation.polar-area')
      • @lang('translation.slope') @lang('translation.new')
    • @lang('translation.chartjs')
    • @lang('translation.echarts')
  • @lang('translation.icons')
    • @lang('translation.remix') v4.3
    • @lang('translation.boxicons')v2.1.4
    • @lang('translation.material-design')v7.2.96
    • @lang('translation.line-awesome')
    • @lang('translation.feather') v4.29.2
    • @lang('translation.crypto-svg')
  • @lang('translation.maps')
    • @lang('translation.google')
    • @lang('translation.vector')
    • @lang('translation.leaflet')
  • @lang('translation.multi-level')
    • @lang('translation.level-1.1')
    • @lang('translation.level-1.2')
      • @lang('translation.level-2.1')
      • @lang('translation.level-2.2')
        • @lang('translation.level-3.1')
        • @lang('translation.level-3.2')
  • @endif