|
|
@ -23,11 +23,9 @@ class ParticipacaoForm(forms.ModelForm): |
|
|
def __init__(self, user=None, **kwargs): |
|
|
def __init__(self, user=None, **kwargs): |
|
|
super(ParticipacaoForm, self).__init__(**kwargs) |
|
|
super(ParticipacaoForm, self).__init__(**kwargs) |
|
|
|
|
|
|
|
|
if self.instance: |
|
|
import ipdb; ipdb.set_trace() |
|
|
comissao = kwargs['initial'] |
|
|
if self.instance.pk: |
|
|
comissao_pk = int(comissao['parent_pk']) |
|
|
participantes = self.instance.composicao.participacao_set.all() |
|
|
composicao = Composicao.objects.get(id=comissao_pk) |
|
|
|
|
|
participantes = composicao.participacao_set.all() |
|
|
|
|
|
id_part = [p.parlamentar.id for p in participantes] |
|
|
id_part = [p.parlamentar.id for p in participantes] |
|
|
else: |
|
|
else: |
|
|
id_part = [] |
|
|
id_part = [] |
|
|
@ -36,11 +34,11 @@ class ParticipacaoForm(forms.ModelForm): |
|
|
|
|
|
|
|
|
parlamentares = Mandato.objects.filter(qs, |
|
|
parlamentares = Mandato.objects.filter(qs, |
|
|
parlamentar__ativo=True |
|
|
parlamentar__ativo=True |
|
|
).prefetch_related('parlamentar').\ |
|
|
).prefetch_related('parlamentar'). \ |
|
|
values_list('parlamentar', |
|
|
values_list('parlamentar', |
|
|
flat=True).distinct() |
|
|
flat=True).distinct() |
|
|
|
|
|
|
|
|
qs = Parlamentar.objects.filter(id__in=parlamentares).distinct().\ |
|
|
qs = Parlamentar.objects.filter(id__in=parlamentares).distinct(). \ |
|
|
exclude(id__in=id_part) |
|
|
exclude(id__in=id_part) |
|
|
eligible = self.verifica() |
|
|
eligible = self.verifica() |
|
|
result = list(set(qs) & set(eligible)) |
|
|
result = list(set(qs) & set(eligible)) |
|
|
@ -52,7 +50,7 @@ class ParticipacaoForm(forms.ModelForm): |
|
|
self.fields['parlamentar'].queryset = qs |
|
|
self.fields['parlamentar'].queryset = qs |
|
|
|
|
|
|
|
|
def create_participacao(self): |
|
|
def create_participacao(self): |
|
|
composicao = Composicao.objects.get(id=self.initial['parent_pk']) |
|
|
composicao = self.instance.composicao |
|
|
data_inicio_comissao = composicao.periodo.data_inicio |
|
|
data_inicio_comissao = composicao.periodo.data_inicio |
|
|
data_fim_comissao = composicao.periodo.data_fim |
|
|
data_fim_comissao = composicao.periodo.data_fim |
|
|
q1 = Q(data_fim_mandato__isnull=False, |
|
|
q1 = Q(data_fim_mandato__isnull=False, |
|
|
@ -71,7 +69,7 @@ class ParticipacaoForm(forms.ModelForm): |
|
|
return self.cleaned_data |
|
|
return self.cleaned_data |
|
|
|
|
|
|
|
|
def verifica(self): |
|
|
def verifica(self): |
|
|
composicao = Composicao.objects.get(id=self.initial['parent_pk']) |
|
|
composicao = self.instance.composicao |
|
|
participantes = composicao.participacao_set.all() |
|
|
participantes = composicao.participacao_set.all() |
|
|
participantes_id = [p.parlamentar.id for p in participantes] |
|
|
participantes_id = [p.parlamentar.id for p in participantes] |
|
|
parlamentares = Parlamentar.objects.all().exclude(id__in=participantes_id).order_by('nome_completo') |
|
|
parlamentares = Parlamentar.objects.all().exclude(id__in=participantes_id).order_by('nome_completo') |
|
|
|