Browse Source

Refactor parlamentar list

pull/98/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
4e1f9b8e3e
  1. 47
      parlamentares/views.py
  2. 18
      templates/parlamentares/parlamentares_list.html

47
parlamentares/views.py

@ -158,24 +158,63 @@ class ParlamentaresView(GenericView):
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
form = ParlamentaresListForm() form = ParlamentaresListForm()
legislaturas = Legislatura.objects.all().order_by( legislaturas = Legislatura.objects.all().order_by(
'-data_inicio', '-data_fim') '-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( return self.render_to_response(
{'legislaturas': legislaturas, {'legislaturas': legislaturas,
'legislatura_id': legislaturas.first().id, 'legislatura_id': legislaturas.first().id,
'mandatos': Mandato.objects.all(),
'form': form, 'form': form,
'filiacao': Filiacao.objects.all()}) 'parlamentares': parlamentares})
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
form = ParlamentaresListForm(request.POST) 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( return self.render_to_response(
{'legislaturas': Legislatura.objects.all().order_by( {'legislaturas': Legislatura.objects.all().order_by(
'-data_inicio', '-data_fim'), '-data_inicio', '-data_fim'),
'legislatura_id': int(form.data['periodo']), 'legislatura_id': int(form.data['periodo']),
'mandatos': Mandato.objects.all(),
'form': form, 'form': form,
'filiacao': Filiacao.objects.all()}) 'parlamentares': parlamentares})
class HorizontalRadioRenderer(forms.RadioSelect.renderer): class HorizontalRadioRenderer(forms.RadioSelect.renderer):

18
templates/parlamentares/parlamentares_list.html

@ -26,20 +26,14 @@
<th>Ativo?</th> <th>Ativo?</th>
</tr> </tr>
{% for m in mandatos %} {% for p in parlamentares %}
{% if m.legislatura_id == legislatura_id %}
<tr> <tr>
<td><a href="{% url 'parlamentares_editar' legislatura_id m.parlamentar.id %}">{{m.parlamentar.nome_parlamentar}}</a></td> <td><a href="{% url 'parlamentares_editar' legislatura_id p.id %}">
<td> {{p.nome}}
{% for f in filiacao %} </a></td>
{% if f.parlamentar.id == m.parlamentar.id %} <td>{{p.partido}}</td>
{{f.partido}} <td>{{p.ativo|yesno:"Sim,Não"}}</td>
{% endif %}
{% endfor %}
</td>
<td>{{m.parlamentar.ativo|yesno:"Sim,Não"}}</td>
</tr> </tr>
{% endif %}
{% endfor %} {% endfor %}
</table> </table>
</fieldset> </fieldset>

Loading…
Cancel
Save