Browse Source

refatora clean de SessaoPlenariaForm

pull/2835/head
Leandro Roberto 7 years ago
parent
commit
547225d8b8
  1. 20
      sapl/sessao/forms.py

20
sapl/sessao/forms.py

@ -1,6 +1,5 @@
from datetime import datetime from datetime import datetime
from sapl.crispy_layout_mixin import SaplFormHelper
from crispy_forms.layout import HTML, Button, Fieldset, Layout from crispy_forms.layout import HTML, Button, Fieldset, Layout
from django import forms from django import forms
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
@ -13,6 +12,7 @@ from django.utils.translation import ugettext_lazy as _
import django_filters import django_filters
from sapl.base.models import Autor, TipoAutor from sapl.base.models import Autor, TipoAutor
from sapl.crispy_layout_mixin import SaplFormHelper
from sapl.crispy_layout_mixin import form_actions, to_row, SaplFormLayout from sapl.crispy_layout_mixin import form_actions, to_row, SaplFormLayout
from sapl.materia.forms import MateriaLegislativaFilterSet from sapl.materia.forms import MateriaLegislativaFilterSet
from sapl.materia.models import (MateriaLegislativa, StatusTramitacao, from sapl.materia.models import (MateriaLegislativa, StatusTramitacao,
@ -60,20 +60,10 @@ class SessaoPlenariaForm(FileFieldCheckMixin, ModelForm):
"para a Legislatura, Sessão Legislativa e Tipo informados. " "para a Legislatura, Sessão Legislativa e Tipo informados. "
"Favor escolher um número distinto.") "Favor escolher um número distinto.")
sessoes = SessaoPlenaria.objects.filter(numero=num, qs = tipo.queryset_tipo_numeracao(leg, sl, abertura)
sessao_legislativa=sl, qs &= Q(numero=num)
legislatura=leg,
tipo=tipo,
data_inicio__year=abertura.year).\
values_list('id', flat=True)
qtd_sessoes = len(sessoes)
if qtd_sessoes > 0: if SessaoPlenaria.objects.filter(qs).exclude(pk=instance.pk).exists():
if instance.pk: # update
if instance.pk not in sessoes or qtd_sessoes > 1:
raise error
else: # create
raise error raise error
# Condições da verificação # Condições da verificação
@ -662,8 +652,8 @@ class OradorForm(ModelForm):
"Já existe orador nesta posição de ordem de pronunciamento" "Já existe orador nesta posição de ordem de pronunciamento"
)) ))
return self.cleaned_data return self.cleaned_data
class Meta: class Meta:
model = Orador model = Orador
exclude = ['sessao_plenaria'] exclude = ['sessao_plenaria']

Loading…
Cancel
Save