diff --git a/sapl/relatorios/templates/pdf_pauta_sessao_gerar.py b/sapl/relatorios/templates/pdf_pauta_sessao_gerar.py index 15a4147d6..24cd5ed4a 100755 --- a/sapl/relatorios/templates/pdf_pauta_sessao_gerar.py +++ b/sapl/relatorios/templates/pdf_pauta_sessao_gerar.py @@ -124,10 +124,10 @@ def expediente_materia(lst_expediente_materia): for expediente_materia in lst_expediente_materia: tmp += '' + str(expediente_materia['num_ordem']) + ' - ' + \ expediente_materia["tipo_materia"] + ' No. ' + \ - expediente_materia['id_materia'] + '\n' + 'Autor: ' + \ + expediente_materia['id_materia'] + '\n' + '' + expediente_materia['num_autores'] + ': ' + \ expediente_materia['nom_autor'] + '\n' txt_ementa = expediente_materia['txt_ementa'].replace('&', '&') - tmp += '' + txt_ementa + '\n' + tmp += '' + txt_ementa + '' + '' + expediente_materia['ordem_observacao'] + '\n' tmp += '' + \ str(expediente_materia['des_situacao']) + '\n' @@ -151,10 +151,10 @@ def votacao(lst_votacao): votacao["tipo_materia"] + ' No. ' + \ str(votacao['id_materia']) + '\n' + 'Processo: ' + \ str(votacao['des_numeracao']) + '\n' + 'Turno: ' + \ - str(votacao['des_turno']) + '\n' + 'Autor: ' + \ + str(votacao['des_turno']) + '\n' + ''+votacao['num_autores']+': ' + \ str(votacao['nom_autor']) + '\n' - tmp += '' + \ - str(votacao['txt_ementa']) + '\n' + txt_ementa = votacao['txt_ementa'].replace('&', '&') + tmp += '' + txt_ementa + '' + '' + votacao['ordem_observacao'] + '\n' tmp += '' + \ str(votacao['des_situacao']) + '\n' @@ -162,7 +162,7 @@ def votacao(lst_votacao): return tmp -def principal(cabecalho_dic, rodape_dic, sessao, imagem, inf_basicas_dic, lst_expediente_materia, lst_votacao): +def principal(rodape_dic, imagem, inf_basicas_dic, lst_expediente_materia, lst_votacao): """ """ diff --git a/sapl/relatorios/templates/pdf_pauta_sessao_preparar_pysc.py b/sapl/relatorios/templates/pdf_pauta_sessao_preparar_pysc.py index 914f77a7b..67f0c774b 100755 --- a/sapl/relatorios/templates/pdf_pauta_sessao_preparar_pysc.py +++ b/sapl/relatorios/templates/pdf_pauta_sessao_preparar_pysc.py @@ -121,6 +121,7 @@ if context.REQUEST['data'] != '': autoria = autoria[0] autor = context.zsql.autor_obter_zsql( cod_autor=autoria.cod_autor) + if len(autor) > 0: autor = autor[0] diff --git a/sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py b/sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py index 5932c4811..b67a51696 100644 --- a/sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py +++ b/sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py @@ -120,8 +120,6 @@ def inf_basicas(inf_basicas_dic): tmp += '\t\tAbertura: ' + \ dat_inicio_sessao + ' - ' + hr_inicio_sessao + '\n' - data_fim_sessao = dat_fim_sessao + ' - ' if dat_fim_sessao else '' - tmp += '\t\tEncerramento: ' + \ dat_fim_sessao + ' - ' + hr_fim_sessao + '\n' @@ -182,7 +180,7 @@ def expedientes(lst_expedientes): tmp += '\t\t\n' tmp += '\t\t\t \n' tmp += '\t\t\n' - for idx, expediente in enumerate(lst_expedientes): + for expediente in lst_expedientes: tmp += '\t\t' + '
' + \ expediente['nom_expediente'] + ':
\n' + \ '' + \ @@ -204,10 +202,10 @@ def expediente_materia(lst_expediente_materia): tmp += '\n' tmp += 'MatériaEmentaResultado da Votação\n' for expediente_materia in lst_expediente_materia: - tmp += '' + str(expediente_materia['num_ordem']) + ' - ' + expediente_materia['id_materia'] + '\n' + 'Turno: ' + str(expediente_materia[ - 'des_turno']) + '\n' + 'Autor: ' + str(expediente_materia['nom_autor']) + '\n' + tmp += '' + str(expediente_materia['num_ordem']) + ' - ' + expediente_materia['id_materia'] + '\n' + 'Turno: ' + expediente_materia[ + 'des_turno'] + '\n' + ''+ expediente_materia['num_autores'] + ': ' + str(expediente_materia['nom_autor']) + '\n' txt_ementa = expediente_materia['txt_ementa'].replace('&', '&') - tmp += '' + txt_ementa + '\n' + tmp += '' + txt_ementa + '' + '' + expediente_materia['ordem_observacao'] + '\n' tmp += '' + \ str(expediente_materia['nom_resultado']) + \ '\n' + '' @@ -267,8 +265,8 @@ def votacao(lst_votacao): tmp += '\n' tmp += 'MatériaEmentaResultado da Votação\n' for votacao in lst_votacao: - tmp += '' + str(votacao['num_ordem']) + ' - ' + votacao['id_materia'] + '\n' + 'Turno: ' + str(votacao[ - 'des_turno']) + '\n' + 'Autor: ' + str(votacao['nom_autor']) + '\n' + tmp += '' + str(votacao['num_ordem']) + ' - ' + votacao['id_materia'] + '\n' + 'Turno: ' + votacao[ + 'des_turno'] + '\n' + ''+ votacao['num_autores'] +': ' + str(votacao['nom_autor']) + '\n' txt_ementa = votacao['txt_ementa'].replace('&', '&') tmp += '' + txt_ementa + '' + '' + votacao['ordem_observacao'] + '\n' tmp += '' + \ @@ -309,7 +307,7 @@ def ocorrencias(lst_ocorrencias): tmp += '\t\t\n' tmp += '\t\t\t \n' tmp += '\t\t\n' - for idx, ocorrencia in enumerate(lst_ocorrencias): + for ocorrencia in lst_ocorrencias: tmp += '\t\t' + \ str(ocorrencia.conteudo) + '\n' tmp += '\t\t\n' @@ -318,7 +316,7 @@ def ocorrencias(lst_ocorrencias): return tmp -def principal(cabecalho_dic, rodape_dic, imagem, sessao, inf_basicas_dic, lst_mesa, lst_presenca_sessao,lst_ausencia_sessao, lst_expedientes, lst_expediente_materia, lst_oradores_expediente, lst_presenca_ordem_dia, lst_votacao, lst_oradores, lst_ocorrencias): +def principal(rodape_dic, imagem, inf_basicas_dic, lst_mesa, lst_presenca_sessao, lst_expedientes, lst_expediente_materia, lst_oradores_expediente, lst_presenca_ordem_dia, lst_votacao, lst_oradores, lst_ocorrencias): """ """ arquivoPdf = str(int(time.time() * 100)) + ".pdf" diff --git a/sapl/relatorios/views.py b/sapl/relatorios/views.py index 65455c0ca..a8daa645a 100755 --- a/sapl/relatorios/views.py +++ b/sapl/relatorios/views.py @@ -21,7 +21,7 @@ from sapl.sessao.models import (ExpedienteMateria, ExpedienteSessao, OrdemDia, PresencaOrdemDia, SessaoPlenaria, SessaoPlenariaPresenca, OcorrenciaSessao) from sapl.settings import STATIC_ROOT -from sapl.utils import LISTA_DE_UFS, ExtraiTag, TrocaTag, filiacao_data +from sapl.utils import LISTA_DE_UFS, TrocaTag, filiacao_data from .templates import (pdf_capa_processo_gerar, pdf_documento_administrativo_gerar, pdf_espelho_gerar, @@ -587,9 +587,7 @@ def get_sessao_plenaria(sessao, casa): for expediente_materia in ExpedienteMateria.objects.filter( sessao_plenaria=sessao): # seleciona os detalhes de uma matéria - materia = MateriaLegislativa.objects.filter( - id=expediente_materia.materia.id).first() - + materia = expediente_materia.materia dic_expediente_materia = {} dic_expediente_materia["num_ordem"] = expediente_materia.numero_ordem dic_expediente_materia["id_materia"] = (materia.tipo.sigla + ' ' + @@ -600,40 +598,27 @@ def get_sessao_plenaria(sessao, casa): numeracao = Numeracao.objects.filter( materia=expediente_materia.materia).first() - if numeracao is not None: + if numeracao: dic_expediente_materia["des_numeracao"] = ( str(numeracao.numero_materia) + '/' + str( numeracao.ano_materia)) - turno, _ = get_turno(dic_expediente_materia, materia, sessao.data_inicio) + turno, _ = get_turno(materia) dic_expediente_materia["des_turno"] = turno - dic_expediente_materia["txt_ementa"] = str(materia.ementa) dic_expediente_materia["ordem_observacao"] = expediente_materia.observacao - dic_expediente_materia["nom_autor"] = ' ' dic_expediente_materia["nom_resultado"] = '' - autoria = Autoria.objects.filter( - materia=materia, primeiro_autor=True).first() - - if autoria is not None: - autor = Autor.objects.filter(id=autoria.autor.id) - - if autor is not None: - autor = autor.first() - - if autor.tipo == 'Parlamentar': - parlamentar = Parlamentar.objects.filter( - id=autor.parlamentar.id) - dic_expediente_materia["nom_autor"] = str( - parlamentar.nome_completo) - elif autor.tipo == 'Comissao': - comissao = Comissao.objects.filter(id=autor.comissao.id) - dic_expediente_materia["nom_autor"] = str(comissao) - else: - dic_expediente_materia["nom_autor"] = str(autor.nome) - elif autoria is None: + dic_expediente_materia["nom_autor"] = '' + autoria = materia.autoria_set.all() + dic_expediente_materia['num_autores'] = 'Autores' if len(autoria) > 1 else 'Autor' + if autoria: + for a in autoria: + if a.autor.nome: + dic_expediente_materia['nom_autor'] += a.autor.nome + ', ' + dic_expediente_materia['nom_autor'] = dic_expediente_materia['nom_autor'][:-2] + else: dic_expediente_materia["nom_autor"] = 'Desconhecido' dic_expediente_materia["votacao_observacao"] = ' ' @@ -689,9 +674,7 @@ def get_sessao_plenaria(sessao, casa): for votacao in OrdemDia.objects.filter( sessao_plenaria=sessao): # seleciona os detalhes de uma matéria - materia = MateriaLegislativa.objects.filter( - id=votacao.materia.id).first() - + materia = votacao.materia dic_votacao = {} dic_votacao["nom_resultado"] = '' dic_votacao["num_ordem"] = votacao.numero_ordem @@ -702,15 +685,15 @@ def get_sessao_plenaria(sessao, casa): str(materia.ano)) dic_votacao["des_numeracao"] = ' ' - numeracao = Numeracao.objects.filter( - materia=votacao.materia).first() - if numeracao is not None: + numeracao = materia.numeracao_set.first() + if numeracao: + dic_votacao["des_numeracao"] = ( str(numeracao.numero_materia) + '/' + str(numeracao.ano_materia)) - turno, _ = get_turno(dic_votacao, materia, sessao.data_inicio) + turno, _ = get_turno(materia) dic_votacao["des_turno"] = turno @@ -718,26 +701,15 @@ def get_sessao_plenaria(sessao, casa): dic_votacao["txt_ementa"] = html.unescape(materia.ementa) dic_votacao["ordem_observacao"] = html.unescape(votacao.observacao) - dic_votacao["nom_autor"] = ' ' - autoria = Autoria.objects.filter( - materia=materia, primeiro_autor=True).first() - - if autoria is not None: - autor = Autor.objects.filter(id=autoria.autor.id) - if autor is not None: - autor = autor.first() - - if autor.tipo == 'Parlamentar': - parlamentar = Parlamentar.objects.filter( - id=autor.parlamentar.id) - dic_votacao["nom_autor"] = str(parlamentar.nome_completo) - elif autor.tipo == 'Comissao': - comissao = Comissao.objects.filter( - id=autor.comissao.id) - dic_votacao["nom_autor"] = str(comissao) - else: - dic_votacao["nom_autor"] = str(autor.nome) - elif autoria is None: + dic_votacao["nom_autor"] = '' + autoria = materia.autoria_set.all() + dic_votacao['num_autores'] = 'Autores' if len(autoria) > 1 else 'Autor' + if autoria: + for a in autoria: + if a.autor.nome: + dic_votacao['nom_autor'] += a.autor.nome + ', ' + dic_votacao['nom_autor'] = dic_votacao['nom_autor'][:-2] + else: dic_votacao["nom_autor"] = 'Desconhecido' dic_votacao["votacao_observacao"] = ' ' @@ -804,20 +776,19 @@ def get_sessao_plenaria(sessao, casa): lst_ocorrencias) -def get_turno(dic, materia, sessao_data_inicio): - descricao_turno = ' ' - descricao_tramitacao = ' ' - tramitacao = None - if tramitacao is None: - tramitacao = materia.tramitacao_set.last() +def get_turno(materia): + descricao_turno = '' + descricao_tramitacao = '' + tramitacao = materia.tramitacao_set.last() - if tramitacao is not None: - for t in Tramitacao.TURNO_CHOICES: - if t[0] == tramitacao.turno: - descricao_turno = t[1] - break + if tramitacao: + if tramitacao.turno: + for t in Tramitacao.TURNO_CHOICES: + if t[0] == tramitacao.turno: + descricao_turno = str(t[1]) + break descricao_tramitacao = tramitacao.status.descricao if tramitacao.status else 'Não informada' - return (descricao_turno, descricao_tramitacao) + return descricao_turno, descricao_tramitacao def relatorio_sessao_plenaria(request, pk): @@ -835,7 +806,6 @@ def relatorio_sessao_plenaria(request, pk): if not casa: raise Http404 - cabecalho = get_cabecalho(casa) rodape = get_rodape(casa) imagem = get_imagem(casa) @@ -866,10 +836,8 @@ def relatorio_sessao_plenaria(request, pk): lst_expedientes[idx]['txt_expediente'] = txt_expedientes pdf = pdf_sessao_plenaria_gerar.principal( - cabecalho, rodape, imagem, - None, inf_basicas_dic, lst_mesa, lst_presenca_sessao, @@ -1066,7 +1034,6 @@ def relatorio_pauta_sessao(request, pk): casa = CasaLegislativa.objects.first() - cabecalho = get_cabecalho(casa) rodape = get_rodape(casa) imagem = get_imagem(casa) @@ -1074,9 +1041,7 @@ def relatorio_pauta_sessao(request, pk): lst_expediente_materia, lst_votacao, inf_basicas_dic = get_pauta_sessao( sessao, casa) - pdf = pdf_pauta_sessao_gerar.principal(cabecalho, - rodape, - sessao, + pdf = pdf_pauta_sessao_gerar.principal(rodape, imagem, inf_basicas_dic, lst_expediente_materia, @@ -1119,34 +1084,22 @@ def get_pauta_sessao(sessao, casa): dic_expediente_materia["des_numeracao"] = ' ' numeracao = Numeracao.objects.filter(materia=materia) - if numeracao is not None: + if numeracao: numeracao = numeracao.first() dic_expediente_materia["des_numeracao"] = str(numeracao) - dic_expediente_materia["nom_autor"] = ' ' - autoria = Autoria.objects.filter( - materia=materia, primeiro_autor=True).first() - - if autoria is not None: - autor = Autor.objects.filter(id=autoria.autor.id) - - if autor is not None: - autor = autor.first() - - if autor.tipo == 'Parlamentar': - parlamentar = Parlamentar.objects.filter( - id=autor.parlamentar.id) - dic_expediente_materia["nom_autor"] = str( - parlamentar.nome_completo) - elif autor.tipo == 'Comissao': - comissao = Comissao.objects.filter(id=autor.comissao.id) - dic_expediente_materia["nom_autor"] = str(comissao) - else: - dic_expediente_materia["nom_autor"] = str(autor.nome) - elif autoria is None: + dic_expediente_materia["nom_autor"] = '' + autoria = materia.autoria_set.all() + dic_expediente_materia['num_autores'] = 'Autores' if len(autoria) > 1 else 'Autor' + if autoria: + for a in autoria: + if a.autor.nome: + dic_expediente_materia['nom_autor'] += a.autor.nome + ', ' + dic_expediente_materia['nom_autor'] = dic_expediente_materia['nom_autor'][:-2] + else: dic_expediente_materia["nom_autor"] = 'Desconhecido' - turno, tramitacao = get_turno(dic_expediente_materia, materia, sessao.data_inicio) + turno, tramitacao = get_turno(materia) dic_expediente_materia["des_turno"] = turno dic_expediente_materia["des_situacao"] = tramitacao @@ -1174,30 +1127,19 @@ def get_pauta_sessao(sessao, casa): dic_votacao["des_numeracao"] = str( numeracao.numero_materia) + '/' + str(numeracao.ano_materia) - turno, tramitacao = get_turno(dic_votacao, materia, sessao.data_inicio) + turno, tramitacao = get_turno(materia) dic_votacao["des_turno"] = turno dic_votacao["des_situacao"] = tramitacao - dic_votacao["nom_autor"] = ' ' - autoria = Autoria.objects.filter( - materia=materia, primeiro_autor=True).first() - - if autoria is not None: - autor = Autor.objects.filter(id=autoria.autor.id) - if autor is not None: - autor = autor.first() - - if autor.tipo == 'Parlamentar': - parlamentar = Parlamentar.objects.filter( - id=autor.parlamentar.id) - dic_votacao["nom_autor"] = str(parlamentar.nome_completo) - elif autor.tipo == 'Comissao': - comissao = Comissao.objects.filter( - id=autor.comissao.id) - dic_votacao["nom_autor"] = str(comissao) - else: - dic_votacao["nom_autor"] = str(autor.nome) - elif autoria is None: + dic_votacao["nom_autor"] = '' + autoria = materia.autoria_set.all() + dic_votacao['num_autores'] = 'Autores' if len(autoria) > 1 else 'Autor' + if autoria: + for a in autoria: + if a.autor.nome: + dic_votacao['nom_autor'] += a.autor.nome + ', ' + dic_votacao['nom_autor'] = dic_votacao['nom_autor'][:-2] + else: dic_votacao["nom_autor"] = 'Desconhecido' lst_votacao.append(dic_votacao) diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index c674ea664..2f93b7056 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -195,7 +195,7 @@ def customize_link_materia(context, pk, has_permission, is_expediente): '-data_tramitacao' ).first() turno = ' ' - if tramitacao is not None: + if tramitacao: for t in Tramitacao.TURNO_CHOICES: if t[0] == tramitacao.turno: turno = t[1]