Browse Source

Fix Desfiliação from Filiação Partidária

pull/153/head
Eduardo Calil 9 years ago
parent
commit
2602d66379
  1. 36
      parlamentares/views.py
  2. 1
      templates/parlamentares/parlamentares_filiacao.html

36
parlamentares/views.py

@ -11,6 +11,7 @@ from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
from django.views.generic.edit import FormMixin
from vanilla import GenericView
from django.core.exceptions import ObjectDoesNotExist
import sapl
from sapl.crud import build_crud
@ -785,13 +786,40 @@ class FiliacaoView(FormMixin, GenericView):
if form.is_valid():
filiacao = form.save(commit=False)
pid = kwargs['pk']
parlamentar = Parlamentar.objects.get(id=pid)
filiacao.parlamentar = parlamentar
filiacao.save()
return self.form_valid(form)
candidato_filiado = Filiacao.objects.filter(
parlamentar=parlamentar)
candidato_desfiliou = Filiacao.objects.filter(
parlamentar=parlamentar,
data_desfiliacao=None)
if not candidato_filiado:
filiacao = form.save(commit=False)
filiacao.parlamentar = parlamentar
filiacao.save()
return self.form_valid(form)
else:
if candidato_desfiliou:
filiacoes = Filiacao.objects.filter(
parlamentar=parlamentar)
return self.render_to_response(
{'parlamentar': parlamentar,
'filiacoes': filiacoes,
'form': form,
'legislatura_id': parlamentar.mandato_set.last(
).legislatura.id,
'mensagem_erro': "Você não pode se filiar a algum partido\
sem antes se desfiliar do partido anterior"})
else:
filiacao = form.save(commit=False)
filiacao.parlamentar = parlamentar
filiacao.save()
return self.form_valid(form)
else:
pid = kwargs['pk']
parlamentar = Parlamentar.objects.get(id=pid)

1
templates/parlamentares/parlamentares_filiacao.html

@ -37,6 +37,7 @@
</table>
</fieldset>
{% if mensagem_erro %} <h5 align="center"><font color="#FF0000">{{ mensagem_erro }}</font></h5> {% endif %}
{% crispy form %}
{% endblock detail_content %}

Loading…
Cancel
Save