mirror of https://github.com/interlegis/sapl.git
Browse Source
* Oculta sessões plenárias não iniciadas da consulta pública Sessões cadastradas com antecedência ficavam visíveis no portal mesmo com "Publicar pauta?", "Sessão iniciada?" e "Sessão finalizada?" em Não: nenhum desses campos filtrava queryset público. Só publicar_pauta filtrava, e apenas nos dois pontos de entrada da pauta. Passa a esconder do usuário anônimo as sessões marcadas explicitamente como não iniciadas e sem pauta publicada. Usuário autenticado continua vendo todas. A regra fica centralizada em SessaoPlenaria.objects.visiveis_para(user) e é aplicada na pesquisa de sessões, no detalhe, no resumo e no resumo/ata. iniciada nulo conta como visível: o campo nasceu sem default e o default=True só chegou na migração 0027, que não preencheu as linhas existentes, então bases anteriores a out/2018 têm sessões realizadas com o campo em NULL. Também restringe PautaSessaoDetailView, que não filtrava publicar_pauta e expunha por URL a pauta de sessões não publicadas. * Troca custom manager por função utilitária de visibilidade Atende à revisão do PR: substitui a subclasse SessaoPlenariaQuerySet e o método .visiveis_para() por uma função restringe_sessoes_visiveis(qs, user), chamada como wrapper nos pontos de acesso público. Mantém a mesma regra de filtragem e o comportamento de fundir as cadeias de filter em um único SQL. --------- Co-authored-by: Edward <9326037+edwardoliveira@users.noreply.github.com>pull/3842/merge
committed by
GitHub
3 changed files with 130 additions and 3 deletions
Loading…
Reference in new issue