Browse Source

Inserção de mensagem solene

pull/2825/head
Cesar Carvalho 7 years ago
parent
commit
a1f2bc8c56
  1. 1
      sapl/painel/views.py
  2. 3
      sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py
  3. 3
      sapl/relatorios/views.py
  4. 20
      sapl/sessao/migrations/0041_sessaoplenaria_mensagem_solene.py
  5. 2
      sapl/sessao/models.py
  6. 49
      sapl/sessao/views.py
  7. 3
      sapl/templates/painel/index.html
  8. 10
      sapl/templates/sessao/blocos_ata/identificacao_basica.html
  9. 4
      sapl/templates/sessao/blocos_resumo/identificacao_basica.html
  10. 9
      sapl/templates/sessao/layouts.yaml

1
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'),

3
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\t<para style="P2" spaceAfter="5"><b>Encerramento: </b> ' + \
dat_fim_sessao + ' <b>- </b> ' + hr_fim_sessao + '</para>\n'
if inf_basicas_dic.get('mensagem_solene'):
tmp += '\t\t<para style="P2" spaceAfter="5"><b>Mensagem Solene: </b> ' + \
inf_basicas_dic['mensagem_solene'] + '</para>\n'
return tmp

3
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 = {}

20
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'),
),
]

2
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')

49
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):

3
sapl/templates/painel/index.html

@ -102,7 +102,7 @@
<span id="observacao_materia" class="text-value"></span>
</div>
<div class="col-md-6 text-center painel" id="tema_solene_div" type="hidden">
<div class="col-md-6 text-center painel" id="tema_solene_div" style="display: none">
<h2 class="text-subtitle">Tema da Sessão Solene</h2>
<span id="sessao_solene_tema" class="text-value"></span>
</div>
@ -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");
}

10
sapl/templates/sessao/blocos_ata/identificacao_basica.html

@ -2,8 +2,14 @@
<p align="justify">
<strong>Identificação Básica: </strong>
{% for b in basica %}
{{b}}
{% if not forloop.last %} ; {% endif %}
{{b}}
{% if not forloop.last %}
;
{% else %}
{% if mensagem_solene %}
; {{mensagem_solene}}
{% endif %}
{% endif %}
{% endfor %}
</p>
</fieldset>

4
sapl/templates/sessao/blocos_resumo/identificacao_basica.html

@ -5,6 +5,10 @@
{% for b in basica %}
<div class="col-md-4">{{b}}</div>
{% endfor %}
{% if mensagem_solene %}
<br><br>
<div class="col-md-12">{{mensagem_solene}}</div>
{% endif %}
</div>
</fieldset>
<br /><br /><br />

9
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

Loading…
Cancel
Save