Commit Graph

  • e21b1646a7 feat: redesign da tela de login com identidade GTI GustavoandClaude Sonnet 5 2026-08-13 21:57:37 -03:00
  • 310f5e1f71 feat: sistema de design (tokens claro/escuro) + sidebar responsiva em base.html GustavoandClaude Sonnet 5 2026-08-13 21:53:30 -03:00
  • 7656f2261e docs: corrige README contraditorio sobre HTTP Basic e SESSION_SECRET GustavoandClaude Sonnet 5 2026-08-13 21:19:09 -03:00
  • e5f5d4211c fix: desativar/rebaixar funcionario nao revogava sessao ativa (ate 12h) GustavoandClaude Sonnet 5 2026-08-13 21:18:58 -03:00
  • ba8ffaede7 fix: bloqueia open-redirect via next=/\evil.com no login GustavoandClaude Sonnet 5 2026-08-13 21:18:46 -03:00
  • aa1c528197 fix: botao Sair quebrado em /clientes, /log e /gerador-chave (csrf_token vazio) GustavoandClaude Sonnet 5 2026-08-13 21:18:39 -03:00
  • a71b990a3c docs: documenta login por sessao e perfis admin/padrao no README GustavoandClaude Sonnet 5 2026-08-13 21:04:37 -03:00
  • 64990b6db2 fix: atualiza tests/test_main.py para login por sessao GustavoandClaude Sonnet 5 2026-08-13 21:01:36 -03:00
  • 81f730df9e feat: perfil admin/padrao em funcionarios, protege ultimo admin GustavoandClaude Sonnet 5 2026-08-13 20:56:52 -03:00
  • a2a5fc7905 feat: nav com botao Sair, Minha conta e Funcionarios so para admin GustavoandClaude Sonnet 5 2026-08-13 20:51:52 -03:00
  • 09424e8afb feat: liga login por sessao, middleware de usuario e handler de NaoAutenticado GustavoandClaude Sonnet 5 2026-08-13 20:49:05 -03:00
  • 4a5c70861d feat: tela Minha conta para trocar a propria senha GustavoandClaude Sonnet 5 2026-08-13 20:44:15 -03:00
  • c4079b3e47 feat: rotas de login/logoff (app/routers/auth.py) GustavoandClaude Sonnet 5 2026-08-13 20:38:43 -03:00
  • 1b80290f6f feat: login por sessao (troca HTTP Basic), UsuarioLogado, exigir_admin GustavoandClaude Sonnet 5 2026-08-13 20:33:30 -03:00
  • 718e845651 feat: coluna PERFIL em FUNCIONARIO_PAINEL + contar_admins_ativos GustavoandClaude Sonnet 5 2026-08-13 20:29:45 -03:00
  • 95b1da7c10 feat: token de sessao assinado (app/session.py) GustavoandClaude Sonnet 5 2026-08-13 20:25:18 -03:00
  • 361c2ca770 feat: gerador de chave de instalacao (aluguel/compra) na tela /gerador-chave Gustavo 2026-08-13 16:08:48 -03:00
  • 3158a416a9 feat: preenchimento automatico de dados do cliente a partir do CNPJ Gustavo 2026-08-13 15:05:26 -03:00
  • d18a5e6e29 feat: cabecalhos clicaveis para ordenar (crescente/decrescente) a lista de clientes Gustavo 2026-08-13 14:37:25 -03:00
  • 2f1d008404 fix: busca de clientes restrita ao campo escolhido em ordenar_por Gustavo 2026-08-13 14:24:09 -03:00
  • 8d83122e98 feat: login individual por funcionario (cadastro, senha com hash, ativar/desativar) Gustavo 2026-08-13 14:19:58 -03:00
  • dad1abf30b fix: parametro correto da API de rows do n8n (limit, nao take) Gustavo 2026-08-13 14:14:40 -03:00
  • 9ed0bf57c2 feat: log de acoes/envios, ordenacao/filtro, codigo sequencial, campos opcionais Gustavo 2026-08-13 14:04:24 -03:00
  • bb8fd596b1 feat: protecao CSRF (double-submit cookie) e paginacao da lista de clientes Gustavo 2026-08-13 11:02:17 -03:00
  • 96cbd8a294 fix: normalizar CNPJ/telefone de CLIENTE antes de gravar (sem mascara) Gustavo 2026-08-13 10:54:37 -03:00
  • 9b04877d59 feat: formulario de edicao de contato na tela de detalhe do cliente Gustavo 2026-08-13 10:52:50 -03:00
  • 0d839949fe fix: validacao de formulario, auth fail-closed, loop de confirmacao, hardening e docs (achados da revisao final) GustavoandClaude Sonnet 5 2026-08-13 10:46:23 -03:00
  • 145f784577 feat: monta app final (main.py) e Docker end-to-end Gustavo 2026-08-13 10:33:29 -03:00
  • 9ebe6b1c68 feat: pagina do gerador de chave manual (client-side, sem gravar no banco) Gustavo 2026-08-13 10:28:52 -03:00
  • f1139e8b3a feat: rotas de CLIENTE_CONTATO na tela de detalhe do cliente Gustavo 2026-08-13 10:25:20 -03:00
  • 2c7bf429fc fix: DV usa valor normalizado, botao de confirmar DV invalido, TemplateResponse sem warning Gustavo 2026-08-13 10:12:26 -03:00
  • c7f2c5f92b feat: rotas e telas de CLIENTE (listar, criar, editar, detalhe, excluir) Gustavo 2026-08-13 10:07:15 -03:00
  • e93a0f3d1d feat: login HTTP Basic Gustavo 2026-08-13 10:00:52 -03:00
  • f510a1e17e feat: leitura somente-leitura de status em Clientes_Chaves Gustavo 2026-08-13 09:58:21 -03:00
  • fd4b749c87 feat: CRUD de CLIENTE_CONTATO Gustavo 2026-08-13 09:54:26 -03:00
  • 680b7433a4 fix: garantir limpeza de CLIENTE_CONTATO mesmo se assert falhar (test_excluir_cliente_com_contato_bloqueia) Gustavo 2026-08-13 09:51:13 -03:00
  • 2ecf866678 feat: CRUD de CLIENTE Gustavo 2026-08-13 09:47:52 -03:00
  • 880329bb8e feat: factory de conexao MySQL Gustavo 2026-08-13 09:45:26 -03:00
  • 669e864141 feat: normalizacao de documento + validacao de DV (CPF/CNPJ alfanumerico) Gustavo 2026-08-13 09:42:10 -03:00
  • 143ad71822 chore: scaffold painel-clientes-web Gustavo 2026-08-13 09:39:28 -03:00