Browse Source

Adiciona filiações partidárias dos parlamentares no intervalo solicitado

pull/1398/head
Eduardo Calil 8 years ago
parent
commit
d48172cd9e
  1. 9
      sapl/base/templatetags/common_tags.py
  2. 1
      sapl/base/views.py
  3. 3
      sapl/templates/base/RelatorioPresencaSessao_filter.html
  4. 2
      sapl/templates/sessao/blocos_resumo/lista_presenca.html
  5. 2
      sapl/templates/sessao/blocos_resumo/lista_presenca_ordem_dia.html
  6. 26
      sapl/utils.py

9
sapl/base/templatetags/common_tags.py

@ -182,5 +182,10 @@ def urldetail(obj):
obj._meta.app_config.name, obj._meta.model_name)
@register.filter
def filiacao_epoca_filter(parlamentar, sessao):
return filiacao_data(parlamentar, sessao.data_inicio)
def filiacao_data_filter(parlamentar, data_inicio):
return filiacao_data(parlamentar, data_inicio)
@register.filter
def filiacao_intervalo_filter(parlamentar, date_range):
return filiacao_data(parlamentar, date_range[0], date_range[1])

1
sapl/base/views.py

@ -283,6 +283,7 @@ class RelatorioPresencaSessaoView(FilterView):
{'ordemdia_porc': round(
ordemdia_count * 100 / total_ordemdia, 1)})
context['date_range'] = _range
context['total_ordemdia'] = total_ordemdia
context['total_sessao'] = context['object_list'].count()
context['parlamentares'] = parlamentares_presencas

3
sapl/templates/base/RelatorioPresencaSessao_filter.html

@ -1,6 +1,7 @@
{% extends "crud/list.html" %}
{% load i18n %}
{% load crispy_forms_tags %}
{% load common_tags %}
{% block base_content %}
{% if not filter_url %}
@ -37,7 +38,7 @@
<tbody>
{% for p in parlamentares %}
<tr>
<td><b>{{p.parlamentar}}</b> / {{p.filiacao_atual|default:"Sem Partido"}}</td>
<td><b>{{p.parlamentar}}</b> / {{p.parlamentar|filiacao_intervalo_filter:date_range|default:"Sem Partido"}}</td>
<td>{{p.sessao_count}}</td>
<td>{{p.sessao_porc}}</td>
<td>{{p.ordemdia_count}}</td>

2
sapl/templates/sessao/blocos_resumo/lista_presenca.html

@ -4,7 +4,7 @@
<legend>Lista de Presença na Sessão</legend>
<div class="row">
{% for p in presenca_sessao %}
<div class="col-md-12">{{p.nome_parlamentar}} / {{ p|filiacao_epoca_filter:object }}</div>
<div class="col-md-12">{{p.nome_parlamentar}} / {{ p|filiacao_data_filter:object.data_inicio }}</div>
{% endfor %}
</div>
</fieldset>

2
sapl/templates/sessao/blocos_resumo/lista_presenca_ordem_dia.html

@ -4,7 +4,7 @@
<legend>Lista de Presença na Ordem do Dia</legend>
<div class="row">
{% for p in presenca_ordem %}
<div class="col-md-12">{{p.nome_parlamentar}} / {{ p|filiacao_epoca_filter:object }}</div>
<div class="col-md-12">{{p.nome_parlamentar}} / {{ p|filiacao_data_filter:object.data_inicio }}</div>
{% endfor %}
</div>
</fieldset>

26
sapl/utils.py

@ -598,22 +598,32 @@ def qs_override_django_filter(self):
return self._qs
def filiacao_data(parlamentar, data):
def filiacao_data(parlamentar, data_inicio, data_fim=None):
from sapl.parlamentares.models import Filiacao
filiacoes_parlamentar = Filiacao.objects.filter(
parlamentar=parlamentar)
filiacoes = filiacoes_parlamentar.filter(Q(
data__lte=data,
data__lte=data_inicio,
data_desfiliacao__isnull=True) | Q(
data__lte=data,
data_desfiliacao__gte=data))
data__lte=data_inicio,
data_desfiliacao__gte=data_inicio))
if filiacoes:
return filiacoes.last().partido.sigla
else:
return ''
if data_fim:
filiacoes = filiacoes | filiacoes_parlamentar.filter(
data__gte=data_inicio,
data__lte=data_fim)
siglas = ''
for f in filiacoes:
if not siglas:
siglas = f.partido.sigla
else:
siglas = siglas + ' | ' + f.partido.sigla
return siglas
def parlamentares_ativos(data_inicio, data_fim=None):

Loading…
Cancel
Save