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):
parlamentar = forms.ModelChoiceField(required=True,
empty_label='------',
queryset=Parlamentar.objects.all())
tipo_de_retirada = forms.ModelChoiceField(required=True,
empty_label='------',
queryset=TipoRetiradaPauta.objects.all())
class Meta:
model = RetiradaPauta
exclude = ['ordem',
fields = ['ordem',
'expediente',
'materia']
'parlamentar',
'tipo_de_retirada',
'data']
def __init__(self, *args, **kwargs):
row1 = to_row[('parlamentar', 6),
('tipo_de_retirada', 6)]
row2 = to_row[('observacao',12)]
row1 = to_row[('tipo_de_retirada', 5),
('parlamentar', 4),
('data', 3)]
row2 = to_row[('ordem', 6),
('expediente', 6)]
row3 = to_row[('observacao',12)]
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
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):

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.db import models
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
from model_utils import Choices
import reversion
@ -678,6 +679,11 @@ class JustificativaAusencia(models.Model):
class RetiradaPauta(models.Model):
materia = models.ForeignKey(MateriaLegislativa,
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,
blank=True,
null=True,
@ -686,6 +692,8 @@ class RetiradaPauta(models.Model):
blank=True,
null=True,
on_delete=models.CASCADE)
data = models.DateField(verbose_name=_('Data'),
default=timezone.now)
observacao = models.TextField(blank=True,
verbose_name=_('Observações'))
parlamentar = models.ForeignKey(Parlamentar,

4
sapl/sessao/urls.py

@ -10,7 +10,7 @@ from sapl.sessao.views import (AdicionarVariasMateriasExpediente,
PesquisarPautaSessaoView,
PesquisarSessaoPlenariaView,
PresencaOrdemDiaView, PresencaView,
ResumoOrdenacaoView, ResumoView, ResumoAtaView, SessaoCrud,
ResumoOrdenacaoView, ResumoView, ResumoAtaView, RetiradaPautaCrud, SessaoCrud,
TipoJustificativaCrud, TipoExpedienteCrud, TipoResultadoVotacaoCrud,
TipoExpedienteCrud, TipoResultadoVotacaoCrud,TipoRetiradaPautaCrud,
TipoSessaoCrud, VotacaoEditView,
@ -40,7 +40,7 @@ urlpatterns = [
OradorExpedienteCrud.get_urls() +
ExpedienteMateriaCrud.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'),

24
sapl/sessao/views.py

@ -3216,3 +3216,27 @@ class JustificativaAusenciaCrud(MasterDetailCrud):
class DeleteView(MasterDetailCrud.DeleteView):
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
- title: {% trans 'Ocorrências da Sessão' %}
url: ocorrencia_sessao
- title: {% trans 'Retirada de Pauta'%}
url: retiradapauta_list
- title: {% trans 'Expedientes' %}
children:

Loading…
Cancel
Save