diff --git a/sapl/parlamentares/forms.py b/sapl/parlamentares/forms.py index 8d4142eb6..9bd8fc79c 100755 --- a/sapl/parlamentares/forms.py +++ b/sapl/parlamentares/forms.py @@ -147,8 +147,12 @@ class MandatoForm(ModelForm): existe_mandato = Mandato.objects.filter( parlamentar=data['parlamentar'], - legislatura=data['legislatura']).exists() - if existe_mandato and data['titular']: + legislatura=data['legislatura']) + + if self.instance.pk: + existe_mandato = existe_mandato.exclude(id=self.instance.pk) + + if existe_mandato.exists() and data['titular']: self.logger.error("Mandato nesta legislatura (parlamentar={}, legislatura={}) já existe." .format(data['parlamentar'], data['legislatura'])) raise ValidationError(_('Mandato nesta legislatura já existe.')) diff --git a/sapl/parlamentares/views.py b/sapl/parlamentares/views.py index 8c6986418..ef1e46622 100644 --- a/sapl/parlamentares/views.py +++ b/sapl/parlamentares/views.py @@ -447,6 +447,9 @@ class MandatoCrud(MasterDetailCrud): return {'parlamentar': Parlamentar.objects.get( pk=self.kwargs['pk'])} + class UpdateView(MasterDetailCrud.UpdateView): + form_class = MandatoForm + class ComposicaoColigacaoCrud(MasterDetailCrud): model = ComposicaoColigacao