@php $sidebarMenu = [ [ 'title' => 'Dashboard', 'icon' => 'fas fa-tachometer-alt', 'route' => 'dashboard', 'permission' => null, ], [ 'title' => 'Users', 'icon' => 'fas fa-user', 'permission' => null, 'is_submenu' => true, 'submenu' => [ [ 'title' => 'Manage Users', 'route' => 'users.index', 'excluded_routes' => ['users.create'], 'permission' => null, ], [ 'title' => 'Add User', 'route' => 'users.create', 'excluded_routes' => ['users.index', 'users.edit', 'users.update', 'users.destroy'], 'permission' => null, ], [ 'title' => 'Roles & Permissions', 'route' => 'roles.index', 'permission' => 'role-list', ], ], ], [ 'title' => 'Clients', 'icon' => 'fas fa-users', 'permission' => null, 'is_submenu' => true, 'submenu' => [ [ 'title' => 'Manage Client', 'route' => 'client.index', 'permission' => 'clients-list', ], [ 'title' => 'Client Location', 'route' => 'client-location.index', 'permission' => 'clientLocation-list', ], // [ // 'title' => 'Client Formula', // 'route' => 'client-formula.index', // 'permission' => null, // ], [ 'title' => 'Client Holiday', 'route' => 'client-holiday.index', 'permission' => 'clientHoliday-list', ], [ 'title' => 'Salary Components', 'route' => 'salary-format.index', 'permission' => null, ], ], ], [ 'title' => 'Employees', 'icon' => 'fas fa-user-tie', 'permission' => null, 'is_submenu' => true, 'submenu' => [ [ 'title' => 'Manage Employee', 'route' => 'employee.index', 'excluded_routes' => ['employee.create'], 'permission' => null, ], [ 'title' => 'Add Employee', 'route' => 'employee.create', 'excluded_routes' => ['employee.index', 'employee.edit', 'employee.update', 'employee.destroy'], 'permission' => null, ], ], ], [ 'title' => 'Attendance', 'icon' => 'fas fa-clipboard-list', 'route' => 'attendance.index', 'permission' => 'attendance-list', ], [ 'title' => 'Salary Import', 'icon' => 'fa fa-wallet', 'route' => 'salary-import.index', 'permission' => null, ], [ 'title' => 'ESI PF Processing', 'icon' => 'fas fa-file-invoice', 'route' => 'esipf-processing.index', 'permission' => null, ], [ 'title' => 'Masters', 'icon' => 'fas fa-th-large', 'is_submenu' => true, 'permission' => null, 'submenu' => [ ['title' => 'Trade Licence', 'route' => 'trade-licence.index', 'permission' => 'tradelicence-list'], [ 'title' => 'PF Jurisdiction', 'route' => 'pf-jurisdiction.index', 'permission' => 'pfjurisdiction-list', ], ['title' => 'KAM', 'route' => 'kam.index', 'permission' => 'kam-list'], ['title' => 'Location', 'route' => 'location.index', 'permission' => 'location-list'], ['title' => 'PF', 'route' => 'pf.index', 'permission' => 'pf-list'], ['title' => 'OT Calculation', 'route' => 'ot-calculation.index', 'permission' => 'ot-calculation-list'], ['title' => 'PF Group', 'route' => 'pf-group.index', 'permission' => 'PFGroup-list'], ['title' => 'ESI Office', 'route' => 'esi-office.index', 'permission' => 'esioffice-list'], ['title' => 'ESI', 'route' => 'esi.index', 'permission' => 'esi-list'], [ 'title' => 'ESI Dispensaries', 'route' => 'esi-dispensaries.index', 'permission' => 'esiDispensaries-list', ], [ 'title' => 'Ownership Types', 'route' => 'ownership-types.index', 'permission' => 'ownershiptypes-list', ], // [ // 'title' => 'Portion Attendance', // 'route' => 'portion_attendance.index', // 'permission' => null, // ], ['title' => 'TNLWF', 'route' => 'tnlwf.index', 'permission' => 'tnlwf-list'], ['title' => 'Weekly Offs', 'route' => 'weekly-off.index', 'permission' => 'weeklyOffs-list'], [ 'title' => 'Attendance Maker', 'route' => 'attendancemarker.index', 'permission' => 'attendance-marker-list', ], [ 'title' => 'Inspector Of Factory', 'route' => 'inspector-of-factory.index', 'permission' => 'inspectorOfFactories-list', ], [ 'title' => 'Inspector Of Labour', 'route' => 'inspector-of-labour.index', 'permission' => 'InspectorOfLabour-list', ], [ 'title' => 'Denomination Of WC', 'route' => 'denomination-wage-calculation.index', 'permission' => 'denominationWageCalculation-list', ], [ 'title' => 'Professional Tax Jurisdiction', 'route' => 'professional-tax-jurisdiction.index', 'permission' => 'professionalTaxJurisdiction-list', ], [ 'title' => 'Professional Tax Slab', 'route' => 'professional-tax-slab.index', 'permission' => 'professionalTaxSlab-list', ], ['title' => 'Shift', 'route' => 'shift.index', 'permission' => 'shifts-list'], ['title' => 'Enactments', 'route' => 'enactments.index', 'permission' => 'enactments-list'], ['title' => 'Contents', 'route' => 'contents.index', 'permission' => 'contents-list'], ['title' => 'Fire', 'route' => 'fire.index', 'permission' => 'fire-list'], ['title' => 'MW Industry', 'route' => 'mw-industry.index', 'permission' => 'mwindustry-list'], ['title' => 'MW Zone', 'route' => 'mw-zone.index', 'permission' => 'mwzone-list'], ['title' => 'Police', 'route' => 'police.index', 'permission' => 'police-list'], ['title' => 'Signatory', 'route' => 'signatory.index', 'permission' => 'signatory-list'], ['title' => 'Client Types', 'route' => 'client-types.index', 'permission' => 'clienttypes-list'], [ 'title' => 'Employee Status', 'route' => 'employee-status.index', 'permission' => 'employeeStatus-list', ], ['title' => 'Shift Details', 'route' => 'shift-details.index', 'permission' => 'shiftDetails-list'], ['title' => 'State', 'route' => 'state.index', 'permission' => 'state-list'], ['title' => 'City', 'route' => 'city.index', 'permission' => 'city-list'], [ 'title' => 'Family Relationship', 'route' => 'family-relationship.index', 'permission' => 'familyRelationship-list', ], ['title' => 'Vendor Service', 'route' => 'vendor-service.index', 'permission' => 'vendorService-list'], [ 'title' => 'Damage Rate', 'route' => 'damage-rate.index', 'permission' => 'damageRates-list', ], [ 'title' => 'Country Details', 'route' => 'country-details.index', 'permission' => 'countryDetails-list', ], [ 'title' => 'MW Designations', 'route' => 'mw-designations.index', 'permission' => 'MWDesignation-list', ], [ 'title' => 'Education Details', 'route' => 'education-details.index', 'permission' => 'educationDeatails-list', ], [ 'title' => 'Separation Reasons', 'route' => 'separation-reasons.index', 'permission' => 'separationReasons-list', ], [ 'title' => 'CLRA Slab Rate', 'route' => 'clra-slab-rate.index', 'permission' => 'CLRASlabRate-list', ], ['title' => 'Authority', 'route' => 'authority.index', 'permission' => null], ], ], [ 'title' => 'Reports', 'icon' => 'fas fa-file-alt', 'is_submenu' => true, 'permission' => null, 'submenu' => [ ['title' => 'Form S', 'route' => 'reports.formS', 'permission' => null], //['title' => 'Form 1', 'route' => 'reports.form1', 'permission' => null], ['title' => 'Form 12', 'route' => 'reports.form12', 'permission' => null], ['title' => 'Form 15 Part I', 'route' => 'reports.form15_part1', 'permission' => null], ['title' => 'Form 15 Part II', 'route' => 'reports.form15_part2', 'permission' => null], [ 'title' => 'Form 1 (Register Workmen)', 'route' => 'reports.form1_register_for_workermen', 'permission' => null, ], ['title' => 'Form I (Subsistence)', 'route' => 'reports.form1_sub_a_r', 'permission' => null], ['title' => 'Form 25', 'route' => 'reports.form25', 'permission' => null], ['title' => 'Form A', 'route' => 'reports.formA', 'permission' => null], ['title' => 'Form B', 'route' => 'reports.formB', 'permission' => null], ['title' => 'Form D', 'route' => 'reports.formD', 'permission' => null], //['title' => 'Form S (New)', 'route' => 'reports.formSNew', 'permission' => null], ['title' => 'Form T', 'route' => 'reports.formT', 'permission' => null], ['title' => 'Form U', 'route' => 'reports.formU', 'permission' => null], ['title' => 'Form V', 'route' => 'reports.formV', 'permission' => null], ['title' => 'Form VI', 'route' => 'reports.formVI', 'permission' => null], ['title' => 'Form W', 'route' => 'reports.formW', 'permission' => null], ['title' => 'Form Wage Slip', 'route' => 'reports.form_wage_slip', 'permission' => null], ['title' => 'Form 2 (Returns)', 'route' => 'reports.form2', 'permission' => null], ['title' => 'Form 2 (WK Returns)', 'route' => 'reports.form2-wk', 'permission' => null], ['title' => 'Form III', 'route' => 'reports.formIII', 'permission' => null], ['title' => 'Form IV', 'route' => 'reports.formIV', 'permission' => null], ['title' => 'Form K', 'route' => 'reports.formK', 'permission' => null], ], ], ]; @endphp @php foreach ($sidebarMenu as &$menuItem) { if ($menuItem['title'] === 'Reports' && !empty($menuItem['submenu'])) { // Collect all report route keys (without 'reports.' prefix) $allRoutes = array_map(fn($sub) => str_replace('reports.', '', $sub['route']), $menuItem['submenu']); // Add excluded_routes for each submenu item foreach ($menuItem['submenu'] as &$sub) { $currentRoute = str_replace('reports.', '', $sub['route']); $sub['excluded_routes'] = array_map(fn($x) => "reports.$x", array_diff($allRoutes, [$currentRoute])); } unset($sub); } } unset($menuItem); @endphp