From d716e59bd5a867a2369879047d524b3ba28cfeb9 Mon Sep 17 00:00:00 2001 From: eribeiro Date: Tue, 23 Feb 2021 11:29:14 -0300 Subject: [PATCH] Refatora lista_anexados --- sapl/protocoloadm/forms.py | 6 +++--- sapl/protocoloadm/tests/test_protocoloadm.py | 2 +- sapl/protocoloadm/views.py | 2 +- sapl/utils.py | 14 ++++++++------ 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/sapl/protocoloadm/forms.py b/sapl/protocoloadm/forms.py index b89fc7183..343e2a316 100644 --- a/sapl/protocoloadm/forms.py +++ b/sapl/protocoloadm/forms.py @@ -765,7 +765,7 @@ class TramitacaoAdmForm(ModelForm): tramitar_anexados = AppConfig.attr('tramitacao_documento') if tramitar_anexados: lista_tramitacao = [] - anexados_list = lista_anexados(documento, False) + anexados_list = lista_anexados(documento) for da in anexados_list: if not da.tramitacaoadministrativo_set.all() \ or da.tramitacaoadministrativo_set.last() \ @@ -887,7 +887,7 @@ class TramitacaoAdmEditForm(TramitacaoAdmForm): tramitar_anexados = AppConfig.attr('tramitacao_documento') if tramitar_anexados: - anexados_list = lista_anexados(documento, False) + anexados_list = lista_anexados(documento) for da in anexados_list: tram_anexada = da.tramitacaoadministrativo_set.last() if compara_tramitacoes_doc(ant_tram_principal, tram_anexada): @@ -1655,7 +1655,7 @@ class TramitacaoEmLoteAdmForm(ModelForm): if tramitar_anexados: lista_tramitacao = [] - anexados = lista_anexados(doc, False) + anexados = lista_anexados(doc) for da in anexados: if not da.tramitacaoadministrativo_set.all() \ or da.tramitacaoadministrativo_set.last() \ diff --git a/sapl/protocoloadm/tests/test_protocoloadm.py b/sapl/protocoloadm/tests/test_protocoloadm.py index bfc5d769e..fe38765c3 100644 --- a/sapl/protocoloadm/tests/test_protocoloadm.py +++ b/sapl/protocoloadm/tests/test_protocoloadm.py @@ -507,7 +507,7 @@ def test_lista_documentos_anexados(): data_anexacao="2020-11-05" ) - lista = lista_anexados(documento_principal, False) + lista = lista_anexados(documento_principal) assert len(lista) == 2 assert lista[0] == documento_anexado diff --git a/sapl/protocoloadm/views.py b/sapl/protocoloadm/views.py index feda6b9b2..1f2a7db7c 100755 --- a/sapl/protocoloadm/views.py +++ b/sapl/protocoloadm/views.py @@ -1381,7 +1381,7 @@ class TramitacaoAdmCrud(MasterDetailCrud): documento.save() tramitar_anexados = AppConfig.attr('tramitacao_documento') if tramitar_anexados: - docs_anexados = lista_anexados(documento, False) + docs_anexados = lista_anexados(documento) for da in docs_anexados: tram_anexada = da.tramitacaoadministrativo_set.last() if compara_tramitacoes_doc(tram_anexada, tramitacao): diff --git a/sapl/utils.py b/sapl/utils.py index 65ac0e1d8..fd04b89f6 100644 --- a/sapl/utils.py +++ b/sapl/utils.py @@ -1017,19 +1017,21 @@ def google_recaptcha_configured(): return not AppConfig.attr('google_recaptcha_site_key') == '' -def lista_anexados(principal, isMateriaLegislativa=True): - if isMateriaLegislativa: # MateriaLegislativa - from sapl.materia.models import Anexada +def lista_anexados(principal): + from sapl.materia import MateriaLegislativa + from sapl.materia.models import Anexada + from sapl.protocoloadm.models import Anexado + + if isinstance(principal, MateriaLegislativa): anexados = {a.materia_anexada for a in Anexada.objects.select_related( 'materia_anexada').filter(materia_principal=principal)} - else: # DocAdm - from sapl.protocoloadm.models import Anexado + else: anexados = {a.documento_anexado for a in Anexado.objects.select_related( 'documento_anexado').filter(documento_principal=principal)} anexados_total = set() while anexados: - if isMateriaLegislativa: + if isinstance(principal, MateriaLegislativa): novos_anexados = {a.materia_anexada for a in Anexada.objects.filter( materia_principal__in=anexados)