From 9b127c62469b90f80031ae6cfce651a00167ea46 Mon Sep 17 00:00:00 2001 From: Mariana Mendes Date: Fri, 23 Mar 2018 15:17:59 -0300 Subject: [PATCH] Fix #1776 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: João Pedro Sconetto --- sapl/comissoes/forms.py | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/sapl/comissoes/forms.py b/sapl/comissoes/forms.py index 2f63f5120..abcce24f7 100644 --- a/sapl/comissoes/forms.py +++ b/sapl/comissoes/forms.py @@ -55,24 +55,16 @@ class ParticipacaoCreateForm(forms.ModelForm): def clean(self): cleaned_data = super(ParticipacaoCreateForm, self).clean() + if not self.is_valid(): return cleaned_data composicao = Composicao.objects.get(id=self.initial['parent_pk']) - participantes = composicao.participacao_set.all() - - cargos = {} - for parlamentar in participantes: - cargos.update({str(parlamentar.cargo): parlamentar.cargo.unico}) - - for cargo, unico in cargos.items(): - if cleaned_data['cargo'].nome == cargo: - if cleaned_data['cargo'].unico: - msg = _('Este cargo é único para esta composição') - raise ValidationError(msg) - - return cleaned_data + cargos_unicos = [c.cargo.nome for c in composicao.participacao_set.filter(cargo__unico=True)] + if cleaned_data['cargo'].nome in cargos_unicos: + msg = _('Este cargo é único para esta Comissão.') + raise ValidationError(msg) def create_participacao(self):