Browse Source

2869 adicionar expediente pauta sessao (#2879)

* Adicionando expediente na pagina de pauta de sessao

* Adicionando expedientes ao pdf de pauta de sessão

* Adcionando melhorias relatadas na revisão do pr
pull/2941/head
Ulysses Lara 5 years ago
committed by Cesar Carvalho
parent
commit
bf087f626c
  1. 14
      sapl/relatorios/templates/pdf_pauta_sessao_gerar.py
  2. 22
      sapl/relatorios/views.py
  3. 3
      sapl/sessao/views.py
  4. 21
      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'

22
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,20 @@ 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 = e.tipo
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)

3
sapl/sessao/views.py

@ -3289,8 +3289,7 @@ class PautaSessaoDetailView(DetailView):
expedientes = [] expedientes = []
for e in expediente: for e in expediente:
tipo = TipoExpediente.objects.get( tipo = e.tipo
id=e.tipo_id)
conteudo = sub( conteudo = sub(
'&nbsp;', ' ', strip_tags(e.conteudo.replace('<br/>', '\n'))) '&nbsp;', ' ', strip_tags(e.conteudo.replace('<br/>', '\n')))

21
sapl/templates/sessao/pauta_sessao_detail.html

@ -16,12 +16,31 @@
</thead> </thead>
</table> </table>
</fieldset> </fieldset>
<fieldset>
<legend>Expedientes</legend>
<table class="table">
<thead class="thead-default">
{% for e in expedientes %}
<tr>
<td>
<b>{{e.tipo}}: </b> <br><br>
<div style="border:0.5px solid #BAB4B1; border-radius: 10px; background-color: rgba(225, 225, 225, .8);">
<p>{{e.conteudo}}</p>
</div>
</td>
</tr>
{% endfor %}
</thead>
</table>
</fieldset>
<fieldset> <fieldset>
<legend>Matérias do Expediente</legend> <legend>Matérias do Expediente</legend>
{% if materia_expediente %} {% if materia_expediente %}
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
<th>Matéria</th> <th>Matéria</th>
<th>Ementa</th> <th>Ementa</th>
<th>Situação</th> <th>Situação</th>

Loading…
Cancel
Save