From 698643126cb271fbb057cb0795f5145249ff59f3 Mon Sep 17 00:00:00 2001 From: Eduardo Edson Batista Cordeiro Alves Date: Mon, 5 Sep 2016 10:27:09 -0300 Subject: [PATCH] =?UTF-8?q?Mudan=C3=A7as=20no=20template=20e=20tentiva=20d?= =?UTF-8?q?e=20consulta=20de=20presen=C3=A7as?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/base/views.py | 44 ++++++++++++++++++- .../base/RelatorioPresencaSessao_filter.html | 20 +++++---- 2 files changed, 55 insertions(+), 9 deletions(-) diff --git a/sapl/base/views.py b/sapl/base/views.py index cdaf77e19..f066e5aa6 100644 --- a/sapl/base/views.py +++ b/sapl/base/views.py @@ -8,8 +8,10 @@ from django_filters.views import FilterView from sapl.crud.base import (Crud, CrudBaseMixin, CrudCreateView, CrudDetailView, CrudUpdateView) from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa +from sapl.parlamentares.models import Parlamentar +from sapl.sessao.models import (PresencaOrdemDia, SessaoPlenaria, + SessaoPlenariaPresenca) from sapl.utils import permissao_tb_aux -from sapl.sessao.models import SessaoPlenaria from .forms import (CasaLegislativaForm, RelatorioHistoricoTramitacaoFilterSet, RelatorioMateriasPorAnoAutorTipoFilterSet, @@ -32,6 +34,46 @@ class RelatorioPresencaSessaoView(FilterView): context = super(RelatorioPresencaSessaoView, self).get_context_data(**kwargs) context['title'] = _('Presença dos parlamentares nas sessões') + # =================================================================== + # FIXME: Pensar em melhor forma de verificar se formulário está sendo + # submetido. + if 'salvar' in self.request.GET: + if 'data_inicio_0' and 'data_inicio_1' in self.request.GET: + context['periodo'] = ( + self.request.GET['data_inicio_0'] + + ' - ' + self.request.GET['data_inicio_1']) + parlamentares = [] + total_sessao = 0 + total_ordem = 0 + for p in Parlamentar.objects.all(): + parlamentar = {} + qtde_sessao = 0 + qtde_ordem = 0 + + for s in context['object_list']: + if SessaoPlenariaPresenca.objects.filter( + sessao_plenaria_id=s.id, + parlamentar_id=p.id).exists(): + qtde_sessao += 1 + total_sessao += 1 + if PresencaOrdemDia.objects.filter( + sessao_plenaria_id=s.id, + parlamentar_id=p.id).exists(): + qtde_ordem += 1 + total_ordem += 1 + + if qtde_sessao > 1 or qtde_ordem > 1: + parlamentar = { + 'nome': p.nome_parlamentar, + 'partido': p.filiacao_set.first().partido.sigla, + 'qtde_sessao': qtde_sessao, + 'qtde_ordem': qtde_ordem + } + parlamentares.append(parlamentar) + context['total_ordem'] = total_ordem + context['total_sessao'] = total_sessao + context['parlamentares'] = parlamentares + # =================================================================== qr = self.request.GET.copy() context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' return context diff --git a/sapl/templates/base/RelatorioPresencaSessao_filter.html b/sapl/templates/base/RelatorioPresencaSessao_filter.html index 8d0321210..220fe9b01 100644 --- a/sapl/templates/base/RelatorioPresencaSessao_filter.html +++ b/sapl/templates/base/RelatorioPresencaSessao_filter.html @@ -18,10 +18,12 @@ {% trans 'Fazer nova pesquisa' %}



+ PERÍODO: {{periodo}}
+ TOTAIS NO PERÍODO - SESSÕES: {{total_sessao}} - ORDENS DO DIA: {{total_ordem}} - + @@ -33,13 +35,15 @@ - - - - - - - + {% for p in parlamentares %} + + + + + + + + {% endfor %}
Nome Parlamentar / PartidoNome Parlamentar | Partido Sessão Ordem do Dia
Nome Teste | Partido Teste1511%116%
{{p.nome}} | {{p.partido}}{{p.qtde_sessao}}--{{p.qtde_ordem}}--
{% endif %}