@php
$menusDisponiveis = [
['id' => 1, 'key' => 'dashboard', 'label' => 'Dashboard', 'icon' => 'bi-speedometer2', 'description' => 'Painel principal com estatísticas'],
['id' => 2, 'key' => 'clientes', 'label' => 'Clientes', 'icon' => 'bi-people', 'description' => 'Cadastro e gestão de clientes'],
['id' => 3, 'key' => 'fornecedores', 'label' => 'Fornecedores', 'icon' => 'bi-truck', 'description' => 'Cadastro e gestão de fornecedores'],
['id' => 4, 'key' => 'servicos', 'label' => 'Serviços', 'icon' => 'bi-tools', 'description' => 'Catálogo de serviços oferecidos'],
['id' => 5, 'key' => 'orcamentos', 'label' => 'Orçamentos', 'icon' => 'bi-file-earmark-text', 'description' => 'Criação e gestão de orçamentos'],
['id' => 6, 'key' => 'vendas', 'label' => 'Vendas', 'icon' => 'bi-cart-check', 'description' => 'Processamento e controle de vendas'],
['id' => 7, 'key' => 'financeiro', 'label' => 'Financeiro', 'icon' => 'bi-currency-dollar', 'description' => 'Relatório financeiro do sistema'],
['id' => 8, 'key' => 'usuarios', 'label' => 'Usuários', 'icon' => 'bi-person', 'description' => 'Gerenciamento de usuários do sistema'],
['id' => 9, 'key' => 'grupos', 'label' => 'Grupos', 'icon' => 'bi-people', 'description' => 'Gerenciamento de grupos de usuários']
];
// Processar menus selecionados para compatibilidade com ambos os formatos
$menusSelecionados = [];
if ($group->menu_access && is_array($group->menu_access)) {
foreach ($group->menu_access as $menu) {
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'];
$menusSelecionados[] = $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);
$menuNome = preg_replace('/[^a-z0-9]/', '', $menuNome);
$menusSelecionados[] = $menuNome;
}
} else {
// Formato antigo: string
$menusSelecionados[] = $menu;
}
}
}
@endphp
@foreach($menusDisponiveis as $menu)
@php
$isSelected = in_array($menu['key'], $menusSelecionados);
$menuValue = json_encode(['id' => $menu['id'], 'nome' => $menu['label']]);
@endphp
@endforeach
Importante: Selecione pelo menos um menu para que o grupo tenha acesso ao sistema.
Os usuários deste grupo herdarão automaticamente o acesso a estes menus.