Browse Source

Usa a mesma configuração na página e nos arquivos de documento administrativo

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pull/3865/head
Edward Ribeiro 2 weeks ago
parent
commit
9fab896bd6
  1. 17
      sapl/protocoloadm/tests/test_docadm_acesso.py
  2. 7
      sapl/protocoloadm/views.py

17
sapl/protocoloadm/tests/test_docadm_acesso.py

@ -144,3 +144,20 @@ def test_docadm_pk_inexistente(client, url_name):
response = client.get(reverse('sapl.protocoloadm:' + url_name,
kwargs={'pk': 999999}))
assert response.status_code == 404
@pytest.mark.django_db(transaction=False)
def test_detalhe_e_arquivo_usam_a_mesma_configuracao(client, media_tmp):
# com mais de uma linha em AppConfig, página e arquivo leem a mesma
_config('O')
baker.make(AppConfig, documentos_administrativos='R')
documento = _documento(False)
detalhe = client.get(reverse(
'sapl.protocoloadm:documentoadministrativo_detail',
kwargs={'pk': documento.pk}))
texto = client.get(reverse('sapl.protocoloadm:doc_texto_integral',
kwargs={'pk': documento.pk}))
assert detalhe.status_code == 302
assert texto.status_code == 404

7
sapl/protocoloadm/views.py

@ -32,7 +32,8 @@ from django_filters.views import FilterView
import sapl
from sapl.base.email_utils import do_envia_email_confirmacao
from sapl.base.models import Autor, CasaLegislativa, AppConfig
from sapl.base.models import (Autor, CasaLegislativa, AppConfig,
DOC_ADM_OSTENSIVO)
from sapl.comissoes.models import Comissao
from sapl.crud.base import (Crud, CrudAux, MasterDetailCrud, make_pagination,
RP_LIST, RP_DETAIL)
@ -400,8 +401,8 @@ class AcompanhamentoDocumentoView(CreateView):
class DocumentoAdministrativoMixin:
def has_permission(self):
app_config = AppConfig.objects.last()
if app_config and app_config.documentos_administrativos == 'O':
# mesmo acessor de pode_ver_documento_adm, usado nos arquivos
if AppConfig.attr('documentos_administrativos') == DOC_ADM_OSTENSIVO:
return True
return super().has_permission()

Loading…
Cancel
Save