* Verifica permissão de acesso em documentos administrativos
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Serve arquivos de mídia via Django com X-Accel-Redirect
Todo /media/ passa pelo Django, que verifica a permissão dos arquivos de
documentos administrativos e proposições e define Content-Type e
Content-Disposition. O nginx entrega o arquivo por uma location interna.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Recusa upload de arquivos com conteúdo executável pelo navegador
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Oculta sessões não iniciadas também na API e nos arquivos de mídia
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Valida arquivo antes de gravar no cadastro de acessórios em lote
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Identifica conteúdo ativo também pelo tipo MIME da extensão
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Não redireciona arquivos de mídia para troca de senha
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Ajusta regras de acesso a arquivos de documentos e proposições
Documentos administrativos e acessórios ficam ocultos ao público quando a
configuração é restritiva ou o documento é restrito. O texto original da
proposição nunca é público. Arquivos de sessões plenárias são públicos.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Aplica regras da página de detalhe e de sessões ocultas aos arquivos
No modo restritivo, os arquivos de documentos administrativos exigem a
mesma permissão da página de detalhe. Arquivos de sessões ocultas e de
seus oradores e justificativas não são servidos ao público.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Usa permissões por estado no acesso ao texto original da proposição
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Potential fix for pull request finding 'CodeQL / Uncontrolled data used in path expression'
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* Potential fix for pull request finding 'CodeQL / Uncontrolled data used in path expression'
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* Centraliza validação de caminho dos arquivos de mídia
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Ajusta teste de sessão oculta à regra de data da sessão
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Update sapl/materia/views.py
Co-authored-by: joaohortsenado <100957576+joaohortsenado@users.noreply.github.com>
* Update sapl/base/media.py
Co-authored-by: joaohortsenado <100957576+joaohortsenado@users.noreply.github.com>
* Update sapl/base/media.py
Co-authored-by: joaohortsenado <100957576+joaohortsenado@users.noreply.github.com>
* Exige permissão de proposição para receber e confirmar proposições
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Corrige redirecionamento do PDF de acessórios de documento administrativo
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Usa a mesma configuração na página e nos arquivos de documento administrativo
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Remove XML da lista de tipos de texto aceitos no upload
O upload de XML já era recusado pela checagem de conteúdo ativo.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Envia ao Django só os arquivos de mídia que dependem de autorização
Os demais arquivos de /media/ voltam a ser servidos direto pelo nginx,
com nosniff e download forçado para extensões ativas.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Detecta extensões ativas sem depender de /etc/mime.types
A imagem python:3.12-slim não tem /etc/mime.types, então mimetypes não
reconhecia .xht, .xslt, .kml etc. e o upload/entrega deixavam passar.
EXTENSOES_ATIVAS passa a cobrir as mesmas extensões do nginx (mais .kml e
.xspf), com teste que mantém as duas listas iguais. media-types entra na
imagem para o tipo_ativo reconhecer os demais +xml.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Serve arquivos públicos só com tipos conhecidos
Em vez de depender do mime.types global, que entrega tipos +xml (.kml,
.xspf) inline, a location /media/ lista os tipos que podem abrir no
navegador e manda o resto como application/octet-stream.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Edward <9326037+edwardoliveira@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: joaohortsenado <100957576+joaohortsenado@users.noreply.github.com>
Mudando docker/docker-compose.yml para dist/docker-compose.yml
Alteração no readme sobre a atualização do solr no docker
Mudança do caminho do solr no arquivo solr.rst