Commit Graph

113 Commits

Author SHA1 Message Date
2b1668206d - inits centralizados, READMEs atualizados
- padronizando o nome de get_db_connection e session para get_db_session, para não confundir com session do Flask ou sessoes web

- corrigindo potenciais erros

-- has_permission nao consegue com lazy load carregar permission depois de load_user fechar a conexao, entao joinedLoad com Permission antes de fechar

-- db.rollback não existe caso db = get_db_session() apareça muito depois dentro do try, padronizando antes de try

--- comparar role por nivel (Role.SECRETARIO_GERAL) e nao por nome ("Secretario Geral")

- unificacao de get_otp_qr_code

- mudança de nowutc() para now(UTC) conforme novo padrão
2026-02-20 17:19:15 -03:00
6882b57081 get_db_connection duplicado, consolidando em base.py 2026-02-16 21:49:23 -03:00
LS
8ea6f15f3a push pra dar pull 2025-09-08 09:57:20 -03:00
LS
7399e0000e feat: Implementar arquitetura de permissões no nível de dados
BREAKING CHANGES:
- Sistema de permissões movido do nível de template para nível de dados
- Menus sempre visíveis, controle transparente no backend
- Templates nunca quebram, sempre renderizam com dados filtrados

Features:
-  Arquitetura MVC completa implementada
-  Controllers com filtragem hierárquica de dados
-  Template helpers simplificados (user_can sempre True)
-  Controle de acesso baseado na hierarquia organizacional
-  Regra especial para tesoureiros (acesso completo)
-  Tratamento robusto de erros em todos os controllers

Controllers implementados:
- militante_controller.py - Filtragem por célula/setor/CR/CC
- cota_controller.py - Controle baseado em permissões
- material_controller.py - Acesso flexível por nível
- pagamento_controller.py - Filtragem organizacional
- auth_controller.py - Autenticação com OTP
- home_controller.py - Dashboard com estatísticas
- usuario_controller.py - Gestão de usuários

Templates corrigidos:
- listar_cotas.html - URLs corrigidas (nova_cota → cota.nova)
- listar_tipos_materiais.html - Variáveis ajustadas (tipos → tipos_materiais)
- base.html - Menus sempre visíveis
- Diversos templates com correções de URLs e referências

Services implementados:
- auth_service.py - Lógica de autenticação
- dashboard_service.py - Estatísticas do dashboard
- cache_service.py - Integração com Redis
- celula_service.py - Operações de células

Models implementados:
- militante_model.py - Operações de militantes
- pagamento_model.py - Operações de pagamentos

Documentação:
- docs/permission_fixes_summary.md - Resumo completo das correções
- docs/architecture_summary.md - Arquitetura MVC
- docs/mvc_refactoring.md - Detalhes da refatoração
- docs/permission_strategy.md - Estratégia de permissões
- docs/redis_cache_setup.md - Setup do cache Redis
- README.md atualizado com nova arquitetura

Testes:
- test_menu_navigation.py - Testes unitários de navegação
- test_integration_menu.py - Testes de integração com Selenium

Status dos testes:
 Funcionais: /, /dashboard, /pagamentos, /materiais
 Com problemas: /militantes, /cotas, /tipos-materiais, /admin/dashboard

Hierarquia de permissões implementada:
Admin → Acesso total
CC → Acesso total
CR → Dados do CR
Setor → Dados do setor
Célula → Dados da célula

