@if($group->menu_access && is_array($group->menu_access) && count($group->menu_access) > 0)
@php
$menusDisponiveis = [
'dashboard' => [
'label' => 'Dashboard',
'icon' => 'bi-speedometer2',
'description' => 'Painel principal com estatísticas'
],
'clientes' => [
'label' => 'Clientes',
'icon' => 'bi-people',
'description' => 'Cadastro e gestão de clientes'
],
'fornecedores' => [
'label' => 'Fornecedores',
'icon' => 'bi-truck',
'description' => 'Cadastro e gestão de fornecedores'
],
'servicos' => [
'label' => 'Serviços',
'icon' => 'bi-tools',
'description' => 'Catálogo de serviços oferecidos'
],
'orcamentos' => [
'label' => 'Orçamentos',
'icon' => 'bi-file-earmark-text',
'description' => 'Criação e gestão de orçamentos'
],
'vendas' => [
'label' => 'Vendas',
'icon' => 'bi-cart-check',
'description' => 'Processamento e controle de vendas'
],
'financeiro' => [
'label' => 'Financeiro',
'icon' => 'bi-currency-dollar',
'description' => 'Relatório financeiro do sistema'
],
'usuarios' => [
'label' => 'Usuários',
'icon' => 'bi-person',
'description' => 'Gerenciamento de usuários do sistema'
],
'grupos' => [
'label' => 'Grupos',
'icon' => 'bi-people',
'description' => 'Gerenciamento de grupos de usuários'
]
];
@endphp
@foreach($group->menu_access as $menu)
@php
// Processar formato novo (array) ou antigo (string)
$menuKey = '';
$menuLabel = '';
if (is_array($menu)) {
// Formato novo: array com id/nome
if (isset($menu['id'])) {
$reverseMap = [1 => 'dashboard', 2 => 'clientes', 3 => 'fornecedores', 4 => 'servicos', 5 => 'orcamentos', 6 => 'vendas', 7 => 'financeiro', 8 => 'usuarios', 9 => 'grupos'];
$menuKey = $reverseMap[$menu['id']] ?? '';
} elseif (isset($menu['nome'])) {
$menuNome = strtolower($menu['nome']);
$menuNome = str_replace(['ç', 'ã', 'õ', 'á', 'à', 'â', 'é', 'ê', 'í', 'ó', 'ô', 'ú'], ['c', 'a', 'o', 'a', 'a', 'a', 'e', 'e', 'i', 'o', 'o', 'u'], $menuNome);
$menuKey = preg_replace('/[^a-z0-9]/', '', $menuNome);
}
$menuLabel = $menu['nome'] ?? '';
} else {
// Formato antigo: string
$menuKey = $menu;
$menuLabel = $menusDisponiveis[$menuKey]['label'] ?? $menuKey;
}
@endphp
@if($menuKey && isset($menusDisponiveis[$menuKey]))
@endif
@endforeach
Este grupo possui acesso a {{ count($group->menu_access) }} menu(s) do sistema.
Os usuários deste grupo herdam automaticamente o acesso a estes menus.
@else
Nenhum menu configurado: Este grupo não possui acesso a nenhum menu do sistema.
Configure os menus acessíveis editando este grupo.
@endif