diff --git a/sapl/painel/views.py b/sapl/painel/views.py
index 41fe67b9d..bf58c49a5 100644
--- a/sapl/painel/views.py
+++ b/sapl/painel/views.py
@@ -529,6 +529,7 @@ def get_dados_painel(request, pk):
'sessao_plenaria_data': sessao.data_inicio.strftime('%d/%m/%Y'),
'sessao_plenaria_hora_inicio': sessao.hora_inicio,
'sessao_solene': sessao.tipo.nome == "Solene",
+ 'mensagem_solene': sessao.mensagem_solene,
'cronometro_aparte': get_cronometro_status(request, 'aparte'),
'cronometro_discurso': get_cronometro_status(request, 'discurso'),
'cronometro_ordem': get_cronometro_status(request, 'ordem'),
diff --git a/sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py b/sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py
index 4b1d62719..d76c5bd21 100644
--- a/sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py
+++ b/sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py
@@ -128,6 +128,9 @@ def inf_basicas(inf_basicas_dic):
if dat_fim_sessao or hr_fim_sessao:
tmp += '\t\tEncerramento: ' + \
dat_fim_sessao + ' - ' + hr_fim_sessao + '\n'
+ if inf_basicas_dic.get('mensagem_solene'):
+ tmp += '\t\tMensagem Solene: ' + \
+ inf_basicas_dic['mensagem_solene'] + '\n'
return tmp
diff --git a/sapl/relatorios/views.py b/sapl/relatorios/views.py
index cb1d05cca..4ffe0cc49 100755
--- a/sapl/relatorios/views.py
+++ b/sapl/relatorios/views.py
@@ -519,6 +519,9 @@ def get_sessao_plenaria(sessao, casa):
inf_basicas_dic["dat_fim_sessao"] = ''
inf_basicas_dic["hr_fim_sessao"] = sessao.hora_fim
inf_basicas_dic["nom_camara"] = casa.nome
+
+ if sessao.tipo.nome == 'Solene':
+ inf_basicas_dic["mensagem_solene"] = sessao.mensagem_solene
# Conteudo multimidia
cont_mult_dic = {}
diff --git a/sapl/sessao/migrations/0041_sessaoplenaria_mensagem_solene.py b/sapl/sessao/migrations/0041_sessaoplenaria_mensagem_solene.py
new file mode 100644
index 000000000..33c649fcd
--- /dev/null
+++ b/sapl/sessao/migrations/0041_sessaoplenaria_mensagem_solene.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-05-31 12:37
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('sessao', '0040_auto_20190523_1130'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='sessaoplenaria',
+ name='mensagem_solene',
+ field=models.TextField(blank=True, max_length=500, verbose_name='Mensagem Solene'),
+ ),
+ ]
diff --git a/sapl/sessao/models.py b/sapl/sessao/models.py
index 8ab65ebfd..61e703d9e 100644
--- a/sapl/sessao/models.py
+++ b/sapl/sessao/models.py
@@ -208,6 +208,8 @@ class SessaoPlenaria(models.Model):
interativa = models.NullBooleanField(blank=True,
choices=YES_NO_CHOICES,
verbose_name=_('Sessão interativa'))
+ mensagem_solene = models.TextField(
+ blank=True, max_length=500, verbose_name=_('Mensagem Solene'))
class Meta:
verbose_name = _('Sessão Plenária')
diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py
index 93d9d9ff6..2b2c7a42c 100755
--- a/sapl/sessao/views.py
+++ b/sapl/sessao/views.py
@@ -871,6 +871,14 @@ class SessaoCrud(Crud):
form_class = SessaoPlenariaForm
+ @property
+ def layout_key(self):
+ sessao = self.object
+ tipo_sessao = sessao.tipo
+ if tipo_sessao.nome == "Solene":
+ return 'SessaoSolene'
+ return 'SessaoPlenaria'
+
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
sessao = context['object']
@@ -887,6 +895,14 @@ class SessaoCrud(Crud):
form_class = SessaoPlenariaForm
logger = logging.getLogger(__name__)
+ @property
+ def layout_key(self):
+ sessao = self.object
+ tipo_sessao = sessao.tipo
+ if tipo_sessao.nome == "Solene":
+ return 'SessaoSolene'
+ return 'SessaoPlenaria'
+
@property
def cancel_url(self):
return self.search_url
@@ -921,12 +937,22 @@ class SessaoCrud(Crud):
class DetailView(Crud.DetailView):
+ @property
+ def layout_key(self):
+ sessao = self.object
+ tipo_sessao = sessao.tipo
+ if tipo_sessao.nome == "Solene":
+ return 'SessaoSolene'
+ return 'SessaoPlenaria'
+
+
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
sessao = context['object']
tipo_sessao = sessao.tipo
if tipo_sessao.nome == "Solene":
context.update({'subnav_template_name': 'sessao/subnav-solene.yaml'})
+ # self.layout_key = 'SessaoSolene'
return context
@@ -1063,12 +1089,6 @@ class PainelView(PermissionRequiredForAppCrudMixin, TemplateView):
'cronometro_ordem': cronometro_ordem,
'cronometro_consideracoes': cronometro_consideracoes})
- context.update({'sessao_solene': False})
- tipo_sessao = sessao.tipo
- if tipo_sessao.nome == "Solene":
- context.update({'subnav_template_name': 'sessao/subnav-solene.yaml'})
- context.update({'sessao_solene': True})
-
return context
@@ -1504,14 +1524,18 @@ def get_identificação_basica(sessao_plenaria):
abertura = data_inicio.strftime('%d/%m/%Y') if data_inicio else ''
data_fim = sessao_plenaria.data_fim
encerramento = data_fim.strftime('%d/%m/%Y') + ' -' if data_fim else ''
- return({'basica': [
+ mensagem_solene = sessao_plenaria.mensagem_solene
+ context = {'basica': [
_('Tipo de Sessão: %(tipo)s') % {'tipo': sessao_plenaria.tipo},
_('Abertura: %(abertura)s - %(hora_inicio)s') % {
'abertura': abertura, 'hora_inicio': sessao_plenaria.hora_inicio},
_('Encerramento: %(encerramento)s %(hora_fim)s') % {
- 'encerramento': encerramento, 'hora_fim': sessao_plenaria.hora_fim}
- ],
- 'sessaoplenaria': sessao_plenaria})
+ 'encerramento': encerramento, 'hora_fim': sessao_plenaria.hora_fim},
+ ],
+ 'sessaoplenaria': sessao_plenaria}
+ if sessao_plenaria.tipo.nome == "Solene" and mensagem_solene:
+ context.update({'mensagem_solene': 'Mensagem Solene: %s' % mensagem_solene})
+ return context
def get_conteudo_multimidia(sessao_plenaria):
@@ -1965,6 +1989,11 @@ class ResumoView(DetailView):
'decimo_terceiro_ordenacao': 'oradores_explicacoes.html',
'decimo_quarto_ordenacao': 'ocorrencias_da_sessao.html'
})
+
+ sessao = context['object']
+ tipo_sessao = sessao.tipo
+ if tipo_sessao.nome == "Solene":
+ context.update({'subnav_template_name': 'sessao/subnav-solene.yaml'})
return context
def get(self, request, *args, **kwargs):
diff --git a/sapl/templates/painel/index.html b/sapl/templates/painel/index.html
index 6e6bbe7ad..2bc74c8ac 100644
--- a/sapl/templates/painel/index.html
+++ b/sapl/templates/painel/index.html
@@ -102,7 +102,7 @@
-
+
Tema da Sessão Solene
@@ -203,6 +203,7 @@
$("#sessao_plenaria").text(data["sessao_plenaria"])
$("#sessao_plenaria_data").text("Data Início: " + data["sessao_plenaria_data"])
$("#sessao_plenaria_hora_inicio").text("Hora Início: " + data["sessao_plenaria_hora_inicio"])
+ $("#sessao_solene_tema").text(data["mensagem_solene"])
if (data["status_painel"] == false) {
$("#message").text("PAINEL ENCONTRA-SE FECHADO");
}
diff --git a/sapl/templates/sessao/blocos_ata/identificacao_basica.html b/sapl/templates/sessao/blocos_ata/identificacao_basica.html
index 84eeb2a11..bfae9c041 100644
--- a/sapl/templates/sessao/blocos_ata/identificacao_basica.html
+++ b/sapl/templates/sessao/blocos_ata/identificacao_basica.html
@@ -2,8 +2,14 @@
Identificação Básica:
{% for b in basica %}
- {{b}}
- {% if not forloop.last %} ; {% endif %}
+ {{b}}
+ {% if not forloop.last %}
+ ;
+ {% else %}
+ {% if mensagem_solene %}
+ ; {{mensagem_solene}}
+ {% endif %}
+ {% endif %}
{% endfor %}
\ No newline at end of file
diff --git a/sapl/templates/sessao/blocos_resumo/identificacao_basica.html b/sapl/templates/sessao/blocos_resumo/identificacao_basica.html
index 75ba5ba68..868d10de8 100644
--- a/sapl/templates/sessao/blocos_resumo/identificacao_basica.html
+++ b/sapl/templates/sessao/blocos_resumo/identificacao_basica.html
@@ -5,6 +5,10 @@
{% for b in basica %}
{{b}}
{% endfor %}
+ {% if mensagem_solene %}
+
+
{{mensagem_solene}}
+ {% endif %}
diff --git a/sapl/templates/sessao/layouts.yaml b/sapl/templates/sessao/layouts.yaml
index f5356a829..5e2e6fc35 100644
--- a/sapl/templates/sessao/layouts.yaml
+++ b/sapl/templates/sessao/layouts.yaml
@@ -11,6 +11,15 @@ SessaoPlenaria:
- upload_pauta upload_ata upload_anexo
- url_audio url_video
+SessaoSolene:
+ {% trans 'Dados Básicos' %}:
+ - legislatura sessao_legislativa tipo:3 numero:1
+ - data_inicio:5 hora_inicio:5 iniciada
+ - data_fim:5 hora_fim:5 finalizada
+ - mensagem_solene
+ - upload_pauta upload_ata upload_anexo
+ - url_audio url_video
+
TipoResultadoVotacao:
{% trans 'Tipo de Resultado da Votação' %}:
- nome