Browse Source

ajusta detalhes na ocorrencia de sessao

pull/2231/head
Leandro Roberto 7 years ago
parent
commit
dc0a709f9d
  1. 21
      sapl/sessao/migrations/0025_auto_20180919_1116.py
  2. 7
      sapl/sessao/models.py
  3. 4
      sapl/sessao/urls.py
  4. 57
      sapl/sessao/views.py
  5. 2
      sapl/templates/sessao/ocorrencia_sessao.html

21
sapl/sessao/migrations/0025_auto_20180919_1116.py

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.13 on 2018-09-19 14:16
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('sessao', '0024_ocorrenciasessao'),
]
operations = [
migrations.AlterField(
model_name='ocorrenciasessao',
name='sessao_plenaria',
field=models.OneToOneField(on_delete=django.db.models.deletion.PROTECT, to='sessao.SessaoPlenaria'),
),
]

7
sapl/sessao/models.py

@ -300,10 +300,11 @@ class ExpedienteSessao(models.Model): # ExpedienteSessaoPlenaria
def __str__(self): def __str__(self):
return '%s - %s' % (self.tipo, self.sessao_plenaria) return '%s - %s' % (self.tipo, self.sessao_plenaria)
@reversion.register() @reversion.register()
class OcorrenciaSessao(models.Model): # OcorrenciaSessaoPlenaria class OcorrenciaSessao(models.Model): # OcorrenciaSessaoPlenaria
sessao_plenaria = models.ForeignKey(SessaoPlenaria, sessao_plenaria = models.OneToOneField(SessaoPlenaria,
on_delete=models.PROTECT) on_delete=models.PROTECT)
conteudo = models.TextField( conteudo = models.TextField(
blank=True, verbose_name=_('Ocorrências da Sessão Plenária')) blank=True, verbose_name=_('Ocorrências da Sessão Plenária'))
@ -312,7 +313,7 @@ class OcorrenciaSessao(models.Model): # OcorrenciaSessaoPlenaria
verbose_name_plural = _('Ocorrências da Sessão Plenaria') verbose_name_plural = _('Ocorrências da Sessão Plenaria')
def __str__(self): def __str__(self):
return '%s - %s' % (self.sessao_plenaria) return '%s - %s' % (self.sessao_plenaria, self.conteudo)
@reversion.register() @reversion.register()

4
sapl/sessao/urls.py

