' + 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éria | Ementa | Resultado 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]
| |