Quando um documento é editado via OnlyOffice durante a fase de confirmação,
o hash_code agora é regenerado automaticamente para manter o link de
confirmação válido.
- Adiciona botão "Editar com OnlyOffice" na página de confirmação de proposição
- Permite que usuários com permissão de protocolo editem o documento durante a confirmação
- Adiciona validação de hash para segurança do link de confirmação
- Corrige permissão de download para permitir acesso a usuários do protocolo
Remove lógica que substituía URLs de download do OnlyOffice
por endereços internos do Docker. Com OnlyOffice remoto, as
URLs retornadas já são acessíveis publicamente.
- Altera URL padrão do OnlyOffice para https://onlyoffice.legisinc.com.br
- Configura JWT para autenticação com o servidor OnlyOffice remoto
- Remove serviço OnlyOffice local do docker-compose-dev-db.yml
- Adiciona carimbo visual ANTES de assinar digitalmente
- Garante que a assinatura protege o documento completo
- Resolve problema de assinatura corrompida no validador ITI
- Implementa sistema de assinatura digital para matérias legislativas
- Suporte a certificados A1 (.pfx/.p12) com validação de senha
- Carimbo visual no PDF com nome, CPF, data e logo da câmara
- Modal de assinatura com interface amigável
- Campos no modelo: pdf_assinado, assinatura_info, assinado_em, assinado_por
- Migração 0088 para novos campos de assinatura
- Adiciona dependências: pyhanko, pyhanko-certvalidator, cryptography
UI/UX:
- Move subnav (tabs de navegação) para abaixo do menu principal
- Novo estilo minimalista para as tabs com indicador azul
- Scroll horizontal em dispositivos móveis
- Adiciona botão "Gerar PDF para Assinatura" na página de detalhe da matéria
- Integra com API de conversão do OnlyOffice para converter DOCX para PDF
- Botão só aparece quando a matéria possui número de protocolo e documento
- PDF é exibido inline no navegador para facilitar assinatura digital
Signed-off-by: rangelbruno <rangel.bruno@gmail.com>
- Corrige geração de hash_code ao enviar proposições com texto_original (PDF)
- Adiciona verificação de arquivo existente antes de gerar hash no recibo
- Melhora UI/UX: filtros clicáveis na lista de proposições
- Aumenta largura máxima dos containers para 1200px
- Permite acesso de administradores ao detalhe da proposição
- Adiciona botão Receber na lista de proposições pendentes
- Corrige cor do título/cabeçalho das tabelas para preto
- Remove títulos duplicados nos templates
- Home: Adicionado card "Matérias Legislativas" e "Minhas Matérias" para vereadores
- OnlyOffice: Corrigido callback para salvar documentos corretamente na rede Docker
- OnlyOffice: Adicionado botão "Salvar e Voltar" no editor
- Listagem: Nova interface minimalista com cards, status visual e paginação
- Detalhes: Layout moderno com alertas contextuais e ações dinâmicas
- Documentação: Adicionado docs/melhorias-proposicoes-vereador.md
Implementa funcionalidade para gerenciar templates de documentos com
cabeçalho, rodapé e formatação pré-definidos. Novos documentos criados
via OnlyOffice usam esses templates automaticamente.
Funcionalidades:
- CRUD completo para gerenciar templates (/sistema/template-documento/)
- Edição de templates via OnlyOffice com cabeçalho/rodapé
- Busca hierárquica de templates (específico > genérico)
- Templates vinculáveis a tipos específicos (TipoMateriaLegislativa, etc.)
- Criação automática de documento em branco se não enviar arquivo
- Integração com todas as views de download OnlyOffice
Arquivos novos:
- sapl/base/onlyoffice_template_views.py
- sapl/base/migrations/0061_documenttemplate.py
- sapl/utils_template.py
- sapl/templates/base/documenttemplate_*.html
- docs/templates-documentos.md
- Adiciona suporte OnlyOffice para DocumentoAdministrativo, NormaJuridica,
MateriaLegislativa e DocumentoAcessorio
- Cria views específicas por módulo (protocoloadm, norma, materia)
- Adiciona botão "Editar com OnlyOffice" nos templates de detail
- Melhora layout do formulário de Proposição com CSS aprimorado
- Corrige exibição da opção OnlyOffice no formulário de criação
- Remove botão OpenAPI não utilizado dos templates crud
- Adiciona documentação completa em docs/ONLYOFFICE_INTEGRACAO.md
• INSTRUCOES_DEPLOY_TCE.md: Guia detalhado de instalação
• RESUMO_ALTERACOES_TCE.md: Resumo executivo das alterações
• scripts/install_tce_module.sh: Script de instalação automatizada
Inclui:
- Lista de dependências Python (pyhanko, pyhanko-certvalidator)
- Instruções passo a passo para produção
- Checklist de deploy
- Troubleshooting
- Comandos de verificação
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Substitui o navbar padrão do Django Admin pelo navbar do SAPL
para manter consistência visual em toda a aplicação, incluindo
as páginas administrativas do módulo TCE.
- Cria template admin/base_site.html que sobrescreve o template base
- Remove header padrão do Django Admin
- Integra navbar do SAPL com menu dinâmico (navbar.yaml)
- Mantém menu de autenticação com opções do usuário
- Adiciona estilos para ajustar layout do admin
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Substitui o navbar padrão do Django Admin pelo navbar do SAPL
para manter consistência visual em toda a aplicação, incluindo
as páginas administrativas do módulo TCE.
- Cria template admin/base_site.html que sobrescreve o template base
- Remove header padrão do Django Admin
- Integra navbar do SAPL com menu dinâmico (navbar.yaml)
- Mantém menu de autenticação com opções do usuário
- Adiciona estilos para ajustar layout do admin
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implementa logging detalhado para rastrear o fluxo de exclusão de arquivos
no módulo TCE, incluindo logs em stderr, arquivo de debug e headers HTTP.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>