From b2ef15a79aa6883fdfc31128e2ecc7522117491f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Rodrigues?= Date: Thu, 21 Mar 2019 17:33:57 -0300 Subject: [PATCH] =?UTF-8?q?Evitar=20anexo=20c=C3=ADclico=20-=20Anexado=20e?= =?UTF-8?q?m=20Lote?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/protocoloadm/views.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/sapl/protocoloadm/views.py b/sapl/protocoloadm/views.py index cebee891a..01581a21e 100755 --- a/sapl/protocoloadm/views.py +++ b/sapl/protocoloadm/views.py @@ -1017,7 +1017,24 @@ class DocumentoAnexadoEmLoteView(PermissionRequiredMixin, FilterView): is_anexado = Anexado.objects.filter(documento_principal=documento_principal, documento_anexado=documento_anexado).exists() if not is_anexado: - context['object_list'].append(obj) + ciclico = False + anexados_anexado = Anexado.objects.filter(documento_principal=documento_anexado) + + while(anexados_anexado and not ciclico): + anexados = [] + + for anexo in anexados_anexado: + + if documento_principal == anexo.documento_anexado: + ciclico = True + else: + for a in Anexado.objects.filter(documento_principal=anexo.documento_anexado): + anexados.append(a) + + anexados_anexado = anexados + + if not ciclico: + context['object_list'].append(obj) context['numero_res'] = len(context['object_list'])