Browse Source

Adicionando mensagem de erro caso não tenha documento acessório

pull/3139/head
ulysses 6 years ago
parent
commit
d84ac93959
  1. 16
      sapl/materia/views.py

16
sapl/materia/views.py

@ -2737,6 +2737,8 @@ def create_zip_docacessorios(mat_pk):
materia = MateriaLegislativa.objects.get(id=mat_pk) materia = MateriaLegislativa.objects.get(id=mat_pk)
docs = materia.documentoacessorio_set.\ docs = materia.documentoacessorio_set.\
all().values_list('arquivo', flat=True) 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]
zipfilename = '/tmp/mat_{}_{}.zip'.format( zipfilename = '/tmp/mat_{}_{}.zip'.format(
@ -2753,6 +2755,12 @@ def create_zip_docacessorios(mat_pk):
def get_zip_docacessorios(request, pk): def get_zip_docacessorios(request, pk):
import os import os
external_name, zipfilename = create_zip_docacessorios(pk) external_name, zipfilename = create_zip_docacessorios(pk)
if not zipfilename:
msg=_('Não há nenhum documento acessório cadastrado.')
messages.add_message(request, messages.WARNING, msg)
return redirect(reverse('sapl.materia:documentoacessorio_list',
kwargs={'pk': pk}))
with open(os.path.join('/tmp', zipfilename), 'rb') as f: with open(os.path.join('/tmp', zipfilename), 'rb') as f:
data = f.read() data = f.read()
response = HttpResponse(data, content_type='application/zip') response = HttpResponse(data, content_type='application/zip')
@ -2771,6 +2779,8 @@ def create_pdf_docacessorios(mat_pk):
materia = MateriaLegislativa.objects.get(id=mat_pk) materia = MateriaLegislativa.objects.get(id=mat_pk)
docs = materia.documentoacessorio_set. \ docs = materia.documentoacessorio_set. \
all().values_list('arquivo', flat=True) all().values_list('arquivo', flat=True)
if not docs:
return None, None
# TODO: o for-comprehension abaixo filtra os arquivos não PDF. # TODO: o for-comprehension abaixo filtra os arquivos não PDF.
# TODO: o que fazer com os arquivos não PDF? converter? ignorar? # TODO: o que fazer com os arquivos não PDF? converter? ignorar?
@ -2792,6 +2802,12 @@ def create_pdf_docacessorios(mat_pk):
def get_pdf_docacessorios(request, pk): def get_pdf_docacessorios(request, pk):
import os import os
external_name, pdffilename = create_pdf_docacessorios(pk) external_name, pdffilename = create_pdf_docacessorios(pk)
if not pdffilename:
msg=_('Não há nenhum documento acessório cadastrado.')
messages.add_message(request, messages.WARNING, msg)
return redirect(reverse('sapl.materia:documentoacessorio_list',
kwargs={'pk': pk}))
with open(os.path.join('/tmp', pdffilename), 'rb') as f: with open(os.path.join('/tmp', pdffilename), 'rb') as f:
data = f.read() data = f.read()
response = HttpResponse(data, content_type='application/pdf') response = HttpResponse(data, content_type='application/pdf')

Loading…
Cancel
Save