|
|
@ -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'] |
|
|
|