|
|
|
@ -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 |
|
|
|
@ -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,7 +107,6 @@ def get_rodape(casa): |
|
|
|
|
|
|
|
|
|
|
|
def get_materias(mats): |
|
|
|
|
|
|
|
materias = [] |
|
|
|
for materia in mats: |
|
|
|
dic = {} |
|
|
|
@ -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 |
|
|
|
@ -742,7 +735,6 @@ def get_sessao_plenaria(sessao, casa): |
|
|
|
|
|
|
|
numeracao = materia.numeracao_set.first() |
|
|
|
if numeracao: |
|
|
|
|
|
|
|
dic_votacao["des_numeracao"] = ( |
|
|
|
str(numeracao.numero_materia) + |
|
|
|
'/' + |
|
|
|
@ -973,7 +965,6 @@ def relatorio_sessao_plenaria(request, pk): |
|
|
|
|
|
|
|
|
|
|
|
def get_protocolos(prots): |
|
|
|
|
|
|
|
protocolos = [] |
|
|
|
for protocolo in prots: |
|
|
|
dic = {} |
|
|
|
@ -1090,7 +1081,6 @@ def relatorio_etiqueta_protocolo(request, nro, ano): |
|
|
|
|
|
|
|
|
|
|
|
def get_etiqueta_protocolos(prots): |
|
|
|
|
|
|
|
protocolos = [] |
|
|
|
for p in prots: |
|
|
|
dic = {} |
|
|
|
@ -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 |
|
|
|
@ -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] |
|
|
|
@ -1307,7 +1297,7 @@ def make_pdf(base_url,main_template,header_template,main_css='',header_css=''): |
|
|
|
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)) |
|
|
|
@ -1330,12 +1320,12 @@ 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' |
|
|
|
@ -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() |
|
|
|
@ -1458,22 +1467,22 @@ def relatorio_sessao_plenaria_pdf(request, pk): |
|
|
|
|
|
|
|
html_template = render_to_string('relatorios/relatorio_sessao_plenaria.html', |
|
|
|
{ |
|
|
|
"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, |
|
|
|
"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') |
|
|
|
}) |
|
|
|
|
|
|
|
@ -1485,10 +1494,10 @@ def relatorio_sessao_plenaria_pdf(request, pk): |
|
|
|
inf_basicas_dic['num_legislatura'] |
|
|
|
) |
|
|
|
|
|
|
|
html_header = render_to_string('relatorios/header_ata.html',{"casa":casa, |
|
|
|
html_header = render_to_string('relatorios/header_ata.html', {"casa": casa, |
|
|
|
"MEDIA_URL": MEDIA_URL, |
|
|
|
"logotipo": casa.logotipo, |
|
|
|
"info":info}) |
|
|
|
"info": info}) |
|
|
|
|
|
|
|
pdf_file = make_pdf(base_url=base_url, main_template=html_template, header_template=html_header) |
|
|
|
|
|
|
|
@ -1498,4 +1507,3 @@ def relatorio_sessao_plenaria_pdf(request, pk): |
|
|
|
response.write(pdf_file) |
|
|
|
|
|
|
|
return response |
|
|
|
|
|
|
|
|