Browse Source

[WIP]

pull/2383/head
VictorFabreF 7 years ago
committed by Victor Fabre
parent
commit
850a120f05
  1. 38
      sapl/sessao/forms.py
  2. 27
      sapl/sessao/migrations/0030_auto_20181113_1149.py
  3. 8
      sapl/sessao/models.py
  4. 4
      sapl/sessao/urls.py
  5. 24
      sapl/sessao/views.py
  6. 2
      sapl/templates/sessao/subnav.yaml

38
sapl/sessao/forms.py

@ -193,30 +193,48 @@ class SessaoPlenariaForm(ModelForm):
class RetiradaPautaForm(ModelForm): class RetiradaPautaForm(ModelForm):
parlamentar = forms.ModelChoiceField(required=True,
empty_label='------',
queryset=Parlamentar.objects.all())
tipo_de_retirada = forms.ModelChoiceField(required=True, tipo_de_retirada = forms.ModelChoiceField(required=True,
empty_label='------', empty_label='------',
queryset=TipoRetiradaPauta.objects.all()) queryset=TipoRetiradaPauta.objects.all())
class Meta: class Meta:
model = RetiradaPauta model = RetiradaPauta
exclude = ['ordem', fields = ['ordem',
'expediente', 'expediente',
'materia'] 'parlamentar',
'tipo_de_retirada',
'data']
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
row1 = to_row[('parlamentar', 6), row1 = to_row[('tipo_de_retirada', 5),
('tipo_de_retirada', 6)] ('parlamentar', 4),
row2 = to_row[('observacao',12)] ('data', 3)]
row2 = to_row[('ordem', 6),
('expediente', 6)]
row3 = to_row[('observacao',12)]
self.helper = FormHelper() self.helper = FormHelper()
self.helper.layout = SaplFormLayout( self.helper.layout = SaplFormLayout(
Fieldset(_('Retirada de Pauta'), Fieldset(_('Retirada de Pauta'),
row1, row2)) row1, row2, row3))
q = Q(sessao_plenaria=kwargs['initial']['sessao_plenaria'])
ordens = OrdemDia.objects.filter(q)
expedientes = ExpedienteMateria.objects.filter(q)
super(RetiradaPautaForm, self).__init__(
*args, **kwargs)
presencas = SessaoPlenariaPresenca.objects.filter(
q).order_by('parlamentar__nome_parlamentar')
presentes = [p.parlamentar for p in presencas]
self.fields['materias_do_expediente'].choices = [
(e.id, e.materia) for e in expedientes]
self.fields['materias_da_ordem_do_dia'].choices = [
(o.id, o.materia) for o in ordens]
self.fields['parlamentar'].choices = [
("0", "------------")] + [(p.id, p) for p in presentes]
class BancadaForm(ModelForm): class BancadaForm(ModelForm):

27
sapl/sessao/migrations/0030_auto_20181113_1149.py

@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.8 on 2018-11-13 13:49
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('sessao', '0029_auto_20181024_0952'),
]
operations = [
migrations.AddField(
model_name='retiradapauta',
name='data',
field=models.DateField(default=django.utils.timezone.now, verbose_name='Data'),
),
migrations.AddField(
model_name='retiradapauta',
name='sessao_plenaria',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='sessao.SessaoPlenaria', verbose_name='Sessão Plenária'),
),
]

8
sapl/sessao/models.py

