diff --git a/sapl/relatorios/views.py b/sapl/relatorios/views.py index 16c4f23d6..3738a35bf 100755 --- a/sapl/relatorios/views.py +++ b/sapl/relatorios/views.py @@ -4,7 +4,6 @@ import logging import re import tempfile - from django.core.exceptions import ObjectDoesNotExist from django.http import Http404, HttpResponse from django.utils import timezone @@ -25,7 +24,7 @@ from sapl.sessao.models import (ExpedienteMateria, ExpedienteSessao, Orador, OradorExpediente, OrdemDia, PresencaOrdemDia, SessaoPlenaria, SessaoPlenariaPresenca, OcorrenciaSessao, - RegistroVotacao, VotoParlamentar, OradorOrdemDia, TipoExpediente) + RegistroVotacao, VotoParlamentar, OradorOrdemDia, TipoExpediente, ResumoOrdenacao) from sapl.settings import STATIC_ROOT from sapl.utils import LISTA_DE_UFS, TrocaTag, filiacao_data @@ -58,7 +57,6 @@ def get_kwargs_params(request, fields): def get_cabecalho(casa): - cabecalho = {} cabecalho["nom_casa"] = casa.nome uf_dict = dict(LISTA_DE_UFS) @@ -74,7 +72,6 @@ def get_imagem(casa): def get_rodape(casa): - if len(casa.cep) == 8: cep = casa.cep[:4] + "-" + casa.cep[5:] else: @@ -110,12 +107,11 @@ def get_rodape(casa): def get_materias(mats): - materias = [] for materia in mats: dic = {} dic['titulo'] = materia.tipo.sigla + " " + materia.tipo.descricao \ - + " " + str(materia.numero) + "/" + str(materia.ano) + + " " + str(materia.numero) + "/" + str(materia.ano) dic['txt_ementa'] = materia.ementa dic['nom_autor'] = ', '.join( @@ -250,7 +246,7 @@ def get_capa_processo(prot): for numera in Numeracao.objects.filter(materia=materia_num): # FIXME i18n dic['numeracao'] = 'PROCESSO N° ' + \ - str(numera.numero) + '/' + str(numera.ano) + str(numera.numero) + '/' + str(numera.ano) dic['anulado'] = '' if p.anulado == 1: dic['anulado'] = 'Nulo' @@ -294,7 +290,6 @@ def relatorio_capa_processo(request): def get_ordem_dia(ordem, sessao): - # TODO: fazer implementação de ordem dia pass @@ -361,7 +356,6 @@ def relatorio_documento_administrativo(request): def get_documento_administrativo(docs): - documentos = [] for d in docs: dic = {} @@ -505,7 +499,6 @@ def remove_html_comments(text): 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 @@ -524,14 +517,14 @@ def get_sessao_plenaria(sessao, casa): if sessao.tipo.nome == 'Solene': inf_basicas_dic["tema_solene"] = sessao.tema_solene - + # Conteudo multimidia cont_mult_dic = {} if sessao.url_audio: cont_mult_dic['multimidia_audio'] = str(sessao.url_audio) else: cont_mult_dic['multimidia_audio'] = 'Indisponível' - + if sessao.url_video: cont_mult_dic['multimidia_video'] = str(sessao.url_video) else: @@ -597,7 +590,7 @@ def get_sessao_plenaria(sessao, casa): # https://github.com/interlegis/sapl/issues/1046 conteudo = re.sub('style=".*?"', '', conteudo) conteudo = re.sub('class=".*?"', '', conteudo) - conteudo = re.sub('align=".*?"', '', conteudo) # OSTicket Ticket #796450 + conteudo = re.sub('align=".*?"', '', conteudo) # OSTicket Ticket #796450 conteudo = re.sub('
', '
', conteudo)
conteudo = re.sub('
', '
', conteudo) # OSTicket Ticket #796450
conteudo = html.unescape(conteudo)
@@ -632,8 +625,8 @@ def get_sessao_plenaria(sessao, casa):
materia=expediente_materia.materia).first()
if numeracao:
dic_expediente_materia["des_numeracao"] = (
- str(numeracao.numero_materia) + '/' + str(
- numeracao.ano_materia))
+ str(numeracao.numero_materia) + '/' + str(
+ numeracao.ano_materia))
turno, _ = get_turno(materia)
@@ -673,20 +666,20 @@ def get_sessao_plenaria(sessao, casa):
materias_expediente_votacao_nominal = ExpedienteMateria.objects.filter(
sessao_plenaria=sessao,
tipo_votacao=2).order_by('-materia')
-
+
for mevn in materias_expediente_votacao_nominal:
votos_materia = []
titulo_materia = mevn.materia
registro = RegistroVotacao.objects.filter(expediente=mevn)
-
+
if registro:
for vp in VotoParlamentar.objects.filter(votacao=registro).order_by('parlamentar'):
votos_materia.append(vp)
-
+
dic_expediente_materia_vot_nom = {
'titulo': titulo_materia,
'votos': votos_materia
- }
+ }
lst_expediente_materia_vot_nom.append(dic_expediente_materia_vot_nom)
# Lista dos oradores do Expediente
@@ -734,19 +727,18 @@ def get_sessao_plenaria(sessao, casa):
dic_votacao["nom_resultado"] = ''
dic_votacao["num_ordem"] = votacao.numero_ordem
dic_votacao["id_materia"] = (
- materia.tipo.sigla + ' ' +
- materia.tipo.descricao + ' ' +
- str(materia.numero) + '/' +
- str(materia.ano))
+ materia.tipo.sigla + ' ' +
+ materia.tipo.descricao + ' ' +
+ str(materia.numero) + '/' +
+ str(materia.ano))
dic_votacao["des_numeracao"] = ' '
numeracao = materia.numeracao_set.first()
if numeracao:
-
dic_votacao["des_numeracao"] = (
- str(numeracao.numero_materia) +
- '/' +
- str(numeracao.ano_materia))
+ str(numeracao.numero_materia) +
+ '/' +
+ str(numeracao.ano_materia))
turno, _ = get_turno(materia)
@@ -784,20 +776,20 @@ def get_sessao_plenaria(sessao, casa):
materias_ordem_dia_votacao_nominal = OrdemDia.objects.filter(
sessao_plenaria=sessao,
tipo_votacao=2).order_by('-materia')
-
+
for modvn in materias_ordem_dia_votacao_nominal:
votos_materia_od = []
t_materia = modvn.materia
registro_od = RegistroVotacao.objects.filter(ordem=modvn)
-
+
if registro_od:
for vp_od in VotoParlamentar.objects.filter(votacao=registro_od).order_by('parlamentar'):
votos_materia_od.append(vp_od)
-
+
dic_votacao_vot_nom = {
'titulo': t_materia,
'votos': votos_materia_od
- }
+ }
lst_votacao_vot_nom.append(dic_votacao_vot_nom)
# Lista dos oradores da Ordem do Dia
@@ -811,7 +803,7 @@ def get_sessao_plenaria(sessao, casa):
parlamentar_orador = Parlamentar.objects.get(
id=orador_ordemdia.parlamentar.id
)
-
+
sigla_partido = Filiacao.objects.filter(
parlamentar=parlamentar_orador
).first()
@@ -820,7 +812,7 @@ def get_sessao_plenaria(sessao, casa):
sigla_p = ""
else:
sigla_p = sigla_partido.partido.sigla
-
+
dic_oradores_ordemdia = {
'num_ordem': orador_ordemdia.numero_ordem,
'nome_parlamentar': parlamentar_orador.nome_parlamentar,
@@ -939,7 +931,7 @@ def relatorio_sessao_plenaria(request, pk):
lst_presenca_ordem_dia,
lst_votacao,
lst_votacao_vot_nom,
- lst_oradores_ordemdia,
+ lst_oradores_ordemdia,
lst_oradores,
lst_ocorrencias) = get_sessao_plenaria(sessao, casa)
@@ -973,7 +965,6 @@ def relatorio_sessao_plenaria(request, pk):
def get_protocolos(prots):
-
protocolos = []
for protocolo in prots:
dic = {}
@@ -983,10 +974,10 @@ def get_protocolos(prots):
ts = timezone.localtime(protocolo.timestamp)
if protocolo.timestamp:
dic['data'] = ts.strftime("%d/%m/%Y") + ' - Horário:' + \
- ts.strftime("%H:%m")
+ ts.strftime("%H:%m")
else:
dic['data'] = protocolo.data.strftime("%d/%m/%Y") + ' - Horário:' \
- + protocolo.hora.strftime("%H:%m")
+ + protocolo.hora.strftime("%H:%m")
dic['txt_assunto'] = protocolo.assunto_ementa
@@ -1029,7 +1020,7 @@ def relatorio_protocolo(request):
response = HttpResponse(content_type='application/pdf')
response[
'Content-Disposition'] = (
- 'inline; filename="relatorio_protocolo.pdf"')
+ 'inline; filename="relatorio_protocolo.pdf"')
casa = CasaLegislativa.objects.first()
@@ -1067,7 +1058,7 @@ def relatorio_etiqueta_protocolo(request, nro, ano):
response = HttpResponse(content_type='application/pdf')
response[
'Content-Disposition'] = (
- 'inline; filename="relatorio_etiqueta_protocolo.pdf"')
+ 'inline; filename="relatorio_etiqueta_protocolo.pdf"')
casa = CasaLegislativa.objects.first()
@@ -1090,7 +1081,6 @@ def relatorio_etiqueta_protocolo(request, nro, ano):
def get_etiqueta_protocolos(prots):
-
protocolos = []
for p in prots:
dic = {}
@@ -1113,7 +1103,7 @@ def get_etiqueta_protocolos(prots):
for materia in MateriaLegislativa.objects.filter(
numero_protocolo=p.numero, ano=p.ano):
dic['num_materia'] = materia.tipo.sigla + ' ' + \
- str(materia.numero) + '/' + str(materia.ano)
+ str(materia.numero) + '/' + str(materia.ano)
dic['natureza'] = ''
if p.tipo_processo == 0:
@@ -1125,7 +1115,7 @@ def get_etiqueta_protocolos(prots):
for documento in DocumentoAdministrativo.objects.filter(
protocolo=p):
dic['num_documento'] = documento.tipo.sigla + ' ' + \
- str(documento.numero) + '/' + str(documento.ano)
+ str(documento.numero) + '/' + str(documento.ano)
dic['ident_processo'] = dic['num_materia'] or dic['num_documento']
@@ -1148,7 +1138,7 @@ def relatorio_pauta_sessao(request, pk):
response = HttpResponse(content_type='application/pdf')
response[
'Content-Disposition'] = (
- 'inline; filename="relatorio_pauta_sessao.pdf"')
+ 'inline; filename="relatorio_pauta_sessao.pdf"')
casa = CasaLegislativa.objects.first()
@@ -1172,7 +1162,6 @@ def relatorio_pauta_sessao(request, pk):
def get_pauta_sessao(sessao, casa):
-
inf_basicas_dic = {}
inf_basicas_dic["nom_sessao"] = sessao.tipo.nome
inf_basicas_dic["num_sessao_plen"] = sessao.numero
@@ -1192,7 +1181,7 @@ def get_pauta_sessao(sessao, casa):
dic_expediente_materia = {}
dic_expediente_materia["tipo_materia"] = materia.tipo.sigla + \
- ' - ' + materia.tipo.descricao
+ ' - ' + materia.tipo.descricao
dic_expediente_materia["num_ordem"] = str(
expediente_materia.numero_ordem)
dic_expediente_materia["id_materia"] = str(
@@ -1234,7 +1223,7 @@ def get_pauta_sessao(sessao, casa):
id=votacao.materia.id).first()
dic_votacao = {}
dic_votacao["tipo_materia"] = materia.tipo.sigla + \
- ' - ' + materia.tipo.descricao
+ ' - ' + materia.tipo.descricao
dic_votacao["num_ordem"] = votacao.numero_ordem
dic_votacao["id_materia"] = str(
materia.numero) + "/" + str(materia.ano)
@@ -1280,7 +1269,8 @@ def get_pauta_sessao(sessao, casa):
inf_basicas_dic,
expedientes)
-def make_pdf(base_url,main_template,header_template,main_css='',header_css=''):
+
+def make_pdf(base_url, main_template, header_template, main_css='', header_css=''):
html = HTML(base_url=base_url, string=main_template)
main_doc = html.render(stylesheets=[])
@@ -1291,7 +1281,7 @@ def make_pdf(base_url,main_template,header_template,main_css='',header_css=''):
return get_page_body(box.all_children())
# Template of header
- html = HTML(base_url=base_url,string=header_template)
+ html = HTML(base_url=base_url, string=header_template)
header = html.render(stylesheets=[CSS(string='@page {size:A4; margin:1cm;}')])
header_page = header.pages[0]
@@ -1301,19 +1291,19 @@ def make_pdf(base_url,main_template,header_template,main_css='',header_css=''):
for page in main_doc.pages:
page_body = get_page_body(page._page_box.all_children())
page_body.children += header_body.all_children()
-
+
pdf_file = main_doc.write_pdf()
return pdf_file
-def resumo_ata_pdf(request,pk):
+def resumo_ata_pdf(request, pk):
base_url = request.build_absolute_uri()
casa = CasaLegislativa.objects.first()
rodape = ' '.join(get_rodape(casa))
-
+
sessao_plenaria = SessaoPlenaria.objects.get(pk=pk)
-
+
context = {}
context.update(get_identificacao_basica(sessao_plenaria))
context.update(get_mesa_diretora(sessao_plenaria))
@@ -1330,13 +1320,13 @@ def resumo_ata_pdf(request,pk):
context.update({'object': sessao_plenaria})
context.update({'data': dt.today().strftime('%d/%m/%Y')})
context.update({'rodape': rodape})
- header_context = {"casa": casa, 'logotipo':casa.logotipo, 'MEDIA_URL': MEDIA_URL}
+ header_context = {"casa": casa, 'logotipo': casa.logotipo, 'MEDIA_URL': MEDIA_URL}
html_template = render_to_string('relatorios/relatorio_ata.html', context)
html_header = render_to_string('relatorios/header_ata.html', header_context)
- pdf_file = make_pdf(base_url=base_url,main_template=html_template,header_template=html_header)
-
+ pdf_file = make_pdf(base_url=base_url, main_template=html_template, header_template=html_header)
+
response = HttpResponse(content_type='application/pdf;')
response['Content-Disposition'] = 'inline; filename=relatorio.pdf'
response['Content-Transfer-Encoding'] = 'binary'
@@ -1344,6 +1334,7 @@ def resumo_ata_pdf(request,pk):
return response
+
def cria_relatorio(request, context, html_string, header_info=""):
base_url = request.build_absolute_uri()
casa = CasaLegislativa.objects.first()
@@ -1366,62 +1357,80 @@ def cria_relatorio(request, context, html_string, header_info=""):
return response
+
def relatorio_doc_administrativos(request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_doc_administrativos.html')
+
def relatorio_materia_em_tramitacao(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_materias_em_tramitacao.html')
+
def relatorio_materia_por_autor(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_materias_por_autor.html')
+
def relatorio_materia_por_ano_autor(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_materias_por_ano_autor.html')
+
def relatorio_presenca_sessao(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_presenca_sessao.html')
+
def relatorio_atas(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_atas.html')
+
def relatorio_historico_tramitacao(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_historico_tramitacao.html')
+
def relatorio_fim_prazo_tramitacao(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_fim_prazo_tramitacao.html')
+
def relatorio_reuniao(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_reuniao.html')
+
def relatorio_audiencia(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_audiencia.html')
+
def relatorio_normas_mes(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_normas_mes.html')
+
def relatorio_normas_vigencia(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_normas_vigencia.html')
+
def relatorio_historico_tramitacao_adm(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_historico_tramitacao_adm.html')
+
def relatorio_estatisticas_acesso_normas(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_estatisticas_acesso_normas.html')
+
def relatorio_documento_acessorio(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_documento_acessorio.html')
+
def relatorio_normas_por_autor(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_normas_por_autor.html')
+
def relatorio_pauta_sessao_weasy(obj, request, context):
sessao = context['object']
- info = "Pauta da {} ({} - {}) Legislatura".format(sessao,sessao.legislatura.data_inicio.year,sessao.legislatura.data_fim.year)
- return cria_relatorio(request, context, 'relatorios/relatorio_pauta_sessao.html',info)
+ info = "Pauta da {} ({} - {}) Legislatura".format(sessao, sessao.legislatura.data_inicio.year,
+ sessao.legislatura.data_fim.year)
+ return cria_relatorio(request, context, 'relatorios/relatorio_pauta_sessao.html', info)
def relatorio_sessao_plenaria_pdf(request, pk):
- base_url=request.build_absolute_uri()
+ base_url = request.build_absolute_uri()
logger = logging.getLogger(__name__)
username = request.user.username
casa = CasaLegislativa.objects.first()
@@ -1441,50 +1450,110 @@ def relatorio_sessao_plenaria_pdf(request, pk):
raise Http404('Essa página não existe')
(inf_basicas_dic,
- cont_mult_dic,
- lst_mesa,
- lst_presenca_sessao,
- lst_ausencia_sessao,
- lst_expedientes,
- lst_expediente_materia,
- lst_expediente_materia_vot_nom,
- lst_oradores_expediente,
- lst_presenca_ordem_dia,
- lst_votacao,
- lst_votacao_vot_nom,
- lst_oradores_ordemdia,
- lst_oradores,
- lst_ocorrencias) = get_sessao_plenaria(sessao, casa)
-
- html_template = render_to_string('relatorios/relatorio_sessao_plenaria.html',
- {
- "inf_basicas_dic":inf_basicas_dic,
- "lst_mesa":lst_mesa,
- "lst_presenca_sessao":lst_presenca_sessao,
- "lst_ausencia_sessao":lst_ausencia_sessao,
- "lst_expedientes":lst_expedientes,
- "lst_expediente_materia":lst_expediente_materia,
- "lst_oradores_expediente":lst_oradores_expediente,
- "lst_presenca_ordem_dia":lst_presenca_ordem_dia,
- "lst_votacao":lst_votacao,
- "lst_oradores":lst_oradores,
- "lst_ocorrencias":lst_ocorrencias,
- "rodape":rodape,
- "data": dt.today().strftime('%d/%m/%Y')
- })
+ cont_mult_dic,
+ lst_mesa,
+ lst_presenca_sessao,
+ lst_ausencia_sessao,
+ lst_expedientes,
+ lst_expediente_materia,
+ lst_expediente_materia_vot_nom,
+ lst_oradores_expediente,
+ lst_presenca_ordem_dia,
+ lst_votacao,
+ lst_votacao_vot_nom,
+ lst_oradores_ordemdia,
+ lst_oradores,
+ lst_ocorrencias) = get_sessao_plenaria(sessao, casa)
+
+ dict_ord_template = {
+ 'cont_mult': 'conteudo_multimidia.html',
+ 'exp': 'expedientes.html',
+ 'id_basica': 'identificacao_basica.html',
+ 'lista_p': 'lista_presenca_sessao.html',
+ 'lista_p_o_d': 'lista_presenca_ordemdia.html',
+ 'mat_exp': 'materias_expediente.html',
+ 'v_n_mat_exp': 'votos_nominais_expediente.html',
+ 'mat_o_d': 'materias_ordemdia.html',
+ 'v_n_mat_o_d': 'votos_nominais_ordemdia.html',
+ 'mesa_d': 'mesa_diretora.html',
+ 'oradores_exped': 'oradores_expediente.html',
+ 'oradores_o_d': 'oradores_ordemdia.html',
+ 'oradores_expli': 'oradores_explicacoes.html',
+ 'ocorr_sessao': 'ocorrencias_sessao.html'
+ }
+
+ context = {
+ "inf_basicas_dic": inf_basicas_dic,
+ "cont_mult_dic": cont_mult_dic,
+ "lst_mesa": lst_mesa,
+ "lst_expediente_materia_vot_nom": lst_expediente_materia_vot_nom,
+ "lst_presenca_sessao": lst_presenca_sessao,
+ "lst_ausencia_sessao": lst_ausencia_sessao,
+ "lst_expedientes": lst_expedientes,
+ "lst_expediente_materia": lst_expediente_materia,
+ "lst_oradores_expediente": lst_oradores_expediente,
+ "lst_presenca_ordem_dia": lst_presenca_ordem_dia,
+ "lst_votacao": lst_votacao,
+ "lst_oradores_ordemdia": lst_oradores_ordemdia,
+ "lst_votacao_vot_nom": lst_votacao_vot_nom,
+ "lst_oradores": lst_oradores,
+ "lst_ocorrencias": lst_ocorrencias,
+ "rodape": rodape,
+ "data": dt.today().strftime('%d/%m/%Y')
+ }
+
+ ordenacao = ResumoOrdenacao.objects.get_or_create()[0]
+ try:
+ context.update({
+ 'primeiro_ordenacao': dict_ord_template[ordenacao.primeiro],
+ 'segundo_ordenacao': dict_ord_template[ordenacao.segundo],
+ 'terceiro_ordenacao': dict_ord_template[ordenacao.terceiro],
+ 'quarto_ordenacao': dict_ord_template[ordenacao.quarto],
+ 'quinto_ordenacao': dict_ord_template[ordenacao.quinto],
+ 'sexto_ordenacao': dict_ord_template[ordenacao.sexto],
+ 'setimo_ordenacao': dict_ord_template[ordenacao.setimo],
+ 'oitavo_ordenacao': dict_ord_template[ordenacao.oitavo],
+ 'nono_ordenacao': dict_ord_template[ordenacao.nono],
+ 'decimo_ordenacao': dict_ord_template[ordenacao.decimo],
+ 'decimo_primeiro_ordenacao': dict_ord_template[ordenacao.decimo_primeiro],
+ 'decimo_segundo_ordenacao': dict_ord_template[ordenacao.decimo_segundo],
+ 'decimo_terceiro_ordenacao': dict_ord_template[ordenacao.decimo_terceiro],
+ 'decimo_quarto_ordenacao': dict_ord_template[ordenacao.decimo_quarto]
+ })
+ except KeyError as e:
+ # self.logger.error("KeyError: " + str(e) + ". Erro ao tentar utilizar "
+ # "configuração de ordenação. Utilizando ordenação padrão.")
+ context.update({
+ 'primeiro_ordenacao': 'identificacao_basica.html',
+ 'segundo_ordenacao': 'conteudo_multimidia.html',
+ 'terceiro_ordenacao': 'mesa_diretora.html',
+ 'quarto_ordenacao': 'lista_presenca_sessao.html',
+ 'quinto_ordenacao': 'expedientes.html',
+ 'sexto_ordenacao': 'materias_expediente.html',
+ 'setimo_ordenacao': 'votos_nominais_expediente.html',
+ 'oitavo_ordenacao': 'oradores_expediente.html',
+ 'nono_ordenacao': 'lista_presenca_ordemdia.html',
+ 'decimo_ordenacao': 'materias_ordemdia.html',
+ 'decimo_primeiro_ordenacao': 'votos_nominais_ordemdia.html',
+ 'decimo_segundo_ordenacao': 'oradores_ordemdia.html',
+ 'decimo_terceiro_ordenacao': 'oradores_explicacoes.html',
+ 'decimo_quarto_ordenacao': 'ocorrencias_sessao.html'
+ })
+
+ html_template = render_to_string('relatorios/relatorio_sessao_plenaria.html', context)
info = "Resumo da {}ª Reunião {} \
da {}ª Sessão Legislativa da {} \
Legislatura".format(inf_basicas_dic['num_sessao_plen'],
- inf_basicas_dic['nom_sessao'],
- inf_basicas_dic['num_sessao_leg'],
- inf_basicas_dic['num_legislatura']
+ inf_basicas_dic['nom_sessao'],
+ inf_basicas_dic['num_sessao_leg'],
+ inf_basicas_dic['num_legislatura']
)
- html_header = render_to_string('relatorios/header_ata.html',{"casa":casa,
- "MEDIA_URL": MEDIA_URL,
- "logotipo": casa.logotipo,
- "info":info})
+ html_header = render_to_string('relatorios/header_ata.html', {"casa": casa,
+ "MEDIA_URL": MEDIA_URL,
+ "logotipo": casa.logotipo,
+ "info": info})
pdf_file = make_pdf(base_url=base_url, main_template=html_template, header_template=html_header)
@@ -1494,4 +1563,3 @@ def relatorio_sessao_plenaria_pdf(request, pk):
response.write(pdf_file)
return response
-
diff --git a/sapl/static/sapl/css/relatorio.css b/sapl/static/sapl/css/relatorio.css
index 6fd166c99..7fdbf1b66 100644
--- a/sapl/static/sapl/css/relatorio.css
+++ b/sapl/static/sapl/css/relatorio.css
@@ -38,6 +38,7 @@ html body section dl {
html body section dt{
width: 50px;
+ text-align: left;
}
html body section dd {
diff --git a/sapl/templates/relatorios/base_relatorio.html b/sapl/templates/relatorios/base_relatorio.html
index a824e3514..542642182 100644
--- a/sapl/templates/relatorios/base_relatorio.html
+++ b/sapl/templates/relatorios/base_relatorio.html
@@ -8,7 +8,7 @@