Browse Source

Adicionado interface visual para ConsideracoesFinais

pull/3437/head
AlGouvea 4 years ago
parent
commit
35dcb5419a
  1. 1
      sapl/relatorios/views.py
  2. 4
      sapl/sessao/urls.py
  3. 75
      sapl/sessao/views.py
  4. 29
      sapl/templates/sessao/consideracoes_finais.html
  5. 2
      sapl/templates/sessao/subnav-solene.yaml
  6. 2
      sapl/templates/sessao/subnav.yaml

1
sapl/relatorios/views.py

@ -1327,6 +1327,7 @@ def resumo_ata_pdf(request, pk):
context.update(get_materias_ordem_do_dia(sessao_plenaria))
context.update(get_oradores_ordemdia(sessao_plenaria))
context.update(get_ocorrencias_da_sessao(sessao_plenaria))
context.update(get_consideracoes_finais(sessao_plenaria))
context.update(get_oradores_explicacoes_pessoais(sessao_plenaria))
context.update(get_assinaturas(sessao_plenaria))
context.update({'object': sessao_plenaria})

4
sapl/sessao/urls.py

@ -4,7 +4,7 @@ from sapl.sessao.views import (AdicionarVariasMateriasExpediente,
AdicionarVariasMateriasOrdemDia, BancadaCrud,
CargoBancadaCrud, ExpedienteMateriaCrud,
ExpedienteView, JustificativaAusenciaCrud,
OcorrenciaSessaoView, MateriaOrdemDiaCrud, OradorOrdemDiaCrud,
OcorrenciaSessaoView, ConsideracoesFinaisView, MateriaOrdemDiaCrud, OradorOrdemDiaCrud,
MesaView, OradorCrud,
OradorExpedienteCrud, PainelView,
PautaSessaoDetailView, PautaSessaoView,
@ -128,6 +128,8 @@ urlpatterns = [
ExpedienteView.as_view(), name='expediente'),
url(r'^sessao/(?P<pk>\d+)/ocorrencia_sessao$',
OcorrenciaSessaoView.as_view(), name='ocorrencia_sessao'),
url(r'^sessao/(?P<pk>\d+)/consideracoes_finais$',
ConsideracoesFinaisView.as_view(), name='consideracoes_finais'),
url(r'^sessao/(?P<pk>\d+)/presenca$',
PresencaView.as_view(), name='presenca'),
url(r'^sessao/(?P<pk>\d+)/painel$',

75
sapl/sessao/views.py

@ -44,7 +44,7 @@ from .forms import (AdicionarVariasMateriasFilterSet, BancadaForm,
SessaoPlenariaForm, VotacaoEditForm, VotacaoForm,
VotacaoNominalForm, RetiradaPautaForm, OradorOrdemDiaForm)
from .models import (Bancada, CargoBancada, CargoMesa,
ExpedienteMateria, ExpedienteSessao, OcorrenciaSessao, IntegranteMesa,
ExpedienteMateria, ExpedienteSessao, OcorrenciaSessao, ConsideracoesFinais, IntegranteMesa,
MateriaLegislativa, Orador, OradorExpediente, OrdemDia,
PresencaOrdemDia, RegistroVotacao, ResumoOrdenacao,
SessaoPlenaria, SessaoPlenariaPresenca, TipoExpediente,
@ -2186,6 +2186,12 @@ def get_ocorrencias_da_sessao(sessao_plenaria):
context = {'ocorrencias_da_sessao': ocorrencias_sessao}
return context
def get_consideracoes_finais(sessao_plenaria):
consideracoes_finais = ConsideracoesFinais.objects.filter(
sessao_plenaria_id=sessao_plenaria.id)
context = {'consideracoes_finais': consideracoes_finais}
return context
class ResumoView(DetailView):
template_name = 'sessao/resumo.html'
@ -2271,6 +2277,9 @@ class ResumoView(DetailView):
# Ocorrẽncias da Sessão
context.update(get_ocorrencias_da_sessao(self.object))
# =====================================================================
# Ocorrẽncias da Sessão
context.update(get_consideracoes_finais(self.object))
# =====================================================================
# Indica a ordem com a qual o template será renderizado
dict_ord_template = {
'cont_mult': 'conteudo_multimidia.html',
@ -2502,6 +2511,70 @@ class OcorrenciaSessaoView(FormMixin, DetailView):
pk = self.kwargs['pk']
return reverse('sapl.sessao:ocorrencia_sessao', kwargs={'pk': pk})
class ConsideracoesFinaisView(FormMixin, DetailView):
template_name = 'sessao/consideracoes_finais.html'
form_class = OcorrenciaSessaoForm
model = SessaoPlenaria
logger = logging.getLogger(__name__)
def get_context_data(self, **kwargs):
context = FormMixin.get_context_data(self, **kwargs)
context['title'] = 'Considerações Finais <small>(%s)</small>' % (
self.object)
sessao = context['object']
tipo_sessao = sessao.tipo
if tipo_sessao.nome == "Solene":
context.update(
{'subnav_template_name': 'sessao/subnav-solene.yaml'})
return context
def delete(self):
ConsideracoesFinais.objects.filter(sessao_plenaria=self.object).delete()
username = self.request.user.username
self.logger.info('user=' + username + '. ConsideracoesFinais com SessaoPlenaria de id={} deletada.'
.format(self.object.id))
msg = _('Registro deletado com sucesso')
messages.add_message(self.request, messages.SUCCESS, msg)
def save(self, form):
conteudo = form.cleaned_data['conteudo']
ConsideracoesFinais.objects.filter(sessao_plenaria=self.object).delete()
consideracao = ConsideracoesFinais()
consideracao.sessao_plenaria_id = self.object.id
consideracao.conteudo = conteudo
consideracao.save()
msg = _('Registro salvo com sucesso')
messages.add_message(self.request, messages.SUCCESS, msg)
username = self.request.user.username
self.logger.info(
'user=' + username + '. consideracoesFinais de sessao_plenaria_id={} atualizada com sucesso.'.format(self.object.id))
@method_decorator(permission_required('sessao.add_consideraoesfinais'))
def post(self, request, *args, **kwargs):
self.object = self.get_object()
form = OcorrenciaSessaoForm(request.POST)
if not form.is_valid():
return self.form_invalid(form)
if request.POST.get('delete'):
self.delete()
elif request.POST.get('save'):
self.save(form)
return self.form_valid(form)
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sapl.sessao:consideracoes_finais', kwargs={'pk': pk})
class VotacaoEditView(SessaoPermissionMixin):

29
sapl/templates/sessao/consideracoes_finais.html

@ -0,0 +1,29 @@
{% extends "crud/detail.html" %}
{% load i18n %}
{% load crispy_forms_tags %}
{% load common_tags %}
{% block actions %}{% endblock %}
{% block detail_content %}
{% if perms|get_add_perm:view %}
<form method="post" accept-charset="ISO-8859-1">
{% csrf_token %}
<fieldset class="form-group">
<textarea rows="5" cols="50" name="conteudo" id="conteudo">{{object.consideracoesfinais.conteudo}}</textarea>
</fieldset>
<input type="submit" name="save" value="Salvar" class="btn btn-primary"/>
<input type="submit" name="delete" value="Apagar" class="btn btn-danger" />
</form>
{% else %}
{{object.consideracoesfinais.conteudo|safe}}
{% endif %}
{% endblock detail_content %}
<!-- Texto RICO -->
{% block extra_js %}
{% if perms|get_add_perm:view %}
<script language="JavaScript">
initTextRichEditor(null);
</script>
{% endif %}
{% endblock %}

2
sapl/templates/sessao/subnav-solene.yaml

@ -12,6 +12,8 @@
url: orador_list
- title: {% trans 'Ocorrências da Sessão' %}
url: ocorrencia_sessao
- title: {% trans 'Considerações Finais' %}
url: consideracoes_finais
- title: {% trans 'Expedientes' %}
children:

2
sapl/templates/sessao/subnav.yaml

@ -14,6 +14,8 @@
url: orador_list
- title: {% trans 'Ocorrências da Sessão' %}
url: ocorrencia_sessao
- title: {% trans 'Considerações Finais' %}
url: consideracoes_finais
- title: {% trans 'Retirada de Pauta'%}
url: retiradapauta_list

Loading…
Cancel
Save