@ -2,6 +2,7 @@ from operator import xor
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.db import models from django.db import models
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from model_utils import Choices from model_utils import Choices
import reversion import reversion
@ -678,6 +679,11 @@ class JustificativaAusencia(models.Model):
class RetiradaPauta(models.Model): class RetiradaPauta(models.Model):
materia = models.ForeignKey(MateriaLegislativa, materia = models.ForeignKey(MateriaLegislativa,
on_delete=models.CASCADE) on_delete=models.CASCADE)
sessao_plenaria = models.ForeignKey(SessaoPlenaria,
on_delete=models.CASCADE,
verbose_name=_('Sessão Plenária'),
blank=True,
null=True)
ordem = models.ForeignKey(OrdemDia, ordem = models.ForeignKey(OrdemDia,
blank=True, blank=True,
null=True, null=True,
@ -686,6 +692,8 @@ class RetiradaPauta(models.Model):
blank=True, blank=True,
null=True, null=True,
on_delete=models.CASCADE) on_delete=models.CASCADE)
data = models.DateField(verbose_name=_('Data'),
default=timezone.now)
observacao = models.TextField(blank=True, observacao = models.TextField(blank=True,
verbose_name=_('Observações')) verbose_name=_('Observações'))
parlamentar = models.ForeignKey(Parlamentar, parlamentar = models.ForeignKey(Parlamentar,

4
sapl/sessao/urls.py

@ -10,7 +10,7 @@ from sapl.sessao.views import (AdicionarVariasMateriasExpediente,
PesquisarPautaSessaoView, PesquisarPautaSessaoView,
PesquisarSessaoPlenariaView, PesquisarSessaoPlenariaView,
PresencaOrdemDiaView, PresencaView, PresencaOrdemDiaView, PresencaView,
ResumoOrdenacaoView, ResumoView, ResumoAtaView, SessaoCrud, ResumoOrdenacaoView, ResumoView, ResumoAtaView, RetiradaPautaCrud, SessaoCrud,
TipoJustificativaCrud, TipoExpedienteCrud, TipoResultadoVotacaoCrud, TipoJustificativaCrud, TipoExpedienteCrud, TipoResultadoVotacaoCrud,
TipoExpedienteCrud, TipoResultadoVotacaoCrud,TipoRetiradaPautaCrud, TipoExpedienteCrud, TipoResultadoVotacaoCrud,TipoRetiradaPautaCrud,
TipoSessaoCrud, VotacaoEditView, TipoSessaoCrud, VotacaoEditView,
@ -40,7 +40,7 @@ urlpatterns = [
OradorExpedienteCrud.get_urls() + OradorExpedienteCrud.get_urls() +
ExpedienteMateriaCrud.get_urls() + ExpedienteMateriaCrud.get_urls() +
JustificativaAusenciaCrud.get_urls() + JustificativaAusenciaCrud.get_urls() +
MateriaOrdemDiaCrud.get_urls())), MateriaOrdemDiaCrud.get_urls() + RetiradaPautaCrud.get_urls())),
url(r'^sessao/(?P<pk>\d+)/mesa$', MesaView.as_view(), name='mesa'), url(r'^sessao/(?P<pk>\d+)/mesa$', MesaView.as_view(), name='mesa'),

24
sapl/sessao/views.py

@ -3216,3 +3216,27 @@ class JustificativaAusenciaCrud(MasterDetailCrud):
class DeleteView(MasterDetailCrud.DeleteView): class DeleteView(MasterDetailCrud.DeleteView):
pass pass
class RetiradaPautaCrud(MasterDetailCrud):
model = RetiradaPauta
public = [RP_LIST, RP_DETAIL, ]
parent_field = 'sessao_plenaria'
class BaseMixin(MasterDetailCrud.BaseMixin):
list_field_names = ['tipo_de_retirada', 'materia', 'observacao', 'parlamentar']
class ListView(MasterDetailCrud.ListView):
paginate_by = 10
class CreateView(MasterDetailCrud.CreateView):
form_class = RetiradaPautaForm
layout_key = None
def get_initial(self):
sessao_plenaria = SessaoPlenaria.objects.get(id=self.kwargs['pk'])
return {'sessao_plenaria': sessao_plenaria}
def get_success_url(self):
return reverse('sapl.sessao:retiradapauta_list',
kwargs={'pk': self.kwargs['pk']})

2
sapl/templates/sessao/subnav.yaml

@ -14,6 +14,8 @@
url: orador_list url: orador_list
- title: {% trans 'Ocorrências da Sessão' %} - title: {% trans 'Ocorrências da Sessão' %}
url: ocorrencia_sessao url: ocorrencia_sessao
- title: {% trans 'Retirada de Pauta'%}
url: retiradapauta_list
- title: {% trans 'Expedientes' %} - title: {% trans 'Expedientes' %}
children: children:

Loading…
Cancel
Save