|
|
|
@ -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,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 |
|
|
|
@ -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('<p\s+>', '<p>', conteudo) |
|
|
|
conteudo = re.sub('<br\s+/>', '<br/>', 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) |
|
|
|
|
|
|
|
@ -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) |
|
|
|
|
|
|
|
@ -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") + ' - <b>Horário:</b>' + \ |
|
|
|
ts.strftime("%H:%m") |
|
|
|
ts.strftime("%H:%m") |
|
|
|
else: |
|
|
|
dic['data'] = protocolo.data.strftime("%d/%m/%Y") + ' - <b>Horário:</b>' \ |
|
|
|
+ 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] |
|
|
|
@ -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() |
|
|
|
@ -1441,54 +1450,54 @@ 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) |
|
|
|
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, |
|
|
|
"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') |
|
|
|
}) |
|
|
|
{ |
|
|
|
"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') |
|
|
|
}) |
|
|
|
|
|
|
|
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) |
|
|
|
|
|
|
|
@ -1498,4 +1507,3 @@ def relatorio_sessao_plenaria_pdf(request, pk): |
|
|
|
response.write(pdf_file) |
|
|
|
|
|
|
|
return response |
|
|
|
|
|
|
|
|