From 800a73cbf5bfe33f3ff7b2a1b1ab5b33e309e70e Mon Sep 17 00:00:00 2001 From: ulysses Date: Mon, 27 Apr 2020 13:25:13 -0300 Subject: [PATCH] =?UTF-8?q?Arrumando=20mensagem=20de=20erro=20para=20quand?= =?UTF-8?q?o=20todos=20os=20documentos=20acessorios=20n=C3=A3o=20tem=20pdf?= =?UTF-8?q?=20cadastrados?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/materia/views.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/sapl/materia/views.py b/sapl/materia/views.py index 3908d3eb1..fb0b91522 100644 --- a/sapl/materia/views.py +++ b/sapl/materia/views.py @@ -2736,8 +2736,10 @@ def create_zip_docacessorios(materia): all().values_list('arquivo', flat=True) if not docs: return None, None - - docs_path = [os.path.join(MEDIA_ROOT, i) for i in docs] + + docs_path = [os.path.join(MEDIA_ROOT, i) for i in docs if i.lower().endswith('pdf')] + if not docs_path: + raise FileNotFoundError("Não há arquivos cadastrados em documentos acessorios.") zipfilename = '{}/mat_{}_{}_docacessorios.zip'.format( tempfile.gettempdir(), materia.pk, @@ -2756,6 +2758,13 @@ def get_zip_docacessorios(request, pk): materia = get_object_or_404(MateriaLegislativa, pk=pk) try: external_name, zipfilename = create_zip_docacessorios(materia) + logger.info("user= {}. Gerou o zip compilado de documento acessorios") + except FileNotFoundError: + logger.warning("user= {}.Não há arquivos cadastrados".format(username)) + msg=_('Não há arquivos cadastrados nesses documentos acessórios.') + messages.add_message(request, messages.WARNING, msg) + return redirect(reverse('sapl.materia:documentoacessorio_list', + kwargs={'pk': pk})) except Exception as e: logger.error("user={}. Um erro inesperado ocorreu na criação do pdf de documentos acessorios: {}".format(username,str(e))) msg=_('Um erro inesperado ocorreu. Entre em contato com o suporte do SAPL.') @@ -2786,6 +2795,8 @@ def create_pdf_docacessorios(materia): # TODO: o for-comprehension abaixo filtra os arquivos não PDF. # TODO: o que fazer com os arquivos não PDF? converter? ignorar? docs_path = [os.path.join(MEDIA_ROOT, i) for i in docs if i.lower().endswith('pdf')] + if not docs_path: + raise FileNotFoundError("Não há arquivos cadastrados em documentos acessorios.") merged_pdf = '{}/mat_{}_{}_docacessorios.pdf'.format( tempfile.gettempdir(), materia.pk, @@ -2807,6 +2818,13 @@ def get_pdf_docacessorios(request, pk): username = request.user.username try: external_name, pdffilename = create_pdf_docacessorios(materia) + logger.info("user= {}. Gerou o pdf compilado de documento acessorios") + except FileNotFoundError: + logger.warning("user= {}.Não há arquivos cadastrados".format(username)) + msg=_('Não há arquivos cadastrados nesses documentos acessórios.') + messages.add_message(request, messages.WARNING, msg) + return redirect(reverse('sapl.materia:documentoacessorio_list', + kwargs={'pk': pk})) except Exception as e: logger.error("user= {}.Um erro inesperado ocorreu na criação do pdf de documentos acessorios: {}".format(username,str(e))) msg=_('Um erro inesperado ocorreu. Entre em contato com o suporte do SAPL.')