From 07480428706737266846d9b3a7b999ca1d5deeb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Rodrigues?= Date: Mon, 5 Oct 2020 16:21:23 -0300 Subject: [PATCH] Refatora get_pauta_sessao --- sapl/relatorios/views.py | 64 +++++++++++++++++++++------------------- sapl/sessao/views.py | 4 +-- 2 files changed, 36 insertions(+), 32 deletions(-) diff --git a/sapl/relatorios/views.py b/sapl/relatorios/views.py index 0d541ce52..b279b8d3e 100755 --- a/sapl/relatorios/views.py +++ b/sapl/relatorios/views.py @@ -24,7 +24,7 @@ from sapl.sessao.models import (ExpedienteMateria, ExpedienteSessao, IntegranteMesa, JustificativaAusencia, Orador, OradorExpediente, OrdemDia, PresencaOrdemDia, SessaoPlenaria, - SessaoPlenariaPresenca, OcorrenciaSessao, + SessaoPlenariaPresenca, OcorrenciaSessao, ExpedientePautaSessao, RegistroVotacao, VotoParlamentar, OradorOrdemDia, TipoExpediente, ResumoOrdenacao) from sapl.settings import STATIC_ROOT from sapl.utils import LISTA_DE_UFS, TrocaTag, filiacao_data, create_barcode @@ -1118,47 +1118,51 @@ def get_pauta_sessao(sessao, casa): inf_basicas_dic["nom_camara"] = casa.nome lst_expediente_materia = [] - for expediente_materia in ExpedienteMateria.objects.filter(sessao_plenaria=sessao): + for e in ExpedientePautaSessao.objects.filter( + sessao_plenaria=sessao + ).order_by('expediente__numero_ordem'): - materia = MateriaLegislativa.objects.filter( - id=expediente_materia.materia.id).first() + materia = e.materia dic_expediente_materia = {} - dic_expediente_materia["tipo_materia"] = materia.tipo.sigla + \ - ' - ' + materia.tipo.descricao - dic_expediente_materia["num_ordem"] = str( - expediente_materia.numero_ordem) + tipo_materia = materia.tipo.sigla + ' - ' + materia.tipo.descricao + dic_expediente_materia["tipo_materia"] = tipo_materia + + dic_expediente_materia["num_ordem"] = str(e.expediente.numero_ordem) + dic_expediente_materia["id_materia"] = str( - materia.numero) + "/" + str(materia.ano) - dic_expediente_materia["txt_ementa"] = materia.ementa - dic_expediente_materia["materia_observacao"] = materia.observacao + materia.numero + ) + "/" + str(materia.ano) - dic_expediente_materia["ordem_observacao"] = str( - expediente_materia.observacao) + dic_expediente_materia["txt_ementa"] = e.materia.ementa - dic_expediente_materia["des_numeracao"] = ' ' + dic_expediente_materia["ordem_observacao"] = str( + e.expediente.observacao + ) - numeracao = Numeracao.objects.filter(materia=materia) - if numeracao: - numeracao = numeracao.first() - dic_expediente_materia["des_numeracao"] = str(numeracao) + autores = e.autores if e.autores else [ + str(a.autor) for a in e.materia.autoria_set.select_related( + 'autor' + ).all() + ] - 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] + autores + ) > 1 else 'Autor' + + dic_expediente_materia['nom_autor'] = '' + if autores: + for a in autores: + if a: + dic_expediente_materia['nom_autor'] += a + ', ' + dic_expediente_materia['nom_autor'] = dic_expediente_materia[ + 'nom_autor' + ][:-2] else: dic_expediente_materia["nom_autor"] = 'Desconhecido' - turno, tramitacao = get_turno(materia) - - dic_expediente_materia["des_turno"] = turno - dic_expediente_materia["des_situacao"] = tramitacao + situacao = e.tramitacao.status if e.tramitacao else _('Não informada') + dic_expediente_materia["des_situacao"] = situacao lst_expediente_materia.append(dic_expediente_materia) diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index c18b5c885..f02bd5a0c 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -3596,12 +3596,12 @@ class PautaSessaoDetailView(DetailView): materias_expediente.append({ 'id': e.materia_id, 'ementa': e.materia.ementa, - 'observacao': e.expediente.observacao, + 'observacao': e.expediente.observacao, 'titulo': e.materia, 'numero': e.expediente.numero_ordem, 'situacao': e.tramitacao.status if e.tramitacao else _('Não informada'), 'processo': processo, - 'autor': e.autores + 'autor': autores }) context.update({'materia_expediente': materias_expediente}) # =====================================================================