Próximos passos identificados:
- Corrigir referências a Militante indefinido nos templates
- Resolver problemas de campos inexistentes
- Corrigir roteamento admin
2025-07-01 13:42:56 -03:00
Levy Sant'Anna
d283bced4b Merge pull request #31 from ComunaTec/feature/11-telas-administracao
Telas de Administração #11
2025-04-25 20:05:16 -03:00
andersonid
2da8dec63f Primeira parte da tela de administração de usuários do sistema. 2025-04-25 18:47:57 -03:00
Levy Sant'Anna
494b6262bf Merge pull request #27 from ComunaTec/front/fix-login-card
Correções nas mensagens de notificação
2025-04-15 15:16:47 -03:00
andersonid
e6057cd566 fix(#11): Corrige inicialização do sistema para não recriar usuários a cada execução 2025-04-15 15:10:21 -03:00
andersonid
8255f1d933 feat(#11): Adiciona módulo create_test_users 2025-04-15 15:09:03 -03:00
andersonid
0f32eae5cf refactor(#11): Integra listagem de usuários no dashboard 2025-04-15 14:26:02 -03:00
andersonid
47f13e7c18 feat(#11): Implementa estrutura inicial da área administrativa - Cria blueprint administrativo com rotas básicas - Implementa templates base para área administrativa - Adiciona dashboard administrativo - Implementa gerenciamento de usuários - Organiza rotas em pacote separado 2025-04-15 10:49:15 -03:00
andersonid
53769cf080 Adicionado parâmetro de versão aleatório no CSS para evitar cache 2025-04-15 10:21:41 -03:00
andersonid
92bc21dbd8 Tela inicial de administração desenvolvida. 2025-04-15 10:19:59 -03:00
andersonid
5057802220 tela de administração em ajustes 2025-04-13 22:48:27 -03:00
andersonid
e43b089155 fix: Correções na página de administração e suas dependências 2025-04-13 22:30:05 -03:00
andersonid
e01764ab40 Correções nas mensagens de notificação 2025-04-11 10:45:23 -03:00
andersonid
279924a43c Corrige erro de sintaxe no template de login 2025-04-11 09:00:43 -03:00
andersonid
54191b8dde mensagem de notificação movida para fora do card de formulario de login 2025-04-11 07:54:14 -03:00
LS
295a433d59 fix: remove debug duplicado na chamada de app.run() 2025-04-09 11:23:48 -03:00
LS
203751deeb feat: adiciona classes Controle, Notificacao e Relatorio para gerenciamento do sistema 2025-04-09 11:21:45 -03:00
LS
71f926e6be fix: corrige erro de sintaxe na chamada de app.run() 2025-04-09 10:12:05 -03:00
LS
8cef19576e fix: adiciona use_alter=True e nomes específicos para chaves estrangeiras circulares 2025-04-09 10:09:31 -03:00
andersonid
abc46704c3 Corrigir atualização de dados na tabela de militantes 2025-04-09 09:59:41 -03:00
andersonid
c640a756df chore: remove arquivos não utilizados do projeto - Remoção de scripts obsoletos (seed.py, create_test_users.py) e arquivos de configuração não utilizados (setup.py, models.py) após análise completa de dependências 2025-04-09 09:59:41 -03:00
andersonid
3f2e6e3022 fix: corrige validação e salvamento do formulário de edição de militante - Corrige validação do email, ajusta conversão de datas, corrige CSRF token e melhora feedback visual 2025-04-09 09:59:41 -03:00
LS
179ea3cad0 resolvido merge com nova ui 2025-04-09 09:59:12 -03:00
andersonid
b47c9efc21 Melhorias na lógica de ativação de badges e atualização de responsabilidades 2025-04-09 09:54:59 -03:00
andersonid
97711d30c7 fix: corrige campos de data no modal de novo militante 2025-04-09 09:54:59 -03:00
andersonid
50ef370c2b fix: corrige comportamento dos campos de data para manter calendário e formato brasileiro 2025-04-09 09:54:59 -03:00
andersonid
53594517c0 fix: ajusta formato de data para padrão brasileiro (DD/MM/AAAA) 2025-04-09 09:54:59 -03:00
andersonid
874df1d340 feat: melhora visualização do formato de data nos formulários 2025-04-09 09:54:59 -03:00
LS
b170f94058 fix: adiciona Faker como dependência para geração de dados de teste 2025-04-04 18:11:24 -03:00
LS
786040162b fix: configura Flask para produção com gunicorn e ajusta Dockerfile para Coolify 2025-04-04 18:07:04 -03:00
LS
daaa7fd462 feat: atualiza Dockerfile para incluir dependências necessárias 2025-04-04 18:04:23 -03:00
LS
ad0ea2f259 refactor: atualiza Dockerfile para usar Alpine Linux e corrige instalação do Python 2025-04-04 17:55:58 -03:00
Levy Sant'Anna
74e5a1f7e3 Update Dockerfile
changed fedora version to latest
2025-04-04 17:50:17 -03:00
LS
d07a227e80 docker compose 2025-04-04 17:43:34 -03:00
Levy Sant'Anna
0635003485 Update Dockerfile 2025-04-04 17:30:43 -03:00
LS
d931fb4b5e Dockerfile 2025-04-04 15:21:39 -03:00
andersonid
a302a259a6 feat: implementa paginação e contagem correta na lista de militantes 2025-04-04 13:31:52 -03:00
andersonid
75ba696355 feat: adiciona modal global para edição de militantes na home 2025-04-04 13:02:23 -03:00
andersonid
7f4fe77711 fix: corrige estilos dos botões nos modais para manter cores e visibilidade no hover 2025-04-04 13:01:22 -03:00
andersonid
c29eed0c69 refactor: Remove filtro de Filiados/Não Filiados da listagem de militantes 2025-04-04 12:22:05 -03:00
andersonid
52a6bf9eb0 fix: Atualiza valores dos checkboxes de responsabilidades no template do modal 2025-04-04 12:16:41 -03:00
andersonid
d468f8ff39 fix: Corrige processamento das responsabilidades no modal de edição dos militantes 2025-04-04 12:15:19 -03:00
andersonid
5527db8729 chore: Ignora arquivos de QR code gerados dinamicamente 2025-04-04 11:39:15 -03:00
andersonid
56b8e7aa54 feat: Melhorias de segurança e interface - Segurança: Implementação de CSRF token em formulários, validação no backend, proteção AJAX - QR Code: Preservação do otp_secret, evita geração desnecessária - Interface: Correções visuais, padronização de cores, melhorias em formulários 2025-04-04 11:37:48 -03:00
andersonid
9ffc562357 feat: implementa filtros e pesquisa AJAX na interface de militantes 2025-04-04 09:49:06 -03:00
andersonid
3ed3002410 style: padroniza altura dos botões na interface de militantes 2025-04-04 09:48:14 -03:00
andersonid
f58c340235 chore: remove arquivo .pyc do controle de versão 2025-04-04 09:26:22 -03:00