From c3f24f5bed7ae3e0c71afe086583f232e6a17005 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Sconetto?= Date: Mon, 8 Jan 2018 14:38:19 -0200 Subject: [PATCH] =?UTF-8?q?Corrige=20o=20funcionamento=20e=20filtragem=20n?= =?UTF-8?q?a=20inser=C3=A7=C3=A3o=20em=20participa=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/comissoes/forms.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/sapl/comissoes/forms.py b/sapl/comissoes/forms.py index ff191eff9..c209f621e 100644 --- a/sapl/comissoes/forms.py +++ b/sapl/comissoes/forms.py @@ -18,6 +18,15 @@ class ParticipacaoForm(forms.ModelForm): def __init__(self, user=None, **kwargs): super(ParticipacaoForm, self).__init__(**kwargs) + if self.instance: + comissao = kwargs['initial'] + comissao_pk = int(comissao['parent_pk']) + composicao = Composicao.objects.get(id=comissao_pk) + participantes = composicao.participacao_set.all() + id_part = [p.parlamentar.id for p in participantes] + else: + id_part = [] + qs = self.create_participacao() parlamentares = Mandato.objects.filter(qs, @@ -25,7 +34,10 @@ class ParticipacaoForm(forms.ModelForm): ).prefetch_related('parlamentar').\ values_list('parlamentar', flat=True).distinct() - qs = Parlamentar.objects.filter(id__in=parlamentares).distinct() + + qs = Parlamentar.objects.filter(id__in=parlamentares).distinct().\ + exclude(id__in=id_part) + self.fields['parlamentar'].queryset = qs def create_participacao(self):