diff --git a/sapl/protocoloadm/tests/test_docadm_acesso.py b/sapl/protocoloadm/tests/test_docadm_acesso.py index c88d7a7d1..5f5bf9d0a 100644 --- a/sapl/protocoloadm/tests/test_docadm_acesso.py +++ b/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 diff --git a/sapl/protocoloadm/views.py b/sapl/protocoloadm/views.py index 10e6716b1..575495f4e 100755 --- a/sapl/protocoloadm/views.py +++ b/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()