Browse Source

[WIP] initial commit

pull/2383/head
VictorFabreF 7 years ago
committed by Victor Fabre
parent
commit
3212c54efc
  1. 19
      sapl/sessao/forms.py
  2. 40
      sapl/sessao/models.py

19
sapl/sessao/forms.py

@ -23,11 +23,11 @@ from sapl.parlamentares.models import Parlamentar, Legislatura, Mandato
from sapl.utils import (RANGE_DIAS_MES, RANGE_MESES,
MateriaPesquisaOrderingFilter, autor_label,
autor_modal, timezone)
from .models import (Bancada, Bloco, ExpedienteMateria, Orador, JustificativaAusencia,
OradorExpediente, OrdemDia, SessaoPlenaria,
SessaoPlenariaPresenca, TipoResultadoVotacao, OcorrenciaSessao,
RegistroVista)
from .models import (Bancada, Bloco, ExpedienteMateria, JustificativaAusencia,
Orador, OradorExpediente, OrdemDia, SessaoPlenaria,
SessaoPlenariaPresenca, TipoJustificativa, TipoResultadoVotacao,
OcorrenciaSessao)
def recupera_anos():
@ -191,6 +191,17 @@ class SessaoPlenariaForm(ModelForm):
return self.cleaned_data
class RegistroVistaForm(ModelForm):
parlamentar = forms.ModelChoiceField(required=True,
empty_label='------',
queryset=Parlamentar.objects.all())
class Meta:
model = RegistroVista
exclude = ['ordem', 'expediente', 'materia']
class BancadaForm(ModelForm):
class Meta:

40
sapl/sessao/models.py

@ -662,3 +662,43 @@ class JustificativaAusencia(models.Model):
force_update=force_update,
using=using,
update_fields=update_fields)
class RegistroVista(models.Model):
materia = models.ForeignKey(MateriaLegislativa,
on_delete=models.CASCADE)
ordem = models.ForeignKey(OrdemDia,
blank=True,
null=True,
on_delete=models.CASCADE)
expediente = models.ForeignKey(ExpedienteMateria,
blank=True,
null=True,
on_delete=models.CASCADE)
observacao = models.TextField(blank=True,
verbose_name=_('Observações'))
parlamentar = models.ForeignKey(Parlamentar,
on_delete=models.PROTECT,
verbose_name=_('Requerente'))
class Meta:
verbose_name = _('Pedido de Vista')
verbose_name_plural = _('Pedidos de Vista')
def __str__(self):
return _('Ordem: %(ordem)s - Requerente: %(requerente)s - '
'Matéria: %(materia)s') % {
'ordem': self.ordem,
'requerente': self.parlamentar,
'materia': self.materia}
def clean(self):
"""Exatamente um dos campos ordem ou expediente deve estar preenchido.
"""
# TODO remover esse método quando OrdemDia e ExpedienteMateria
# forem reestruturados e os campos ordem e expediente forem unificados
if not xor(bool(self.ordem), bool(self.expediente)):
raise ValidationError(
'RegistroVotacao deve ter exatamente um dos campos '
'ordem ou expediente preenchido. Ambos estão preenchidos: '
'{}, {}'. format(self.ordem, self.expediente))

Loading…
Cancel
Save