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

54 lines
1.5 KiB
PHP

{{-- Helper per Menu con Permessi usando la classe MenuHelper --}}
@php
use App\Helpers\MenuHelper;
// Funzioni wrapper per compatibilità con i template esistenti (solo se non esistono già)
if (!function_exists('canUserAccessMenu')) {
function canUserAccessMenu($menuSection, $userRole = null) {
return MenuHelper::canUserAccessMenu($menuSection, $userRole);
}
}
if (!function_exists('canUserAccessAnyMenu')) {
function canUserAccessAnyMenu($menuSections, $userRole = null) {
return MenuHelper::canUserAccessAnyMenu($menuSections, $userRole);
}
}
if (!function_exists('getCurrentUserRole')) {
function getCurrentUserRole() {
return MenuHelper::getCurrentUserRole();
}
}
if (!function_exists('hasMinimumRole')) {
function hasMinimumRole($requiredRole, $userRole = null) {
return MenuHelper::hasMinimumRole($requiredRole, $userRole);
}
}
@endphp
{{--
ESEMPI DI UTILIZZO:
Per includere una sezione solo se l'utente ha i permessi:
@if(canUserAccessMenu('stabili'))
@include('components.menu.sections.stabili')
@endif
Per verificare permessi multipli:
@if(canUserAccessAnyMenu(['contabilita', 'fiscale']))
<div>Sezione Economica</div>
@endif
Per verificare ruolo minimo:
@if(hasMinimumRole('amministratore'))
<div>Solo amministratori e superiori</div>
@endif
Oppure utilizzare direttamente la classe:
@if(App\Helpers\MenuHelper::canUserAccessMenu('stabili'))
@include('components.menu.sections.stabili')
@endif
--}}