diff --git a/sapl/base/forms.py b/sapl/base/forms.py index 9a4a4606f..aba3733f5 100644 --- a/sapl/base/forms.py +++ b/sapl/base/forms.py @@ -1414,6 +1414,7 @@ class PartidoForm(FileFieldCheckMixin, ModelForm): ) def clean(self): + super(PartidoForm,self).clean() cleaned_data = self.cleaned_data if not self.is_valid(): @@ -1471,20 +1472,14 @@ class PartidoUpdateForm(PartidoForm): ) def clean(self): + super(PartidoUpdateForm,self).clean() cleaned_data = self.cleaned_data is_historico = cleaned_data['historico'] == 'sim' - if not self.is_valid(): - return cleaned_data - - if cleaned_data['data_criacao'] and cleaned_data['data_extincao'] and cleaned_data['data_criacao'] > \ - cleaned_data['data_extincao']: - raise ValidationError("Certifique-se de que a data de inicio seja anterior à data fim.") - if is_historico: - if cleaned_data['data_criacao'] == None or cleaned_data['data_extincao'] == None: - raise ValidationError("Certifique-se de que a data de inicio e fim de historico estão preenchidas") + if not cleaned_data['data_criacao'] or not cleaned_data['data_extincao']: + raise ValidationError("Certifique-se de que a data de inicio e fim de historico estão preenchidas") if self.instance.pk: partido = Partido.objects.get(pk=self.instance.pk) @@ -1498,6 +1493,28 @@ class PartidoUpdateForm(PartidoForm): return cleaned_data + def save(self,commit=False): + partido = self.instance + is_historico = self.cleaned_data['historico'] + + if is_historico == "nao": + partido.save(commit) + elif is_historico == "sim": + sigla = self.cleaned_data['sigla'] + nome = self.cleaned_data['nome'] + inicio_historico = self.cleaned_data['data_criacao'] + fim_historico = self.cleaned_data['data_extincao'] + logo_partido = self.cleaned_data['logo_partido'] + historico_partido = HistoricoPartido(sigla=sigla, + nome=nome, + inicio_historico=inicio_historico, + fim_historico=fim_historico, + logo_partido=logo_partido, + partido=partido, + ) + historico_partido.save() + return partido + class RelatorioHistoricoTramitacaoAdmFilterSet(django_filters.FilterSet): @property @@ -1534,6 +1551,4 @@ class RelatorioHistoricoTramitacaoAdmFilterSet(django_filters.FilterSet): Fieldset(_(''), row1, row2, row3, form_actions(label='Pesquisar')) - ) - - + ) \ No newline at end of file diff --git a/sapl/parlamentares/views.py b/sapl/parlamentares/views.py index 966ffb510..cee5005ff 100644 --- a/sapl/parlamentares/views.py +++ b/sapl/parlamentares/views.py @@ -5,7 +5,7 @@ import logging from django.contrib import messages from django.contrib.auth.mixins import PermissionRequiredMixin from django.contrib.contenttypes.models import ContentType -from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist, ValidationError +from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist from django.core.urlresolvers import reverse, reverse_lazy from django.db.models import F, Q from django.db.models.aggregates import Count @@ -76,32 +76,6 @@ class PartidoCrud(CrudAux): layout_key = None form_class = PartidoUpdateForm - def form_valid(self, form): - is_historico = form.cleaned_data['historico'] - - if is_historico == "nao": - super().form_valid(form) - elif is_historico == "sim": - sigla = form.cleaned_data['sigla'] - nome = form.cleaned_data['nome'] - inicio_historico = form.cleaned_data['data_criacao'] - fim_historico = form.cleaned_data['data_extincao'] - logo_partido = form.cleaned_data['logo_partido'] - partido = partido = Partido.objects.get(pk=self.kwargs.get('pk')) - historico_partido = HistoricoPartido(sigla=sigla, - nome=nome, - inicio_historico=inicio_historico, - fim_historico=fim_historico, - logo_partido=logo_partido, - partido=partido, - ) - historico_partido.save() - - - return HttpResponseRedirect( - reverse('sapl.parlamentares:partido_detail', kwargs={'pk': self.kwargs.get('pk')})) - - class DetailView(CrudAux.DetailView): def get_context_data(self, **kwargs): context = super().get_context_data(kwargs=kwargs) diff --git a/sapl/templates/parlamentares/partido_detail.html b/sapl/templates/parlamentares/partido_detail.html index 60a8586e8..e715216fd 100644 --- a/sapl/templates/parlamentares/partido_detail.html +++ b/sapl/templates/parlamentares/partido_detail.html @@ -28,10 +28,33 @@ {{ h.inicio_historico }} {{ h.fim_historico }} {{ h }} - X + X + + + + {% endfor %} + {% endblock table_content %} \ No newline at end of file