@ -8,11 +8,16 @@ from comissoes.models import Comissao
from materia . models import ( Autor , Autoria , MateriaLegislativa , Numeracao ,
Tramitacao , UnidadeTramitacao )
from parlamentares . models import Parlamentar
from parlamentares . models import ( Parlamentar , ComposicaoMesa ,
CargoMesa , Filiacao )
from protocoloadm . models import ( DocumentoAdministrativo , Protocolo ,
TramitacaoAdministrativo )
from sessao . models import ( ExpedienteMateria , OrdemDia , SessaoPlenaria )
from sessao . models import ( OrdemDia , SessaoPlenaria ,
SessaoPlenariaPresenca ,
TipoExpediente , ExpedienteSessao , ExpedienteMateria ,
RegistroVotacao ,
OradorExpediente , PresencaOrdemDia , Orador )
from . templates import ( pdf_capa_processo_gerar ,
pdf_documento_administrativo_gerar ,
@ -20,8 +25,10 @@ from .templates import (pdf_capa_processo_gerar,
pdf_materia_gerar ,
pdf_protocolo_gerar ,
pdf_etiqueta_protocolo_gerar ,
pdf_pauta_sessao_gerar )
pdf_pauta_sessao_gerar ,
pdf_sessao_plenaria_gerar )
from bs4 import BeautifulSoup
def get_cabecalho ( casa ) :
@ -539,211 +546,271 @@ def get_espelho(mats):
materias . append ( dic )
return materias
def get_sessao_plenaria ( sessao ) :
pass
# if context.REQUEST['data']!='':
# dat_inicio_sessao = context.REQUEST['data']
# pauta = [] # lista contendo a pauta da ordem do dia a ser impressa
# data = context.pysc.data_converter_pysc(dat_inicio_sessao) # converte data para formato yyyy/mm/dd
# codigo = context.REQUEST['cod_sessao_plen']
# # seleciona as matérias que compõem a pauta na data escolhida
# for sessao in context.zsql.sessao_plenaria_obter_zsql(dat_inicio_sessao=data, cod_sessao_plen=codigo, ind_excluido=0):
# inf_basicas_dic = {} # dicionário que armazenará as informacoes basicas da sessao plenaria
# # seleciona o tipo da sessao plenaria
# tipo_sessao = context.zsql.tipo_sessao_plenaria_obter_zsql(tip_sessao=sessao.tip_sessao,ind_excluido=0)[0]
# inf_basicas_dic["num_sessao_plen"] = sessao.num_sessao_plen
# inf_basicas_dic["nom_sessao"] = tipo_sessao.nom_sessao
# inf_basicas_dic["num_legislatura"] = sessao.num_legislatura
# inf_basicas_dic["num_sessao_leg"] = sessao.num_sessao_leg
# inf_basicas_dic["dat_inicio_sessao"] = sessao.dat_inicio_sessao
# inf_basicas_dic["hr_inicio_sessao"] = sessao.hr_inicio_sessao
# inf_basicas_dic["dat_fim_sessao"] = sessao.dat_fim_sessao
# inf_basicas_dic["hr_fim_sessao"] = sessao.hr_fim_sessao
# # Lista da composicao da mesa diretora
# lst_mesa = []
# for composicao in context.zsql.composicao_mesa_sessao_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,ind_excluido=0):
# for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=composicao.cod_parlamentar,ind_excluido=0):
# for cargo in context.zsql.cargo_mesa_obter_zsql(cod_cargo=composicao.cod_cargo, ind_excluido=0):
# dic_mesa = {}
# dic_mesa['nom_parlamentar'] = parlamentar.nom_parlamentar
# dic_mesa['sgl_partido'] = parlamentar.sgl_partido
# dic_mesa['des_cargo'] = cargo.des_cargo
# lst_mesa.append(dic_mesa)
# # Lista de presença na sessão
# lst_presenca_sessao = []
# for presenca in context.zsql.presenca_sessao_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
# for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=presenca.cod_parlamentar,ind_excluido=0):
# dic_presenca = {}
# dic_presenca["nom_parlamentar"] = parlamentar.nom_parlamentar
# dic_presenca['sgl_partido'] = parlamentar.sgl_partido
# lst_presenca_sessao.append(dic_presenca)
# # Exibe os Expedientes
# lst_expedientes = []
# dic_expedientes = None
# for tip_expediente in context.zsql.tipo_expediente_obter_zsql():
# for expediente in context.zsql.expediente_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,cod_expediente=tip_expediente.cod_expediente, ind_excluido=0):
# dic_expedientes = {}
# dic_expedientes["nom_expediente"] = tip_expediente.nom_expediente
# dic_expedientes["txt_expediente"] = expediente.txt_expediente
# if dic_expedientes:
# lst_expedientes.append(dic_expedientes)
# # Lista das matérias do Expediente, incluindo o resultado das votacoes
# lst_expediente_materia=[]
# for expediente_materia in context.zsql.votacao_expediente_materia_obter_zsql(dat_ordem = data, cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
# # seleciona os detalhes de uma matéria
# materia = context.zsql.materia_obter_zsql(cod_materia=expediente_materia.cod_materia)[0]
# dic_expediente_materia = {}
# dic_expediente_materia["num_ordem"] = expediente_materia.num_ordem
# dic_expediente_materia["id_materia"] = materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
# dic_expediente_materia["des_numeracao"]=""
# numeracao = context.zsql.numeracao_obter_zsql(cod_materia=expediente_materia.cod_materia)
# if len(numeracao):
# numeracao = numeracao[0]
# dic_expediente_materia["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
# tram = context.zsql.tramitacao_turno_obter_zsql(cod_materia=materia.cod_materia, dat_inicio_sessao=data)
# dic_expediente_materia["des_turno"]=""
# if len(tram):
# tram_turno = tram[0]
# if tram_turno.sgl_turno != "":
# for turno in [("P","Primeiro"), ("S","Segundo"), ("U","Único"), ("L","Suplementar"), ("A","Votação Única em Regime de Urgência"), ("B","1ª Votação"), ("C","2ª e 3ª Votações"), ("F", "Final")]:
# if tram_turno.sgl_turno == turno[0]:
# dic_expediente_materia["des_turno"] = turno[1]
# dic_expediente_materia["txt_ementa"] = materia.txt_ementa
# dic_expediente_materia["ordem_observacao"] = expediente_materia.ordem_observacao
# dic_expediente_materia["nom_autor"] = ""
# autoria = context.zsql.autoria_obter_zsql(cod_materia=expediente_materia.cod_materia, ind_primeiro_autor=1)
# if len(autoria) > 0: # se existe autor
# autoria = autoria[0]
# autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
# if len(autor) > 0:
# autor = autor[0]
# try:
# if autor.des_tipo_autor == "Parlamentar":
# parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]
# dic_expediente_materia["nom_autor"] = parlamentar.nom_parlamentar
# elif autor.des_tipo_autor == "Comissao":
# comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
# dic_expediente_materia["nom_autor"] = comissao.nom_comissao
# elif autor.nom_autor != "":
# dic_expediente_materia["nom_autor"] = autor.nom_autor
# else:
# dic_expediente_materia["nom_autor"] = autor.des_tipo_autor
# except:
# dic_expediente_materia["nom_autor"] = "NC-em"
# dic_expediente_materia["votacao_observacao"]=""
# if expediente_materia.tip_resultado_votacao:
# resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=expediente_materia.tip_resultado_votacao, ind_excluido=0)
# for i in resultado:
# dic_expediente_materia["nom_resultado"] = i.nom_resultado
# if expediente_materia.votacao_observacao:
# dic_expediente_materia["votacao_observacao"] = expediente_materia.votacao_observacao
# else:
# dic_expediente_materia["nom_resultado"] = "Matéria não votada"
# dic_expediente_materia["votacao_observacao"] = "Vazio"
# lst_expediente_materia.append(dic_expediente_materia)
# # Lista dos oradores do Expediente
# lst_oradores_expediente = []
# for orador_expediente in context.zsql.oradores_expediente_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
# for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=orador_expediente.cod_parlamentar,ind_excluido=0):
# dic_oradores_expediente = {}
# dic_oradores_expediente["num_ordem"] = orador_expediente.num_ordem
# dic_oradores_expediente["nom_parlamentar"] = parlamentar.nom_parlamentar
# dic_oradores_expediente['sgl_partido'] = parlamentar.sgl_partido
# lst_oradores_expediente.append(dic_oradores_expediente)
# # Lista presença na ordem do dia
# lst_presenca_ordem_dia = []
# for presenca_ordem_dia in context.zsql.presenca_ordem_dia_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,ind_excluido=0):
# for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=presenca_ordem_dia.cod_parlamentar,ind_excluido=0):
# dic_presenca_ordem_dia = {}
# dic_presenca_ordem_dia['nom_parlamentar'] = parlamentar.nom_parlamentar
# dic_presenca_ordem_dia['sgl_partido'] = parlamentar.sgl_partido
# lst_presenca_ordem_dia.append(dic_presenca_ordem_dia)
# # Lista das matérias da Ordem do Dia, incluindo o resultado das votacoes
# lst_votacao=[]
# for votacao in context.zsql.votacao_ordem_dia_obter_zsql(dat_ordem = data, cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
# # seleciona os detalhes de uma matéria
# materia = context.zsql.materia_obter_zsql(cod_materia=votacao.cod_materia)[0]
# dic_votacao = {}
# dic_votacao["num_ordem"] = votacao.num_ordem
# dic_votacao["id_materia"] = materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
# dic_votacao["des_numeracao"]=""
# numeracao = context.zsql.numeracao_obter_zsql(cod_materia=votacao.cod_materia)
# if len(numeracao):
# numeracao = numeracao[0]
# dic_votacao["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
# dic_votacao["des_turno"]=""
# tramitacao = context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1)
# if len(tramitacao):
# tramitacao = tramitacao[0]
# tram = context.zsql.tramitacao_turno_obter_zsql(cod_materia=materia.cod_materia, dat_inicio_sessao=data)
# if len(tram):
# tram_turno = tram[0]
# if tram_turno.sgl_turno != "":
# for turno in [("P","Primeiro"), ("S","Segundo"), ("U","Único"), ("L","Suplementar"), ("F","Final"), ("A","Votação Única em Regime de Urgência"), ("B","1ª Votação"), ("C","2ª e 3ª Votações")]:
# if tram_turno.sgl_turno == turno[0]:
# dic_votacao["des_turno"] = turno[1]
# dic_votacao["txt_ementa"] = materia.txt_ementa
# dic_votacao["ordem_observacao"] = votacao.ordem_observacao
# dic_votacao["nom_autor"] = ""
# autoria = context.zsql.autoria_obter_zsql(cod_materia=votacao.cod_materia, ind_primeiro_autor=1)
# if len(autoria) > 0: # se existe autor
# autoria = autoria[0]
# autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
# if len(autor) > 0:
# autor = autor[0]
# try:
# if autor.des_tipo_autor == "Parlamentar":
# parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]
# dic_votacao["nom_autor"] = parlamentar.nom_parlamentar
# elif autor.des_tipo_autor == "Comissao":
# comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
# dic_votacao["nom_autor"] = comissao.nom_comissao
# elif autor.nom_autor != "":
# dic_votacao["nom_autor"] = autor.nom_autor
# else:
# dic_votacao["nom_autor"] = autor.des_tipo_autor
# except:
# dic_votacao["nom_autor"] = "NC-od"
# dic_votacao["votacao_observacao"]=""
# if votacao.tip_resultado_votacao:
# resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=votacao.tip_resultado_votacao, ind_excluido=0)
# for i in resultado:
# dic_votacao["nom_resultado"] = i.nom_resultado
# if votacao.votacao_observacao:
# dic_votacao["votacao_observacao"] = votacao.votacao_observacao
# else:
# dic_votacao["nom_resultado"] = "Matéria não votada"
# dic_votacao["votacao_observacao"] = "Vazio"
# lst_votacao.append(dic_votacao)
# # Lista dos oradores nas Explicações Pessoais
# lst_oradores = []
# for orador in context.zsql.oradores_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
# for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=orador.cod_parlamentar,ind_excluido=0):
# dic_oradores = {}
# dic_oradores["num_ordem"] = orador.num_ordem
# dic_oradores["nom_parlamentar"] = parlamentar.nom_parlamentar
# dic_oradores['sgl_partido'] = parlamentar.sgl_partido
# lst_oradores.append(dic_oradores)
def get_sessao_plenaria ( sessao , casa ) :
inf_basicas_dic = { }
inf_basicas_dic [ " num_sessao_plen " ] = str ( sessao . numero )
inf_basicas_dic [ " nom_sessao " ] = sessao . tipo . nome
inf_basicas_dic [ " num_legislatura " ] = str ( sessao . legislatura )
inf_basicas_dic [ " num_sessao_leg " ] = sessao . sessao_legislativa . numero
inf_basicas_dic [ " dat_inicio_sessao " ] = sessao . data_inicio . strftime (
" %d / % m/ % Y " )
inf_basicas_dic [ " hr_inicio_sessao " ] = sessao . hora_inicio
inf_basicas_dic [ " dat_fim_sessao " ] = sessao . data_fim . strftime ( " %d / % m/ % Y " )
inf_basicas_dic [ " hr_fim_sessao " ] = sessao . hora_fim
inf_basicas_dic [ " nom_camara " ] = casa . nome
# Lista da composicao da mesa diretora
lst_mesa = [ ]
for composicao in ComposicaoMesa . objects . filter (
sessao_legislativa = sessao . sessao_legislativa ) :
for parlamentar in Parlamentar . objects . filter (
id = composicao . parlamentar . id ) :
for cargo in CargoMesa . objects . filter ( id = composicao . cargo . id ) :
dic_mesa = { }
dic_mesa [ ' nom_parlamentar ' ] = parlamentar . nome_parlamentar
dic_mesa [ ' sgl_partido ' ] = Filiacao . objects . filter (
parlamentar = parlamentar ) . first ( ) . partido . sigla
dic_mesa [ ' des_cargo ' ] = cargo . descricao
lst_mesa . append ( dic_mesa )
# Lista de presença na sessão
lst_presenca_sessao = [ ]
for presenca in SessaoPlenariaPresenca . objects . filter (
sessao_plenaria = sessao ) :
for parlamentar in Parlamentar . objects . filter (
id = presenca . parlamentar . id ) :
dic_presenca = { }
dic_presenca [ " nom_parlamentar " ] = parlamentar . nome_parlamentar
dic_presenca [ ' sgl_partido ' ] = Filiacao . objects . filter (
parlamentar = parlamentar ) . first ( ) . partido . sigla
lst_presenca_sessao . append ( dic_presenca )
# Exibe os Expedientes
lst_expedientes = [ ]
for tip_expediente in TipoExpediente . objects . all ( ) :
for expediente in ExpedienteSessao . objects . filter (
sessao_plenaria = sessao , tipo = tip_expediente ) :
dic_expedientes = { }
dic_expedientes [ " nom_expediente " ] = str ( tip_expediente )
dic_expedientes [ " txt_expediente " ] = (
BeautifulSoup ( expediente . conteudo ) . text )
if dic_expedientes :
lst_expedientes . append ( dic_expedientes )
# Lista das matérias do Expediente, incluindo o resultado das votacoes
lst_expediente_materia = [ ]
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 ( )
dic_expediente_materia = { }
dic_expediente_materia [ " num_ordem " ] = expediente_materia . numero_ordem
dic_expediente_materia [ " id_materia " ] = ( materia . tipo . sigla + ' ' +
materia . tipo . descricao + ' ' +
str ( materia . numero ) + ' / ' +
str ( materia . ano ) )
dic_expediente_materia [ " des_numeracao " ] = ' '
numeracao = Numeracao . objects . filter (
materia = expediente_materia . materia ) . first ( )
if numeracao is not None :
dic_expediente_materia [ " des_numeracao " ] = (
str ( numeracao . numero ) + ' / ' + str ( numeracao . ano ) )
dic_expediente_materia [ " des_turno " ] = ' '
tram = Tramitacao . objects . filter (
materia = materia ) . first ( )
if tram is not None :
if tram . turno != ' ' :
for turno in [ ( " P " , " Primeiro " ) ,
( " S " , " Segundo " ) ,
( " U " , " Único " ) ,
( " L " , " Suplementar " ) ,
( " A " , " Votação Única em Regime de Urgência " ) ,
( " B " , " 1ª Votação " ) ,
( " C " , " 2ª e 3ª Votações " ) ,
( " F " , " Final " ) ] :
if tram . turno == turno [ 0 ] :
dic_expediente_materia [ " des_turno " ] = turno [ 1 ]
dic_expediente_materia [ " txt_ementa " ] = str ( materia . ementa )
dic_expediente_materia [ " ordem_observacao " ] = ' ' # TODO
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 " ] = ' Desconhecido '
dic_expediente_materia [ " votacao_observacao " ] = ' '
if not expediente_materia . resultado :
resultado = RegistroVotacao . objects . filter (
tipo_resultado_votacao = expediente_materia . tipo_votacao )
for i in resultado :
dic_expediente_materia [ " nom_resultado " ] = (
i . tipo_resultado_votacao . nome )
dic_expediente_materia [ " votacao_observacao " ] = (
expediente_materia . observacao )
else :
dic_expediente_materia [ " nom_resultado " ] = " Matéria não votada "
dic_expediente_materia [ " votacao_observacao " ] = " Vazio "
lst_expediente_materia . append ( dic_expediente_materia )
# Lista dos oradores do Expediente
lst_oradores_expediente = [ ]
for orador_expediente in OradorExpediente . objects . filter (
sessao_plenaria = sessao ) :
for parlamentar in Parlamentar . objects . filter (
id = orador_expediente . parlamentar . id ) :
dic_oradores_expediente = { }
dic_oradores_expediente [ " num_ordem " ] = (
orador_expediente . numero_ordem )
dic_oradores_expediente [ " nom_parlamentar " ] = (
parlamentar . nome_parlamentar )
dic_oradores_expediente [ ' sgl_partido ' ] = (
Filiacao . objects . filter (
parlamentar = parlamentar ) . first ( ) . partido . sigla )
lst_oradores_expediente . append ( dic_oradores_expediente )
# Lista presença na ordem do dia
lst_presenca_ordem_dia = [ ]
for presenca_ordem_dia in PresencaOrdemDia . objects . filter (
sessao_plenaria = sessao ) :
for parlamentar in Parlamentar . objects . filter (
id = presenca_ordem_dia . parlamentar . id ) :
dic_presenca_ordem_dia = { }
dic_presenca_ordem_dia [ ' nom_parlamentar ' ] = (
parlamentar . nome_parlamentar )
dic_presenca_ordem_dia [ ' sgl_partido ' ] = (
Filiacao . objects . filter (
parlamentar = parlamentar ) . first ( ) . partido . sigla )
lst_oradores_expediente . append ( dic_oradores_expediente )
lst_presenca_ordem_dia . append ( dic_presenca_ordem_dia )
# Lista das matérias da Ordem do Dia, incluindo o resultado das votacoes
lst_votacao = [ ]
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 ( )
dic_votacao = { }
dic_votacao [ " num_ordem " ] = votacao . numero_ordem
dic_votacao [ " id_materia " ] = (
materia . tipo . sigla + ' ' +
materia . tipo . descricao + ' ' +
str ( materia . numero ) + ' / ' +
str ( materia . ano ) )
dic_votacao [ " des_numeracao " ] = ' '
numeracao = Numeracao . objects . filter (
materia = votacao . materia ) . first ( )
if numeracao is not None :
dic_votacao [ " des_numeracao " ] = (
str ( numeracao . numero ) +
' / ' +
str ( numeracao . ano ) )
dic_votacao [ " des_turno " ] = ' '
tramitacao = Tramitacao . objects . filter (
materia = materia ) . first ( )
if tramitacao is not None :
if not tramitacao . turno :
for turno in [ ( " P " , " Primeiro " ) ,
( " S " , " Segundo " ) ,
( " U " , " Único " ) ,
( " L " , " Suplementar " ) ,
( " F " , " Final " ) ,
( " A " , " Votação Única em Regime de Urgência " ) ,
( " B " , " 1ª Votação " ) ,
( " C " , " 2ª e 3ª Votações " ) ] :
if tramitacao . turno == turno [ 0 ] :
dic_votacao [ " des_turno " ] = turno [ 1 ]
dic_votacao [ " txt_ementa " ] = materia . ementa
dic_votacao [ " ordem_observacao " ] = 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 " ] = ' Desconhecido '
dic_votacao [ " votacao_observacao " ] = ' '
if not votacao . resultado :
resultado = RegistroVotacao . objects . filter (
tipo_resultado_votacao = votacao . tipo_votacao )
for i in resultado :
dic_votacao [ " nom_resultado " ] = i . tipo_resultado_votacao . nome
if votacao . observacao :
dic_votacao [ " votacao_observacao " ] = votacao . observacao
else :
dic_votacao [ " nom_resultado " ] = " Matéria não votada "
dic_votacao [ " votacao_observacao " ] = " Vazio "
lst_votacao . append ( dic_votacao )
# Lista dos oradores nas Explicações Pessoais
lst_oradores = [ ]
for orador in Orador . objects . filter (
sessao_plenaria = sessao ) :
for parlamentar in Parlamentar . objects . filter (
id = orador . parlamentar . id ) :
dic_oradores = { }
dic_oradores [ " num_ordem " ] = orador . numero_ordem
dic_oradores [ " nom_parlamentar " ] = parlamentar . nome_parlamentar
dic_oradores [ ' sgl_partido ' ] = (
Filiacao . objects . filter (
parlamentar = parlamentar ) . first ( ) . partido . sigla )
lst_oradores . append ( dic_oradores )
return ( inf_basicas_dic ,
lst_mesa ,
lst_presenca_sessao ,
lst_expedientes ,
lst_expediente_materia ,
lst_oradores_expediente ,
lst_presenca_ordem_dia ,
lst_votacao ,
lst_oradores )
def relatorio_sessao_plenaria ( request ) :
@ -752,7 +819,8 @@ def relatorio_sessao_plenaria(request):
'''
response = HttpResponse ( content_type = ' application/pdf ' )
response [ ' Content-Disposition ' ] = ' attachment; filename= " relatorio_protocolo.pdf " '
response [ ' Content-Disposition ' ] = (
' attachment; filename= " relatorio_protocolo.pdf " ' )
casa = CasaLegislativa . objects . first ( )
@ -761,20 +829,36 @@ def relatorio_sessao_plenaria(request):
imagem = get_imagem ( casa )
# protocolos = Protocolo.objects.all()[:50]
sessao_data = get_sessao_plenaria ( sessao )
pdf = pdf_sessao_plenaria_gerar . principal ( None ,
imagem ,
None ,
sessao_data ,
cabecalho ,
rodape )
sessao = SessaoPlenaria . objects . first ( )
( inf_basicas_dic ,
lst_mesa ,
lst_presenca_sessao ,
lst_expedientes ,
lst_expediente_materia ,
lst_oradores_expediente ,
lst_presenca_ordem_dia ,
lst_votacao ,
lst_oradores ) = get_sessao_plenaria ( sessao , casa )
pdf = pdf_sessao_plenaria_gerar . principal (
cabecalho ,
rodape ,
imagem ,
None ,
inf_basicas_dic ,
lst_mesa ,
lst_presenca_sessao ,
lst_expedientes ,
lst_expediente_materia ,
lst_oradores_expediente ,
lst_presenca_ordem_dia ,
lst_votacao ,
lst_oradores )
response . write ( pdf )
return response
def get_protocolos ( prots ) :
protocolos = [ ]