diff --git a/sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py b/sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py
index 0ede61f97..5d3f259b0 100644
--- a/sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py
+++ b/sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py
@@ -399,8 +399,23 @@ def ocorrencias(lst_ocorrencias):
tmp += '\t\t\n'
return tmp
+def consideracoes(lst_consideracoes):
+ tmp = ''
+ if lst_consideracoes:
+ tmp += '\t\tConsideracoes Finais\n'
+ tmp += '\t\t\n'
+ tmp += '\t\t\t \n'
+ tmp += '\t\t\n'
+ for consideracoes in lst_consideracoes:
+ tmp += '\t\t' + \
+ str(consideracoes.conteudo) + '\n'
+ tmp += '\t\t\n'
+ tmp += '\t\t\t \n'
+ tmp += '\t\t\n'
+ return tmp
+
-def principal(rodape_dic, imagem, 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):
+def principal(rodape_dic, imagem, 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, lst_consideracoes):
"""
"""
arquivoPdf = str(int(time.time() * 100)) + ".pdf"
@@ -437,7 +452,8 @@ def principal(rodape_dic, imagem, inf_basicas_dic, cont_mult_dic, lst_mesa, lst_
'oradores_exped': oradores_expediente(lst_oradores_expediente),
'oradores_o_d': oradores_ordemdia(lst_oradores_ordemdia),
'oradores_expli': oradores(lst_oradores),
- 'ocorr_sessao': ocorrencias(lst_ocorrencias)
+ 'ocorr_sessao': ocorrencias(lst_ocorrencias),
+ 'cons_finais': consideracoes(lst_consideracoes)
}
if ordenacao:
@@ -456,6 +472,7 @@ def principal(rodape_dic, imagem, inf_basicas_dic, cont_mult_dic, lst_mesa, lst_
tmp += dict_ord_template[ordenacao.decimo_segundo]
tmp += dict_ord_template[ordenacao.decimo_terceiro]
tmp += dict_ord_template[ordenacao.decimo_quarto]
+ tmp += dict_ord_template[ordenacao.decimo_quinto]
except KeyError as e:
logger.error("KeyError: " + str(e) + ". Erro ao tentar utilizar "
"configuração de ordenação. Utilizando ordenação padrão.")
@@ -473,6 +490,7 @@ def principal(rodape_dic, imagem, inf_basicas_dic, cont_mult_dic, lst_mesa, lst_
tmp += oradores_ordemdia(lst_oradores_ordemdia)
tmp += oradores(lst_oradores)
tmp += ocorrencias(lst_ocorrencias)
+ tmp += consideracoes(lst_consideracoes)
else:
tmp += inf_basicas(inf_basicas_dic)
@@ -489,6 +507,7 @@ def principal(rodape_dic, imagem, inf_basicas_dic, cont_mult_dic, lst_mesa, lst_
tmp += oradores_ordemdia(lst_oradores_ordemdia)
tmp += oradores(lst_oradores)
tmp += ocorrencias(lst_ocorrencias)
+ tmp += consideracoes(lst_consideracoes)
tmp += '\t\n'
tmp += '\n'
diff --git a/sapl/relatorios/templates/pdf_sessao_plenaria_preparar_pysc.py b/sapl/relatorios/templates/pdf_sessao_plenaria_preparar_pysc.py
index 5eef2d912..710d2ef61 100644
--- a/sapl/relatorios/templates/pdf_sessao_plenaria_preparar_pysc.py
+++ b/sapl/relatorios/templates/pdf_sessao_plenaria_preparar_pysc.py
@@ -277,7 +277,7 @@ if context.REQUEST['data'] != '':
# return lst_votacao
sessao = session.id
caminho = context.pdf_sessao_plenaria_gerar(rodape, sessao, imagem, inf_basicas_dic, lst_mesa, lst_presenca_sessao,
- lst_expedientes, lst_expediente_materia, lst_oradores_expediente, lst_presenca_ordem_dia, lst_votacao, lst_oradores)
+ lst_expedientes, lst_expediente_materia, lst_oradores_expediente, lst_presenca_ordem_dia, lst_votacao, lst_oradores, lst_consideracoes)
if caminho == 'aviso':
response.redirect('mensagem_emitir_proc')
else:
diff --git a/sapl/relatorios/views.py b/sapl/relatorios/views.py
index 706eb32b4..8ae7bba97 100755
--- a/sapl/relatorios/views.py
+++ b/sapl/relatorios/views.py
@@ -35,7 +35,8 @@ from sapl.sessao.views import (get_identificacao_basica, get_mesa_diretora,
get_materias_expediente, get_oradores_expediente,
get_presenca_ordem_do_dia, get_materias_ordem_do_dia,
get_oradores_ordemdia,
- get_oradores_explicacoes_pessoais, get_consideracoes_finais, get_ocorrencias_da_sessao, get_assinaturas)
+ get_oradores_explicacoes_pessoais, get_consideracoes_finais,
+ get_ocorrencias_da_sessao, get_assinaturas)
from .templates import (pdf_capa_processo_gerar,
pdf_documento_administrativo_gerar, pdf_espelho_gerar,
@@ -848,6 +849,26 @@ def get_sessao_plenaria(sessao, casa):
lst_ocorrencias.append(o)
+ # Ocorrências da Sessão
+ lst_consideracoes = []
+ consideracoes = OcorrenciaSessao.objects.filter(sessao_plenaria=sessao)
+
+ for c in consideracoes:
+ conteudo = c.conteudo
+
+ # unescape HTML codes
+ # https://github.com/interlegis/sapl/issues/1046
+ conteudo = re.sub('style=".*?"', '', conteudo)
+ conteudo = html.unescape(conteudo)
+
+ # escape special character '&'
+ # https://github.com/interlegis/sapl/issues/1009
+ conteudo = conteudo.replace('&', '&')
+
+ c.conteudo = conteudo
+
+ lst_consideracoes.append(o)
+
return (inf_basicas_dic,
cont_mult_dic,
lst_mesa,
@@ -862,7 +883,8 @@ def get_sessao_plenaria(sessao, casa):
lst_votacao_vot_nom,
lst_oradores_ordemdia,
lst_oradores,
- lst_ocorrencias)
+ lst_ocorrencias,
+ lst_consideracoes)
def get_turno(materia):
@@ -924,7 +946,8 @@ def relatorio_sessao_plenaria(request, pk):
lst_votacao_vot_nom,
lst_oradores_ordemdia,
lst_oradores,
- lst_ocorrencias) = get_sessao_plenaria(sessao, casa)
+ lst_ocorrencias,
+ lst_consideracoes) = get_sessao_plenaria(sessao, casa)
for idx in range(len(lst_expedientes)):
txt_expedientes = lst_expedientes[idx]['txt_expediente']
@@ -949,7 +972,8 @@ def relatorio_sessao_plenaria(request, pk):
lst_votacao_vot_nom,
lst_oradores_ordemdia,
lst_oradores,
- lst_ocorrencias)
+ lst_ocorrencias,
+ lst_consideracoes)
response.write(pdf)
return response
@@ -1482,7 +1506,8 @@ def relatorio_sessao_plenaria_pdf(request, pk):
lst_votacao_vot_nom,
lst_oradores_ordemdia,
lst_oradores,
- lst_ocorrencias) = get_sessao_plenaria(sessao, casa)
+ lst_ocorrencias,
+ lst_consideracoes) = get_sessao_plenaria(sessao, casa)
dict_ord_template = {
'cont_mult': 'conteudo_multimidia.html',
@@ -1498,7 +1523,8 @@ def relatorio_sessao_plenaria_pdf(request, pk):
'oradores_exped': 'oradores_expediente.html',
'oradores_o_d': 'oradores_ordemdia.html',
'oradores_expli': 'oradores_explicacoes.html',
- 'ocorr_sessao': 'ocorrencias_sessao.html'
+ 'ocorr_sessao': 'ocorrencias_da_sessao.html',
+ 'cons_finais': 'consideracoes_finais.html'
}
context = {
@@ -1517,6 +1543,7 @@ def relatorio_sessao_plenaria_pdf(request, pk):
"lst_votacao_vot_nom": lst_votacao_vot_nom,
"lst_oradores": lst_oradores,
"lst_ocorrencias": lst_ocorrencias,
+ "lst_consideracoes": lst_consideracoes,
"rodape": rodape,
"data": dt.today().strftime('%d/%m/%Y')
}
@@ -1537,7 +1564,8 @@ def relatorio_sessao_plenaria_pdf(request, pk):
'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]
+ 'decimo_quarto_ordenacao': dict_ord_template[ordenacao.decimo_quarto],
+ 'decimo_quinto_ordenacao': dict_ord_template[ordenacao.decimo_quinto]
})
except KeyError as e:
# self.logger.error("KeyError: " + str(e) + ". Erro ao tentar utilizar "
@@ -1556,7 +1584,8 @@ def relatorio_sessao_plenaria_pdf(request, pk):
'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'
+ 'decimo_quarto_ordenacao': 'ocorrencias_da_sessao.html',
+ 'decimo_quinto_ordenacao': 'consideracoes_finais.html'
})
html_template = render_to_string(
diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py
index 09eb3515d..303495900 100644
--- a/sapl/sessao/forms.py
+++ b/sapl/sessao/forms.py
@@ -783,6 +783,10 @@ class ResumoOrdenacaoForm(forms.Form):
label='14°',
choices=ORDENACAO_RESUMO
)
+ decimo_quinto = forms.ChoiceField(
+ label='14°',
+ choices=ORDENACAO_RESUMO
+ )
def __init__(self, *args, **kwargs):
row1 = to_row(
@@ -814,6 +818,9 @@ class ResumoOrdenacaoForm(forms.Form):
row14 = to_row(
[('decimo_quarto', 12)]
)
+ row15 = to_row(
+ [('decimo_quinto', 12)]
+ )
self.helper = SaplFormHelper()
self.helper.layout = Layout(
@@ -862,6 +869,7 @@ class ResumoOrdenacaoForm(forms.Form):
ordenacao.decimo_segundo = cleaned_data['decimo_segundo']
ordenacao.decimo_terceiro = cleaned_data['decimo_terceiro']
ordenacao.decimo_quarto = cleaned_data['decimo_quarto']
+ ordenacao.decimo_quinto = cleaned_data['decimo_quinto']
ordenacao.save()
diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py
index 4116d9337..b89797d19 100755
--- a/sapl/sessao/views.py
+++ b/sapl/sessao/views.py
@@ -1843,7 +1843,8 @@ class ResumoOrdenacaoView(PermissionRequiredMixin, FormView):
'decimo_primeiro': self.get_tupla(ordenacao.decimo_primeiro),
'decimo_segundo': self.get_tupla(ordenacao.decimo_segundo),
'decimo_terceiro': self.get_tupla(ordenacao.decimo_terceiro),
- 'decimo_quarto': self.get_tupla(ordenacao.decimo_quarto)
+ 'decimo_quarto': self.get_tupla(ordenacao.decimo_quarto),
+ 'decimo_quinto': self.get_tupla(ordenacao.decimo_quinto)
}
return initial
@@ -2450,7 +2451,7 @@ class ExpedienteView(FormMixin, DetailView):
class OcorrenciaSessaoView(FormMixin, DetailView):
- template_name = 'sessao/ocorrencia_sessao.html'
+ template_name = 'sessao/ocorrencias_da_sessao.html'
form_class = OcorrenciaSessaoForm
model = SessaoPlenaria
diff --git a/sapl/templates/relatorios/blocos_sessao_plenaria/consideracoes_finais.html b/sapl/templates/relatorios/blocos_sessao_plenaria/consideracoes_finais.html
new file mode 100644
index 000000000..023871063
--- /dev/null
+++ b/sapl/templates/relatorios/blocos_sessao_plenaria/consideracoes_finais.html
@@ -0,0 +1,4 @@
+
Considerações Finais
+ {% for c in lst_consideracoes%}
+ {{c}}
+ {% endfor %}
diff --git a/sapl/templates/relatorios/relatorio_ata.html b/sapl/templates/relatorios/relatorio_ata.html
index c78e471d7..d4453b985 100644
--- a/sapl/templates/relatorios/relatorio_ata.html
+++ b/sapl/templates/relatorios/relatorio_ata.html
@@ -14,6 +14,7 @@
{% include 'sessao/blocos_ata/oradores_ordemdia.html' %}
{% include 'sessao/blocos_ata/oradores_explicacoes.html' %}
{% include 'sessao/blocos_ata/ocorrencias_da_sessao.html' %}
+ {% include 'sessao/blocos_ata/consideracoes_finais.html' %}
{% if assinatura_mesa or assinatura_presentes %}
diff --git a/sapl/templates/relatorios/relatorio_sessao_plenaria.html b/sapl/templates/relatorios/relatorio_sessao_plenaria.html
index 4db5d298b..e459da2b3 100644
--- a/sapl/templates/relatorios/relatorio_sessao_plenaria.html
+++ b/sapl/templates/relatorios/relatorio_sessao_plenaria.html
@@ -32,6 +32,8 @@
{% include 'relatorios/blocos_sessao_plenaria/'|add:decimo_quarto_ordenacao %}
+ {% include 'relatorios/blocos_sessao_plenaria/'|add:decimo_quinto_ordenacao %}
+
diff --git a/sapl/templates/sessao/blocos_resumo/ocorrencias_da_sessao.html b/sapl/templates/sessao/blocos_resumo/ocorrencias_da_sessao.html
index eb9ffe195..9975217e0 100644
--- a/sapl/templates/sessao/blocos_resumo/ocorrencias_da_sessao.html
+++ b/sapl/templates/sessao/blocos_resumo/ocorrencias_da_sessao.html
@@ -1,3 +1,4 @@
+TESTE
{% if object.ocorrenciasessao.conteudo %}