Browse Source

Adicionando expedientes ao pdf de pauta de sessão

pull/2879/head
ulyssesBML 7 years ago
parent
commit
9c8a55f9e8
  1. 14
      sapl/relatorios/templates/pdf_pauta_sessao_gerar.py
  2. 23
      sapl/relatorios/views.py
  3. 38
      sapl/templates/sessao/pauta_sessao_detail.html

14
sapl/relatorios/templates/pdf_pauta_sessao_gerar.py

@ -112,6 +112,17 @@ def inf_basicas(inf_basicas_dic):
return tmp return tmp
def build_expedientes(expedientes):
"""
"""
tmp = ""
tmp += '\t\t<para style="P1">Expedientes</para>\n'
for e in expedientes:
tmp += '\t\t\t<para style="P2" spaceAfter="5"><b>{}:</b></para>'.format(e['tipo'])
tmp += '\t\t\t <para style="P2" spaceAfter="5"><p>{}</p></para>'.format(e['conteudo'])
return tmp
def expediente_materia(lst_expediente_materia): def expediente_materia(lst_expediente_materia):
""" """
@ -168,7 +179,7 @@ def votacao(lst_votacao):
return tmp return tmp
def principal(rodape_dic, imagem, inf_basicas_dic, lst_expediente_materia, lst_votacao): def principal(rodape_dic, imagem, inf_basicas_dic, lst_expediente_materia, lst_votacao, expedientes):
""" """
""" """
@ -190,6 +201,7 @@ def principal(rodape_dic, imagem, inf_basicas_dic, lst_expediente_materia, lst_v
tmp += paraStyle() tmp += paraStyle()
tmp += '\t<story>\n' tmp += '\t<story>\n'
tmp += inf_basicas(inf_basicas_dic) tmp += inf_basicas(inf_basicas_dic)
tmp += build_expedientes(expedientes)
tmp += expediente_materia(lst_expediente_materia) tmp += expediente_materia(lst_expediente_materia)
tmp += votacao(lst_votacao) tmp += votacao(lst_votacao)
tmp += '\t</story>\n' tmp += '\t</story>\n'

23
sapl/relatorios/views.py

@ -4,11 +4,13 @@ import logging
import re import re
import tempfile import tempfile
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.http import Http404, HttpResponse from django.http import Http404, HttpResponse
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.template.loader import render_to_string from django.template.loader import render_to_string
from django.utils.html import strip_tags
from sapl.settings import MEDIA_URL from sapl.settings import MEDIA_URL
from sapl.base.models import Autor, CasaLegislativa from sapl.base.models import Autor, CasaLegislativa
@ -23,7 +25,7 @@ from sapl.sessao.models import (ExpedienteMateria, ExpedienteSessao,
Orador, OradorExpediente, Orador, OradorExpediente,
OrdemDia, PresencaOrdemDia, SessaoPlenaria, OrdemDia, PresencaOrdemDia, SessaoPlenaria,
SessaoPlenariaPresenca, OcorrenciaSessao, SessaoPlenariaPresenca, OcorrenciaSessao,
RegistroVotacao, VotoParlamentar, OradorOrdemDia) RegistroVotacao, VotoParlamentar, OradorOrdemDia, TipoExpediente)
from sapl.settings import STATIC_ROOT from sapl.settings import STATIC_ROOT
from sapl.utils import LISTA_DE_UFS, TrocaTag, filiacao_data from sapl.utils import LISTA_DE_UFS, TrocaTag, filiacao_data
@ -1155,13 +1157,14 @@ def relatorio_pauta_sessao(request, pk):
sessao = SessaoPlenaria.objects.get(id=pk) sessao = SessaoPlenaria.objects.get(id=pk)
lst_expediente_materia, lst_votacao, inf_basicas_dic = get_pauta_sessao( lst_expediente_materia, lst_votacao, inf_basicas_dic, expedientes = get_pauta_sessao(
sessao, casa) sessao, casa)
pdf = pdf_pauta_sessao_gerar.principal(rodape, pdf = pdf_pauta_sessao_gerar.principal(rodape,
imagem, imagem,
inf_basicas_dic, inf_basicas_dic,
lst_expediente_materia, lst_expediente_materia,
lst_votacao) lst_votacao,
expedientes)
response.write(pdf) response.write(pdf)
@ -1262,9 +1265,21 @@ def get_pauta_sessao(sessao, casa):
lst_votacao.append(dic_votacao) lst_votacao.append(dic_votacao)
expediente = ExpedienteSessao.objects.filter(
sessao_plenaria_id=sessao.id)
expedientes = []
for e in expediente:
tipo = TipoExpediente.objects.get(
id=e.tipo_id)
conteudo = re.sub(
'&nbsp;', ' ', strip_tags(e.conteudo.replace('<br/>', '\n')))
ex = {'tipo': tipo, 'conteudo': conteudo}
expedientes.append(ex)
return (lst_expediente_materia, return (lst_expediente_materia,
lst_votacao, lst_votacao,
inf_basicas_dic) 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) html = HTML(base_url=base_url, string=main_template)

38
sapl/templates/sessao/pauta_sessao_detail.html

@ -18,29 +18,21 @@
</fieldset> </fieldset>
<fieldset> <fieldset>
<legend>Expediente</legend> <legend>Expedientes</legend>
{% if expedientes %} <table class="table">
<table class="table table-striped"> <thead class="thead-default">
<thead> {% for e in expedientes %}
<tr> <tr>
<th>Sessão Plenaria</th> <td>
<th>conteudo</th> <b>{{e.tipo}}: </b> <br><br>
<th>tipo</th> <div style="border:0.5px solid #BAB4B1; border-radius: 10px; background-color: rgba(225, 225, 225, .8);">
</tr> <p>{{e.conteudo}}</p>
</thead> </div>
{% for e in expedientes %} </td>
{% if e.conteudo %} </tr>
<tr> {% endfor %}
<td style="width:20%;">{{e.sessao_plenaria}}</td> </thead>
<td style="width:70%;"><br>{{e.conteudo|safe|linebreaksbr}}</td> </table>
<td style="width:10%;">{{e.tipo}}</td>
</tr>
{% endif%}
{% endfor %}
</table>
{% else %}
<strong>Não existem Matérias de Ordem do Dia para essa Sessão Plenária</strong>
{% endif %}
</fieldset> </fieldset>
<fieldset> <fieldset>

Loading…
Cancel
Save