@ -3,7 +3,7 @@ from django.conf.urls import include, url
from sapl.sessao.views import (AdicionarVariasMateriasExpediente, from sapl.sessao.views import (AdicionarVariasMateriasExpediente,
AdicionarVariasMateriasOrdemDia, BancadaCrud, AdicionarVariasMateriasOrdemDia, BancadaCrud,
BlocoCrud, CargoBancadaCrud, BlocoCrud, CargoBancadaCrud,
ExpedienteMateriaCrud, ExpedienteView, ocorrencia_sessaoView, ExpedienteMateriaCrud, ExpedienteView, OcorrenciaSessaoView,
MateriaOrdemDiaCrud, MesaView, OradorCrud, MateriaOrdemDiaCrud, MesaView, OradorCrud,
OradorExpedienteCrud, PainelView, OradorExpedienteCrud, PainelView,
PautaSessaoDetailView, PautaSessaoView, PautaSessaoDetailView, PautaSessaoView,
@ -101,7 +101,7 @@ urlpatterns = [
url(r'^sessao/(?P<pk>\d+)/expediente$', url(r'^sessao/(?P<pk>\d+)/expediente$',
ExpedienteView.as_view(), name='expediente'), ExpedienteView.as_view(), name='expediente'),
url(r'^sessao/(?P<pk>\d+)/ocorrencia_sessao$', url(r'^sessao/(?P<pk>\d+)/ocorrencia_sessao$',
ocorrencia_sessaoView.as_view(), name='ocorrencia_sessao'), OcorrenciaSessaoView.as_view(), name='ocorrencia_sessao'),
url(r'^sessao/(?P<pk>\d+)/presenca$', url(r'^sessao/(?P<pk>\d+)/presenca$',
PresencaView.as_view(), name='presenca'), PresencaView.as_view(), name='presenca'),
url(r'^sessao/(?P<pk>\d+)/painel$', url(r'^sessao/(?P<pk>\d+)/painel$',

57
sapl/sessao/views.py

@ -1455,9 +1455,12 @@ class ResumoView(DetailView):
'decimo_ordenacao': dict_ord_template['oradores_expli']}) 'decimo_ordenacao': dict_ord_template['oradores_expli']})
return self.render_to_response(context) return self.render_to_response(context)
class ResumoAtaView(ResumoView): class ResumoAtaView(ResumoView):
template_name = 'sessao/resumo_ata.html' template_name = 'sessao/resumo_ata.html'
class ExpedienteView(FormMixin, DetailView): class ExpedienteView(FormMixin, DetailView):
template_name = 'sessao/expediente.html' template_name = 'sessao/expediente.html'
form_class = ExpedienteForm form_class = ExpedienteForm
@ -1536,7 +1539,8 @@ class ExpedienteView(FormMixin, DetailView):
pk = self.kwargs['pk'] pk = self.kwargs['pk']
return reverse('sapl.sessao:expediente', kwargs={'pk': pk}) return reverse('sapl.sessao:expediente', kwargs={'pk': pk})
class ocorrencia_sessaoView(FormMixin, DetailView):
class OcorrenciaSessaoView(FormMixin, DetailView):
template_name = 'sessao/ocorrencia_sessao.html' template_name = 'sessao/ocorrencia_sessao.html'
form_class = OcorrenciaSessaoForm form_class = OcorrenciaSessaoForm
model = SessaoPlenaria model = SessaoPlenaria
@ -1558,57 +1562,24 @@ class ocorrencia_sessaoView(FormMixin, DetailView):
return self.form_valid(form) return self.form_valid(form)
if form.is_valid(): if form.is_valid():
list_conteudo = request.POST.getlist('conteudo') conteudo = request.POST.get('conteudo')
for tipo, conteudo in zip(list_tipo, list_conteudo): OcorrenciaSessao.objects.filter(
sessao_plenaria_id=self.object.id).delete()
ExpedienteSessao.objects.filter( ocorrencia = OcorrenciaSessao()
sessao_plenaria_id=self.object.id, ocorrencia.sessao_plenaria_id = self.object.id
tipo_id=tipo).delete() ocorrencia.conteudo = conteudo
ocorrencia.save()
expediente = ExpedienteSessao() msg = _('Registro salvo com sucesso')
expediente.sessao_plenaria_id = self.object.id messages.add_message(self.request, messages.SUCCESS, msg)
expediente.tipo_id = tipo
expediente.conteudo = conteudo
expediente.save()
msg = _('Registro salvo com sucesso')
messages.add_message(self.request, messages.SUCCESS, msg)
return self.form_valid(form) return self.form_valid(form)
else: else:
msg = _('Erro ao salvar registro') msg = _('Erro ao salvar registro')
messages.add_message(self.request, messages.SUCCESS, msg) messages.add_message(self.request, messages.SUCCESS, msg)
return self.form_invalid(form) return self.form_invalid(form)
def get(self, request, *args, **kwargs):
self.object = self.get_object()
context = self.get_context_data(object=self.object)
tipos = TipoExpediente.objects.all().order_by('nome')
expedientes_sessao = ExpedienteSessao.objects.filter(
sessao_plenaria_id=self.object.id).order_by('tipo__nome')
expedientes_salvos = []
for e in expedientes_sessao:
expedientes_salvos.append(e.tipo)
tipos_null = list(set(tipos) - set(expedientes_salvos))
tipos_null.sort(key=lambda x: x.nome)
expedientes = []
for e, t in zip(expedientes_sessao, tipos):
expedientes.append({'tipo': e.tipo,
'conteudo': e.conteudo
})
context.update({'expedientes': expedientes})
for e in tipos_null:
expedientes.append({'tipo': e,
'conteudo': ''
})
context.update({'expedientes': expedientes})
return self.render_to_response(context)
def get_success_url(self): def get_success_url(self):
pk = self.kwargs['pk'] pk = self.kwargs['pk']
return reverse('sapl.sessao:ocorrencia_sessao', kwargs={'pk': pk}) return reverse('sapl.sessao:ocorrencia_sessao', kwargs={'pk': pk})

2
sapl/templates/sessao/ocorrencia_sessao.html

@ -10,7 +10,7 @@
<form method="post"> <form method="post">
{% csrf_token %} {% csrf_token %}
<fieldset class="form-group"> <fieldset class="form-group">
<textarea rows="5" cols="50" name="conteudo" id="conteudo" class="form-control">{{conteudo}}</textarea> <textarea rows="5" cols="50" name="conteudo" id="conteudo" class="form-control">{{object.ocorrenciasessao.conteudo}}</textarea>
</fieldset> </fieldset>
<input type="submit" value="Salvar" class="btn btn-primary"/> <input type="submit" value="Salvar" class="btn btn-primary"/>
<input type="submit" id="apagar-ocorrencia_sessao" name="apagar-ocorrencia_sessao" value="Apagar" class="btn btn-danger" /> <input type="submit" id="apagar-ocorrencia_sessao" name="apagar-ocorrencia_sessao" value="Apagar" class="btn btn-danger" />

Loading…
Cancel
Save