netgescon-master/resources/views/components/menu/sections/permissions.blade.php
2025-07-20 14:57:25 +00:00

36 lines
1.4 KiB
PHP

{{-- Componente per gestire i permessi dei menu --}}
@php
// Definizione permessi per ruolo
$menuPermissions = [
'admin' => ['dashboard', 'stabili', 'condomini', 'contabilita', 'fiscale', 'assemblee', 'risorse-economiche', 'comunicazioni', 'affitti', 'pratiche', 'consumi', 'tickets', 'impostazioni'],
'amministratore' => ['dashboard', 'stabili', 'condomini', 'contabilita', 'fiscale', 'assemblee', 'risorse-economiche', 'comunicazioni', 'affitti', 'pratiche', 'consumi', 'tickets'],
'collaboratore' => ['dashboard', 'stabili', 'condomini', 'contabilita', 'comunicazioni', 'tickets'],
'condomino' => ['dashboard', 'comunicazioni', 'tickets']
];
// Ruolo utente corrente (per ora fisso, poi da auth())
$userRole = 'amministratore'; // auth()->user()->role ?? 'condomino';
$allowedMenus = $menuPermissions[$userRole] ?? [];
function canAccessMenu($menu, $allowedMenus) {
return in_array($menu, $allowedMenus);
}
@endphp
{{-- Funzione helper per i permessi --}}
<script>
window.userPermissions = @json($allowedMenus);
function hasPermission(menu) {
return window.userPermissions.includes(menu);
}
function checkMenuAccess(menu) {
if (!hasPermission(menu)) {
alert('Non hai i permessi per accedere a questa sezione.\nContatta l\'amministratore per maggiori informazioni.');
return false;
}
return true;
}
</script>