diff --git a/sapl/relatorios/views.py b/sapl/relatorios/views.py index 340a04812..3738a35bf 100755 --- a/sapl/relatorios/views.py +++ b/sapl/relatorios/views.py @@ -24,7 +24,7 @@ from sapl.sessao.models import (ExpedienteMateria, ExpedienteSessao, Orador, OradorExpediente, OrdemDia, PresencaOrdemDia, SessaoPlenaria, SessaoPlenariaPresenca, OcorrenciaSessao, - RegistroVotacao, VotoParlamentar, OradorOrdemDia, TipoExpediente) + RegistroVotacao, VotoParlamentar, OradorOrdemDia, TipoExpediente, ResumoOrdenacao) from sapl.settings import STATIC_ROOT from sapl.utils import LISTA_DE_UFS, TrocaTag, filiacao_data @@ -1465,26 +1465,82 @@ def relatorio_sessao_plenaria_pdf(request, pk): 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') - }) + dict_ord_template = { + 'cont_mult': 'conteudo_multimidia.html', + 'exp': 'expedientes.html', + 'id_basica': 'identificacao_basica.html', + 'lista_p': 'lista_presenca_sessao.html', + 'lista_p_o_d': 'lista_presenca_ordemdia.html', + 'mat_exp': 'materias_expediente.html', + 'v_n_mat_exp': 'votos_nominais_expediente.html', + 'mat_o_d': 'materias_ordemdia.html', + 'v_n_mat_o_d': 'votos_nominais_ordemdia.html', + 'mesa_d': 'mesa_diretora.html', + 'oradores_exped': 'oradores_expediente.html', + 'oradores_o_d': 'oradores_ordemdia.html', + 'oradores_expli': 'oradores_explicacoes.html', + 'ocorr_sessao': 'ocorrencias_sessao.html' + } + + context = { + "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') + } + + ordenacao = ResumoOrdenacao.objects.get_or_create()[0] + try: + context.update({ + 'primeiro_ordenacao': dict_ord_template[ordenacao.primeiro], + 'segundo_ordenacao': dict_ord_template[ordenacao.segundo], + 'terceiro_ordenacao': dict_ord_template[ordenacao.terceiro], + 'quarto_ordenacao': dict_ord_template[ordenacao.quarto], + 'quinto_ordenacao': dict_ord_template[ordenacao.quinto], + 'sexto_ordenacao': dict_ord_template[ordenacao.sexto], + 'setimo_ordenacao': dict_ord_template[ordenacao.setimo], + 'oitavo_ordenacao': dict_ord_template[ordenacao.oitavo], + 'nono_ordenacao': dict_ord_template[ordenacao.nono], + 'decimo_ordenacao': dict_ord_template[ordenacao.decimo], + '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] + }) + except KeyError as e: + # self.logger.error("KeyError: " + str(e) + ". Erro ao tentar utilizar " + # "configuração de ordenação. Utilizando ordenação padrão.") + context.update({ + 'primeiro_ordenacao': 'identificacao_basica.html', + 'segundo_ordenacao': 'conteudo_multimidia.html', + 'terceiro_ordenacao': 'mesa_diretora.html', + 'quarto_ordenacao': 'lista_presenca_sessao.html', + 'quinto_ordenacao': 'expedientes.html', + 'sexto_ordenacao': 'materias_expediente.html', + 'setimo_ordenacao': 'votos_nominais_expediente.html', + 'oitavo_ordenacao': 'oradores_expediente.html', + 'nono_ordenacao': 'lista_presenca_ordemdia.html', + 'decimo_ordenacao': 'materias_ordemdia.html', + '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' + }) + + html_template = render_to_string('relatorios/relatorio_sessao_plenaria.html', context) info = "Resumo da {}ª Reunião {} \ da {}ª Sessão Legislativa da {} \ diff --git a/sapl/templates/relatorios/blocos_sessao_plenaria/conteudo_multimidia.html b/sapl/templates/relatorios/blocos_sessao_plenaria/conteudo_multimidia.html new file mode 100644 index 000000000..c30f9b2fd --- /dev/null +++ b/sapl/templates/relatorios/blocos_sessao_plenaria/conteudo_multimidia.html @@ -0,0 +1,3 @@ +
Multimídia Audio: {{cont_mult_dic.multimidia_audio}}
+Multimídia Video: {{cont_mult_dic.multimidia_video}}
\ No newline at end of file diff --git a/sapl/templates/relatorios/blocos_sessao_plenaria/expedientes.html b/sapl/templates/relatorios/blocos_sessao_plenaria/expedientes.html new file mode 100644 index 000000000..b78d5e038 --- /dev/null +++ b/sapl/templates/relatorios/blocos_sessao_plenaria/expedientes.html @@ -0,0 +1,5 @@ +{{expediente.txt_expediente|safe}}
+ {% endfor%} diff --git a/sapl/templates/relatorios/blocos_sessao_plenaria/identificacao_basica.html b/sapl/templates/relatorios/blocos_sessao_plenaria/identificacao_basica.html new file mode 100644 index 000000000..8b334d260 --- /dev/null +++ b/sapl/templates/relatorios/blocos_sessao_plenaria/identificacao_basica.html @@ -0,0 +1,4 @@ +Tipo da Sessão: {{inf_basicas_dic.nom_sessao}}
+Abertura: {{inf_basicas_dic.dat_inicio_sessao}} - {{inf_basicas_dic.hr_inicio_sessao}}
+Encerramento: {{inf_basicas_dic.dat_fim_sessao}} - {{inf_basicas_dic.hr_fim_sessao}}
\ No newline at end of file diff --git a/sapl/templates/relatorios/blocos_sessao_plenaria/justificativa_ausencia_sessao.html b/sapl/templates/relatorios/blocos_sessao_plenaria/justificativa_ausencia_sessao.html new file mode 100644 index 000000000..66a4ad9c1 --- /dev/null +++ b/sapl/templates/relatorios/blocos_sessao_plenaria/justificativa_ausencia_sessao.html @@ -0,0 +1,21 @@ +| Parlamentar+ | Justificativa+ | Ausente em+ | 
|---|---|---|
| {{ausencia.parlamentar}}+ | {{ausencia.justificativa}}+ | {{ausencia.tipo}}+ | 
{{orador.nom_parlamentar}}/{{orador.sgl_partido}}
+{{membro.nom_parlamentar}}/{{membro.sgl_partido}}
+ {% endfor%} \ No newline at end of file diff --git a/sapl/templates/relatorios/blocos_sessao_plenaria/materias_expediente.html b/sapl/templates/relatorios/blocos_sessao_plenaria/materias_expediente.html new file mode 100644 index 000000000..bb5178b59 --- /dev/null +++ b/sapl/templates/relatorios/blocos_sessao_plenaria/materias_expediente.html @@ -0,0 +1,27 @@ +| Matéria+ | Ementa+ | Resultado da Votação+ | 
|---|---|---|
| + +
 | +{{materia.txt_ementa}} | {{materia.nom_resultado}}+ | 
| Matéria+ | Ementa+ | Resultado da Votação+ | 
|---|---|---|
| + +
 | {{materia.txt_ementa}}+ | {{materia.nom_resultado}}+ | 
{{membro.des_cargo}}: {{membro.nom_parlamentar}}/{{membro.sgl_partido}}
+ {% endfor%} \ No newline at end of file diff --git a/sapl/templates/relatorios/blocos_sessao_plenaria/ocorrencias_sessao.html b/sapl/templates/relatorios/blocos_sessao_plenaria/ocorrencias_sessao.html new file mode 100644 index 000000000..0a2b04ff1 --- /dev/null +++ b/sapl/templates/relatorios/blocos_sessao_plenaria/ocorrencias_sessao.html @@ -0,0 +1,4 @@ +{{ocorrencia}}
+ {% endfor %} diff --git a/sapl/templates/relatorios/blocos_sessao_plenaria/oradores_expediente.html b/sapl/templates/relatorios/blocos_sessao_plenaria/oradores_expediente.html new file mode 100644 index 000000000..8606fa1e1 --- /dev/null +++ b/sapl/templates/relatorios/blocos_sessao_plenaria/oradores_expediente.html @@ -0,0 +1,7 @@ +{{orador.num_ordem}} - {{orador.nom_parlamentar}}/{{orador.sgl_partido}}
+{{orador.num_ordem}} - {{orador.nom_parlamentar}}/{{orador.sgl_partido}}
+{{orador_ordemdia.num_ordem}} - {{orador_ordemdia.nome_parlamentar}}/{{orador_ordemdia.sigla}} + {%if orador_ordemdia.observacao%}- {{orador_ordemdia.observacao}}{%endif%}
+ {% endfor %} + {% endif %} \ No newline at end of file diff --git a/sapl/templates/relatorios/blocos_sessao_plenaria/votos_nominais_expediente.html b/sapl/templates/relatorios/blocos_sessao_plenaria/votos_nominais_expediente.html new file mode 100644 index 000000000..12fe61609 --- /dev/null +++ b/sapl/templates/relatorios/blocos_sessao_plenaria/votos_nominais_expediente.html @@ -0,0 +1,27 @@ + {% if lst_votacao_vot_nom %} +| Matéria+ | Votos+ | |
|---|---|---|
| {{expediente_materia_vot_nom.titulo}}+ | +                    {% if expediente_materia_vot_nom.votos %}
+ 
 | +                    {% endif %}
+                
+Matéria não votada | 
| Matéria+ | Votos+ | |
|---|---|---|
| {{votacao_vot_nom.titulo}}+ | +                    {% if votacao_vot_nom.votos %}
+ 
 | +                    {% endif %}
+                
+Matéria não votada | 
Tipo da Sessão: {{inf_basicas_dic.nom_sessao}}
-Abertura: {{inf_basicas_dic.dat_inicio_sessao}} - {{inf_basicas_dic.hr_inicio_sessao}}
-Encerramento: {{inf_basicas_dic.dat_fim_sessao}} - {{inf_basicas_dic.hr_fim_sessao}}
- -Multimídia Audio: {{cont_mult_dic.multimidia_audio}}
-Multimídia Video: {{cont_mult_dic.multimidia_video}}
- -{{membro.des_cargo}}: {{membro.nom_parlamentar}}/{{membro.sgl_partido}}
- {% endfor%} - -{{membro.nom_parlamentar}}/{{membro.sgl_partido}}
- {% endfor%} - -| Parlamentar- | Justificativa- | Ausente em- | 
|---|---|---|
| {{ausencia.parlamentar}}- | {{ausencia.justificativa}}- | {{ausencia.tipo}}- | 
{{expediente.txt_expediente|safe}}
- {% endfor%} - - -| Matéria- | Ementa- | Resultado da Votação- | 
|---|---|---|
| - -
 | -{{materia.txt_ementa}} | {{materia.nom_resultado}}- | 
| Matéria- | Votos- | |
|---|---|---|
| {{expediente_materia_vot_nom.titulo}}- | -                    {% if expediente_materia_vot_nom.votos %}
- 
 | -                    {% endif %}
-                
-Matéria não votada | 
{{orador.num_ordem}} - {{orador.nom_parlamentar}}/{{orador.sgl_partido}}
-{{orador.nom_parlamentar}}/{{orador.sgl_partido}}
-| Matéria- | Ementa- | Resultado da Votação- | 
|---|---|---|
| - -
 | {{materia.txt_ementa}}- | {{materia.nom_resultado}}- | 
| Matéria- | Votos- | |
|---|---|---|
| {{votacao_vot_nom.titulo}}- | -                    {% if votacao_vot_nom.votos %}
- 
 | -                    {% endif %}
-                
-Matéria não votada | 
{{orador_ordemdia.num_ordem}} - {{orador_ordemdia.nome_parlamentar}}/{{orador_ordemdia.sigla}} - {%if orador_ordemdia.observacao%}- {{orador_ordemdia.observacao}}{%endif%}
- {% endfor %} - {% endif %} - -{{orador.num_ordem}} - {{orador.nom_parlamentar}}/{{orador.sgl_partido}}
-{{ocorrencia}}
- {% endfor %} - + + {% include 'relatorios/blocos_sessao_plenaria/'|add:primeiro_ordenacao %} + + {% include 'relatorios/blocos_sessao_plenaria/'|add:segundo_ordenacao %} + + {% include 'relatorios/blocos_sessao_plenaria/'|add:terceiro_ordenacao %} + + {% include 'relatorios/blocos_sessao_plenaria/'|add:quarto_ordenacao %} + + {% include 'relatorios/blocos_sessao_plenaria/'|add:quinto_ordenacao %} + + {% include 'relatorios/blocos_sessao_plenaria/'|add:sexto_ordenacao %} + + {% include 'relatorios/blocos_sessao_plenaria/'|add:setimo_ordenacao %} + + {% include 'relatorios/blocos_sessao_plenaria/'|add:oitavo_ordenacao %} + + {% include 'relatorios/blocos_sessao_plenaria/'|add:nono_ordenacao %} + + {% include 'relatorios/blocos_sessao_plenaria/'|add:decimo_ordenacao %} + + {% include 'relatorios/blocos_sessao_plenaria/'|add:decimo_primeiro_ordenacao %} + + {% include 'relatorios/blocos_sessao_plenaria/'|add:decimo_segundo_ordenacao %} + + {% include 'relatorios/blocos_sessao_plenaria/'|add:decimo_terceiro_ordenacao %} + + {% include 'relatorios/blocos_sessao_plenaria/'|add:decimo_quarto_ordenacao %} +