From 4e1f9b8e3efbdcf5c4b304299022fb1fc26a4c4f Mon Sep 17 00:00:00 2001 From: Eduardo Edson Batista Cordeiro Alves Date: Mon, 4 Jan 2016 12:53:22 -0200 Subject: [PATCH] Refactor parlamentar list --- parlamentares/views.py | 47 +++++++++++++++++-- .../parlamentares/parlamentares_list.html | 22 ++++----- 2 files changed, 51 insertions(+), 18 deletions(-) diff --git a/parlamentares/views.py b/parlamentares/views.py index cdc57fed6..de8419874 100644 --- a/parlamentares/views.py +++ b/parlamentares/views.py @@ -158,24 +158,63 @@ class ParlamentaresView(GenericView): def get(self, request, *args, **kwargs): form = ParlamentaresListForm() + legislaturas = Legislatura.objects.all().order_by( '-data_inicio', '-data_fim') + + mandatos = Mandato.objects.filter( + legislatura_id=legislaturas.first().id) + + parlamentares = [] + dict_parlamentar = {} + for m in mandatos: + + if m.parlamentar.filiacao_set.last(): + partido = m.parlamentar.filiacao_set.last().partido.sigla + else: + partido = 'Sem Registro' + + dict_parlamentar = { + 'id': m.parlamentar.id, + 'nome': m.parlamentar.nome_parlamentar, + 'partido': partido, + 'ativo': m.parlamentar.ativo} + parlamentares.append(dict_parlamentar) + return self.render_to_response( {'legislaturas': legislaturas, 'legislatura_id': legislaturas.first().id, - 'mandatos': Mandato.objects.all(), 'form': form, - 'filiacao': Filiacao.objects.all()}) + 'parlamentares': parlamentares}) def post(self, request, *args, **kwargs): form = ParlamentaresListForm(request.POST) + + mandatos = Mandato.objects.filter( + legislatura_id=int(form.data['periodo'])) + + parlamentares = [] + dict_parlamentar = {} + for m in mandatos: + + if m.parlamentar.filiacao_set.last(): + partido = m.parlamentar.filiacao_set.last().partido.sigla + else: + partido = 'Sem Registro' + + dict_parlamentar = { + 'id': m.parlamentar.id, + 'nome': m.parlamentar.nome_parlamentar, + 'partido': partido, + 'ativo': m.parlamentar.ativo} + parlamentares.append(dict_parlamentar) + return self.render_to_response( {'legislaturas': Legislatura.objects.all().order_by( '-data_inicio', '-data_fim'), 'legislatura_id': int(form.data['periodo']), - 'mandatos': Mandato.objects.all(), 'form': form, - 'filiacao': Filiacao.objects.all()}) + 'parlamentares': parlamentares}) class HorizontalRadioRenderer(forms.RadioSelect.renderer): diff --git a/templates/parlamentares/parlamentares_list.html b/templates/parlamentares/parlamentares_list.html index a82d751e5..e3340db18 100644 --- a/templates/parlamentares/parlamentares_list.html +++ b/templates/parlamentares/parlamentares_list.html @@ -26,20 +26,14 @@ Ativo? - {% for m in mandatos %} - {% if m.legislatura_id == legislatura_id %} - - {{m.parlamentar.nome_parlamentar}} - - {% for f in filiacao %} - {% if f.parlamentar.id == m.parlamentar.id %} - {{f.partido}} - {% endif %} - {% endfor %} - - {{m.parlamentar.ativo|yesno:"Sim,Não"}} - - {% endif %} + {% for p in parlamentares %} + + + {{p.nome}} + + {{p.partido}} + {{p.ativo|yesno:"Sim,Não"}} + {% endfor %}