From 131cf6ea85d7c8f67e352bd952fede2b81fec9dd Mon Sep 17 00:00:00 2001 From: Gabriel Date: Thu, 20 Aug 2026 15:50:13 -0300 Subject: [PATCH] =?UTF-8?q?Reestrutura=C3=A7=C3=A3o=20da=20tela=20de=20usu?= =?UTF-8?q?=C3=A1rios?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CLAUDE.md | 40 +++- plano.md | 54 +++++ portal_api/management/commands/seed_portal.py | 26 ++- portal_api/serializers.py | 20 ++ static/css/components.css | 149 +++++++++++++ static/css/perfis-acesso.css | 197 ++++++++++++---- static/js/account.js | 87 +++----- static/js/dual-select.js | 152 +++++++++++++ static/js/profiles.js | 196 ++++++++++++---- static/js/users-admin.js | 161 ++++++++------ templates/acessos-gerais.html | 58 ++++- templates/calendario-individual.html | 58 ++++- templates/custo-contratacao.html | 58 ++++- templates/importacao-plano-saude.html | 58 ++++- templates/indicador-desempenho.html | 58 ++++- templates/links-ferramentas.html | 58 ++++- templates/perfis-acesso.html | 116 +++++++++- templates/portal.html | 58 ++++- templates/ramais.html | 58 ++++- templates/usuarios.html | 210 +++++++++++++----- 20 files changed, 1522 insertions(+), 350 deletions(-) create mode 100644 static/js/dual-select.js diff --git a/CLAUDE.md b/CLAUDE.md index 8bff396..a9d518e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -91,7 +91,7 @@ Um único app, `portal_api/`: | `permissions.py` | `PodeGerenciarPermissoes` — gate único de `gerencia_permissoes()` para as telas administrativas; `PermissaoApp(module_key, app_key)` — classe genérica reutilizável que checa `Usuario.permissao_app()`, instanciada por view (ex.: Links & Ferramentas e Ramais, ver seção própria abaixo). | | `views.py` | `login_view`/`logout_view`/`csrf_view` (auth por sessão), `me_view` (usuário + `permissoes_efetivas` já unidas no servidor + `lideranca`/`liderados`), `trocar_senha_view`, `usuarios_resumo_view`, `meus_liderados_view` (ver seção "Liderança"), `departamentos_resumo_view` (ver "Ramais"), `catalogo_view`, e os `ModelViewSet` de perfis/departamentos/usuários/compromissos/favoritos/widgets/notificações dispensadas/links e ferramentas/favoritos de links e ferramentas/seções e linhas de Acessos Gerais/ramais/ausências de ramal/importações de plano de saúde e suas linhas. | | `admin.py` | Django admin básico para todos os models (uso interno, não é a UI do portal). | -| `management/commands/seed_portal.py` | Recria os 8 perfis padrão + `gabriel`/`bruno` + as 13 linhas de `FuncaoTelefonia` + o seed de `CategoriaEvento`. | +| `management/commands/seed_portal.py` | Recria os 8 perfis padrão + `gabriel`/`bruno` + as 13 linhas de `FuncaoTelefonia` + o seed de `CategoriaEvento`; também realinha a sequence do Postgres por trás de `PerfilAcesso.codigo` (ver nota abaixo). | | `management/commands/seed_indicador_desempenho.py` | Popula o primeiro histórico do Indicador de Desempenho (7 `IndicadorCriterio` + 5 `IndicadorPercentualTipo`, idempotente) com os valores da planilha antiga — ver seção "Indicador de Desempenho" abaixo. | | `planos_saude/` | Pacote Python puro (sem ORM) com o pipeline de extração/casamento de "Importação de Plano de Saúde", portado de `projects/project/` — ver seção própria abaixo. | | `custo_contratacao/` | Pacote Python puro (sem ORM) da ferramenta "Simulação de Custo de Contratação" (Geradoc) — `tabelas.py` (seed/default das faixas de INSS/IRRF, hoje editáveis via `ParametroFiscalCustoContratacao`), `calculo.py` (`ParametrosFiscais` dataclass + `calcula_custo_empregado`), `pdf.py` (`gera_pdf_simulacao`, via `reportlab`). Ver seção própria abaixo. | @@ -186,7 +186,7 @@ O item "Calendário De Paula" no menu **não é uma página local** — é um `< ## Ordem de ` + diff --git a/templates/calendario-individual.html b/templates/calendario-individual.html index 0787e73..07d6b0d 100644 --- a/templates/calendario-individual.html +++ b/templates/calendario-individual.html @@ -513,19 +513,62 @@