{# framework/_admin_nav.html.twig Administration sidebar for cp-shell admin pages (flipped lists reuse this via cp_nav_partial). Mirrors the AccessControl/CompanyAdmin governance surface so the sidebar is consistent whether you're on a bespoke ac_layout page or a flipped list. Every link gated by cp_can_access(route) — hides unregistered routes AND admin modules the user's role can't reach. Set `active` before including. #}{% set active = active|default('') %}{% if cp_can_access('access_control_home') %}<a class="cp-nav-link {{ active=='overview' ? 'active' : '' }}" href="{{ path('access_control_home') }}"> <span class="cp-nav-icon"><i class="material-icons">dashboard</i></span> <span>Overview</span></a>{% endif %}{% if cp_can_access('access_control_users') or cp_can_access('access_control_org') or cp_can_access('access_control_approval') or cp_can_access('access_control_module_access') or cp_can_access('system_admin_user_list') or cp_can_access('approval_settings') or cp_can_access('module_access_settings') or cp_can_access('role_and_company') %}<div class="cp-nav-sec">Access & Approval</div>{% if cp_can_access('access_control_users') %}<a class="cp-nav-link {{ active=='users' ? 'active' : '' }}" href="{{ path('access_control_users') }}"> <span class="cp-nav-icon"><i class="material-icons">group</i></span> <span>Users & Roles</span></a>{% endif %}{% if cp_can_access('access_control_org') %}<a class="cp-nav-link {{ active=='org' ? 'active' : '' }}" href="{{ path('access_control_org') }}"> <span class="cp-nav-icon"><i class="material-icons">account_balance</i></span> <span>Departments & Positions</span></a>{% endif %}{% if cp_can_access('access_control_approval') %}<a class="cp-nav-link {{ active=='approval' ? 'active' : '' }}" href="{{ path('access_control_approval') }}"> <span class="cp-nav-icon"><i class="material-icons">device_hub</i></span> <span>Approval Layers</span></a>{% endif %}{% if cp_can_access('access_control_module_access') %}<a class="cp-nav-link {{ active=='access' ? 'active' : '' }}" href="{{ path('access_control_module_access') }}"> <span class="cp-nav-icon"><i class="material-icons">lock</i></span> <span>Module Access</span></a>{% endif %}{% if cp_can_access('system_admin_user_list') %}<a class="cp-nav-link {{ active=='users_legacy' ? 'active' : '' }}" href="{{ path('system_admin_user_list') }}"> <span class="cp-nav-icon"><i class="material-icons">settings_applications</i></span> <span>User Directory</span></a>{% endif %}{% if cp_can_access('role_and_company') %}<a class="cp-nav-link {{ active=='role_company' ? 'active' : '' }}" href="{{ path('role_and_company') }}"> <span class="cp-nav-icon"><i class="material-icons">security</i></span> <span>Roles & Company</span></a>{% endif %}{% if cp_can_access('approval_settings') %}<a class="cp-nav-link {{ active=='approval_settings' ? 'active' : '' }}" href="{{ path('approval_settings') }}"> <span class="cp-nav-icon"><i class="material-icons">tune</i></span> <span>Approval Settings</span></a>{% endif %}{% if cp_can_access('module_access_settings') %}<a class="cp-nav-link {{ active=='module_access_settings' ? 'active' : '' }}" href="{{ path('module_access_settings') }}"> <span class="cp-nav-icon"><i class="material-icons">check_box</i></span> <span>Module Access Settings</span></a>{% endif %}{% endif %}{% if cp_can_access('company_admin_home') or cp_can_access('file_management_list') or cp_can_access('company_list') or cp_can_access('company_letterhead_list') or cp_can_access('document_prefix_list') or cp_can_access('notice_admin_list') %}<div class="cp-nav-sec">Company & Files</div>{% if cp_can_access('company_admin_home') %}<a class="cp-nav-link {{ active=='company' ? 'active' : '' }}" href="{{ path('company_admin_home') }}"> <span class="cp-nav-icon"><i class="material-icons">business</i></span> <span>Company Admin</span></a>{% endif %}{% if cp_can_access('company_list') %}<a class="cp-nav-link {{ active=='company_list' ? 'active' : '' }}" href="{{ path('company_list') }}"> <span class="cp-nav-icon"><i class="material-icons">domain</i></span> <span>Companies</span></a>{% endif %}{% if cp_can_access('company_letterhead_list') %}<a class="cp-nav-link {{ active=='letterheads' ? 'active' : '' }}" href="{{ path('company_letterhead_list') }}"> <span class="cp-nav-icon"><i class="material-icons">description</i></span> <span>Letterheads</span></a>{% endif %}{% if cp_can_access('document_prefix_list') %}<a class="cp-nav-link {{ active=='doc_prefixes' ? 'active' : '' }}" href="{{ path('document_prefix_list') }}"> <span class="cp-nav-icon"><i class="material-icons">local_offer</i></span> <span>Document Prefixes</span></a>{% endif %}{% if cp_can_access('notice_admin_list') %}<a class="cp-nav-link {{ active=='notices_admin' ? 'active' : '' }}" href="{{ path('notice_admin_list') }}"> <span class="cp-nav-icon"><i class="material-icons">announcement</i></span> <span>Notices</span></a>{% endif %}{% if cp_can_access('file_management_list') %}<a class="cp-nav-link {{ active=='files' ? 'active' : '' }}" href="{{ path('file_management_list') }}"> <span class="cp-nav-icon"><i class="material-icons">folder</i></span> <span>Files</span></a>{% endif %}{% endif %}{% if cp_can_access('onboarding_home') or cp_can_access('company_readiness') or cp_can_access('config_readiness') %}<div class="cp-nav-sec">Readiness & Setup</div>{# The setup page itself belonged in this section from the start: Company Readiness and Setup Health both report on a configuration that /onboarding is where you actually CHANGE. It was only ever reachable from the legacy skeleton menu. #}{% if cp_can_access('onboarding_home') %}<a class="cp-nav-link {{ active=='onboarding' ? 'active' : '' }}" href="{{ path('onboarding_home') }}"> <span class="cp-nav-icon"><i class="material-icons">flight_takeoff</i></span> <span>Setup & Onboarding</span></a>{% endif %}{% if cp_can_access('company_readiness') %}<a class="cp-nav-link {{ active=='readiness' ? 'active' : '' }}" href="{{ path('company_readiness') }}"> <span class="cp-nav-icon"><i class="material-icons">assignment_turned_in</i></span> <span>Company Readiness</span></a>{% endif %}{% if cp_can_access('config_readiness') %}<a class="cp-nav-link {{ active=='setup_health' ? 'active' : '' }}" href="{{ path('config_readiness') }}"> <span class="cp-nav-icon"><i class="material-icons">local_hospital</i></span> <span>Setup Health</span></a>{% endif %}{% endif %}{% if cp_can_access('system_admin_dashboard') or cp_can_access('system_admin_module_status') or cp_can_access('notification_config_list') or cp_can_access('change_log') %}<div class="cp-nav-sec">System</div>{% if cp_can_access('system_admin_dashboard') %}<a class="cp-nav-link {{ active=='system_dashboard' ? 'active' : '' }}" href="{{ path('system_admin_dashboard') }}"> <span class="cp-nav-icon"><i class="material-icons">healing</i></span> <span>Activity Dashboard</span></a>{% endif %}{% if cp_can_access('system_admin_module_status') %}<a class="cp-nav-link {{ active=='module_status' ? 'active' : '' }}" href="{{ path('system_admin_module_status') }}"> <span class="cp-nav-icon"><i class="material-icons">view_module</i></span> <span>Module Status</span></a>{% endif %}{% if cp_can_access('notification_config_list') %}<a class="cp-nav-link {{ active=='notif_config' ? 'active' : '' }}" href="{{ path('notification_config_list') }}"> <span class="cp-nav-icon"><i class="material-icons">notifications_active</i></span> <span>Notification Config</span></a>{% endif %}{% if cp_can_access('change_log') %}<a class="cp-nav-link {{ active=='change_log' ? 'active' : '' }}" href="{{ path('change_log') }}"> <span class="cp-nav-icon"><i class="material-icons">history</i></span> <span>Change Log</span></a>{% endif %}{% endif %}