36 lines
1.4 KiB
PHP
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>
|