feat: update sidebar links to use resolve function and enhance permissions structure for recursos humanos, including new actions for atestados and ausências

This commit is contained in:
2025-12-11 17:01:47 -03:00
parent 84dbe50fce
commit 4eb49d3e63
2 changed files with 163 additions and 26 deletions

View File

@@ -77,27 +77,59 @@
{
label: 'Dashboard',
icon: 'Home',
link: '/'
link: resolve('/')
},
{
label: 'Gestão de Pessoas',
icon: 'Users',
link: '/recursos-humanos',
permission: { recurso: 'funcionarios', acao: 'ver' },
link: resolve('/recursos-humanos'),
permission: { recurso: 'gestao_pessoas', acao: 'ver' },
submenus: [
{
label: 'Funcionários',
link: '/recursos-humanos/funcionarios',
permission: { recurso: 'funcionarios', acao: 'listar' }
link: resolve('/recursos-humanos/funcionarios'),
permission: { recurso: 'funcionarios', acao: 'listar' },
exact: true
},
{
label: 'Cadastro de Funcionários',
link: resolve('/recursos-humanos/funcionarios/cadastro'),
permission: { recurso: 'funcionarios', acao: 'criar' }
},
{
label: 'Exclusão de Funcionários',
link: resolve('/recursos-humanos/funcionarios/excluir'),
permission: { recurso: 'funcionarios', acao: 'excluir' }
},
{
label: 'Férias',
link: resolve('/recursos-humanos/ferias'),
permission: { recurso: 'ferias', acao: 'dashboard' }
},
{
label: 'Atestados de Licenças',
link: resolve('/recursos-humanos/atestados-licencas'),
permission: { recurso: 'atestados_licencas', acao: 'listar' }
},
{
label: 'Controle de Ponto',
link: resolve('/recursos-humanos/controle-ponto'),
permission: { recurso: 'ponto', acao: 'ver' },
exact: true
},
{
label: 'Banco de Horas',
link: resolve('/recursos-humanos/controle-ponto/banco-horas'),
permission: { recurso: 'banco_horas', acao: 'ver' }
},
{
label: 'Registro de Ponto',
link: '/recursos-humanos/registro-pontos',
link: resolve('/recursos-humanos/registro-pontos'),
permission: { recurso: 'ponto', acao: 'ver' }
},
{
label: 'Símbolos',
link: '/recursos-humanos/simbolos',
link: resolve('/recursos-humanos/simbolos'),
permission: { recurso: 'simbolos', acao: 'listar' }
}
]
@@ -105,23 +137,23 @@
{
label: 'Pedidos',
icon: 'ClipboardCheck',
link: '/pedidos',
link: resolve('/pedidos'),
permission: { recurso: 'pedidos', acao: 'listar' },
submenus: [
{
label: 'Meus Pedidos',
link: '/pedidos',
link: resolve('/pedidos'),
permission: { recurso: 'pedidos', acao: 'listar' },
excludePaths: ['/pedidos/aceite', '/pedidos/minhas-analises']
},
{
label: 'Pedidos para Aceite',
link: '/pedidos/aceite',
link: resolve('/pedidos/aceite'),
permission: { recurso: 'pedidos', acao: 'aceitar' }
},
{
label: 'Minhas Análises',
link: '/pedidos/minhas-analises',
link: resolve('/pedidos/minhas-analises'),
permission: { recurso: 'pedidos', acao: 'aceitar' }
}
]
@@ -153,17 +185,17 @@
{
label: 'Fluxos & Processos',
icon: 'GitMerge',
link: '/fluxos',
link: resolve('/fluxos'),
permission: { recurso: 'fluxos_instancias', acao: 'listar' },
submenus: [
{
label: 'Meus Processos',
link: '/fluxos/meus-processos',
link: resolve('/fluxos/meus-processos'),
permission: { recurso: 'fluxos_instancias', acao: 'listar' }
},
{
label: 'Modelos de Fluxo',
link: '/fluxos/templates',
link: resolve('/fluxos/templates'),
permission: { recurso: 'fluxos_templates', acao: 'listar' }
}
]
@@ -171,7 +203,7 @@
{
label: 'Painel de TI',
icon: 'Settings',
link: '/ti',
link: resolve('/ti'),
permission: { recurso: 'ti_painel_administrativo', acao: 'ver' }
}
];

View File

@@ -8,15 +8,9 @@ const PERMISSOES_BASE = {
permissoes: [
// Funcionários
{
nome: 'funcionarios.dashboard',
nome: 'funcionarios.detalhar',
recurso: 'funcionarios',
acao: 'dashboard',
descricao: 'Acessar o painel de funcionários'
},
{
nome: 'funcionarios.ver',
recurso: 'funcionarios',
acao: 'ver',
acao: 'detalhar',
descricao: 'Visualizar detalhes de funcionários'
},
{
@@ -25,6 +19,12 @@ const PERMISSOES_BASE = {
acao: 'listar',
descricao: 'Listar funcionários'
},
{
nome: 'funcionarios.ver',
recurso: 'funcionarios',
acao: 'ver',
descricao: 'Visualizar dados completos de funcionários'
},
{
nome: 'funcionarios.criar',
recurso: 'funcionarios',
@@ -50,11 +50,116 @@ const PERMISSOES_BASE = {
descricao: 'Aprovar ausências de funcionários'
},
{
nome: 'funcionarios.aprovar_ferias',
recurso: 'funcionarios',
acao: 'aprovar_ferias',
nome: 'ferias.aprovar',
recurso: 'ferias',
acao: 'aprovar',
descricao: 'Aprovar férias de funcionários'
},
{
nome: 'ferias.dashboard',
recurso: 'ferias',
acao: 'dashboard',
descricao: 'Acessar o painel de férias de funcionários'
},
// Atestados e Licenças
{
nome: 'atestados_licencas.listar',
recurso: 'atestados_licencas',
acao: 'listar',
descricao: 'Listar atestados e licenças'
},
{
nome: 'atestados_licencas.criar',
recurso: 'atestados_licencas',
acao: 'criar',
descricao: 'Registrar novos atestados ou licenças'
},
{
nome: 'atestados_licencas.editar',
recurso: 'atestados_licencas',
acao: 'editar',
descricao: 'Editar atestados ou licenças'
},
{
nome: 'atestados_licencas.excluir',
recurso: 'atestados_licencas',
acao: 'excluir',
descricao: 'Excluir atestados ou licenças'
},
{
nome: 'atestados_licencas.dashboard',
recurso: 'atestados_licencas',
acao: 'dashboard',
descricao: 'Acessar painel e gráficos de atestados e licenças'
},
// Ausências
{
nome: 'ausencias.listar',
recurso: 'ausencias',
acao: 'listar',
descricao: 'Listar solicitações de ausência'
},
{
nome: 'ausencias.criar',
recurso: 'ausencias',
acao: 'criar',
descricao: 'Criar solicitações de ausência'
},
{
nome: 'ausencias.aprovar',
recurso: 'ausencias',
acao: 'aprovar',
descricao: 'Aprovar solicitações de ausência'
},
{
nome: 'ausencias.reprovar',
recurso: 'ausencias',
acao: 'reprovar',
descricao: 'Reprovar solicitações de ausência'
},
{
nome: 'ausencias.excluir',
recurso: 'ausencias',
acao: 'excluir',
descricao: 'Excluir solicitações de ausência'
},
// Ponto e Banco de Horas
{
nome: 'ponto.ver',
recurso: 'ponto',
acao: 'ver',
descricao: 'Visualizar telas e relatórios de ponto'
},
{
nome: 'ponto.registrar',
recurso: 'ponto',
acao: 'registrar',
descricao: 'Registrar batidas de ponto'
},
{
nome: 'ponto.editar',
recurso: 'ponto',
acao: 'editar',
descricao: 'Editar registros de ponto (homologação)'
},
{
nome: 'banco_horas.ver',
recurso: 'banco_horas',
acao: 'ver',
descricao: 'Visualizar saldo e extrato de banco de horas'
},
{
nome: 'banco_horas.ajustar',
recurso: 'banco_horas',
acao: 'ajustar',
descricao: 'Criar e aprovar ajustes de banco de horas'
},
{
nome: 'banco_horas.configurar',
recurso: 'banco_horas',
acao: 'configurar',
descricao: 'Configurar regras e alertas de banco de horas'
},
// Símbolos
{
nome: 'simbolos.dashboard',