Browse Source

Fix #1793 (#1807)

pull/1811/head
Talitha Pumar 7 years ago
committed by Edward
parent
commit
96bb6d8b56
  1. 28
      sapl/comissoes/forms.py
  2. 12
      sapl/comissoes/views.py

28
sapl/comissoes/forms.py

@ -11,6 +11,33 @@ from sapl.comissoes.models import (Comissao, Composicao, DocumentoAcessorio,
Participacao, Reuniao) Participacao, Reuniao)
from sapl.parlamentares.models import Legislatura, Mandato, Parlamentar from sapl.parlamentares.models import Legislatura, Mandato, Parlamentar
class ComposicaoForm(forms.ModelForm):
class Meta:
model = Composicao
exclude = []
def clean(self):
cleaned_data = super(ComposicaoForm, self).clean()
if not self.is_valid():
return cleaned_data
periodo = cleaned_data['periodo']
comissao_pk = cleaned_data['comissao'].id
intersecao_periodo = Composicao.objects.filter(
Q(periodo__data_inicio__lte=periodo.data_fim,
periodo__data_fim__gte=periodo.data_fim) |
Q(periodo__data_inicio__gte=periodo.data_inicio,
periodo__data_fim__lte=periodo.data_inicio),
comissao_id=comissao_pk)
if intersecao_periodo:
raise ValidationError('O período informado '
'choca com períodos já '
'cadastrados para esta comissão')
return cleaned_data
class ParticipacaoCreateForm(forms.ModelForm): class ParticipacaoCreateForm(forms.ModelForm):
@ -219,4 +246,3 @@ class DocumentoAcessorioEditForm(forms.ModelForm):
def __init__(self, user=None, **kwargs): def __init__(self, user=None, **kwargs):
super(DocumentoAcessorioEditForm, self).__init__(**kwargs) super(DocumentoAcessorioEditForm, self).__init__(**kwargs)

12
sapl/comissoes/views.py

@ -13,8 +13,8 @@ from sapl.base.models import AppConfig as AppsAppConfig
from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud,
CrudAux, MasterDetailCrud, CrudAux, MasterDetailCrud,
PermissionRequiredForAppCrudMixin) PermissionRequiredForAppCrudMixin)
from sapl.comissoes.forms import (ComissaoForm, DocumentoAcessorioCreateForm, from sapl.comissoes.forms import (ComissaoForm,ComposicaoForm, DocumentoAcessorioCreateForm,
DocumentoAcessorioEditForm, ParticipacaoCreateForm, DocumentoAcessorioEditForm, ParticipacaoCreateForm,
ParticipacaoEditForm, ReuniaoForm) ParticipacaoEditForm, ReuniaoForm)
from sapl.materia.models import MateriaLegislativa, Tramitacao from sapl.materia.models import MateriaLegislativa, Tramitacao
@ -81,6 +81,10 @@ class ComposicaoCrud(MasterDetailCrud):
model_set = 'participacao_set' model_set = 'participacao_set'
public = [RP_LIST, RP_DETAIL, ] public = [RP_LIST, RP_DETAIL, ]
class CreateView(MasterDetailCrud.CreateView):
form_class = ComposicaoForm
class ListView(MasterDetailCrud.ListView): class ListView(MasterDetailCrud.ListView):
template_name = "comissoes/composicao_list.html" template_name = "comissoes/composicao_list.html"
paginate_by = None paginate_by = None
@ -176,7 +180,7 @@ class ReuniaoCrud(MasterDetailCrud):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
reuniao_pk = self.take_reuniao_pk() reuniao_pk = self.take_reuniao_pk()
if reuniao_pk == 0: if reuniao_pk == 0:
ultima_reuniao = list(context['reuniao_list']) ultima_reuniao = list(context['reuniao_list'])
if len(ultima_reuniao) > 0: if len(ultima_reuniao) > 0:
@ -235,4 +239,4 @@ class DocumentoAcessorioCrud(MasterDetailCrud):
obj.delete() obj.delete()
return HttpResponseRedirect( return HttpResponseRedirect(
reverse('sapl.comissoes:reuniao_detail', reverse('sapl.comissoes:reuniao_detail',
kwargs={'pk': obj.reuniao.pk})) kwargs={'pk': obj.reuniao.pk}))

Loading…
Cancel
Save