Browse Source

Fix #2840 - Adiciona campo em relatório de presença de parlamentares

pull/2842/head
Cesar Carvalho 7 years ago
parent
commit
2f8ac9fa24
  1. 8
      sapl/base/forms.py
  2. 24
      sapl/base/views.py
  3. 2
      sapl/templates/base/RelatorioPresencaSessao_filter.html

8
sapl/base/forms.py

@ -867,7 +867,9 @@ class RelatorioPresencaSessaoFilterSet(django_filters.FilterSet):
class Meta(FilterOverridesMetaMixin):
model = SessaoPlenaria
fields = ['data_inicio']
fields = ['data_inicio',
'sessao_legislativa',
'legislatura']
def __init__(self, *args, **kwargs):
super(RelatorioPresencaSessaoFilterSet, self).__init__(
@ -877,12 +879,14 @@ class RelatorioPresencaSessaoFilterSet(django_filters.FilterSet):
self.form.fields['data_inicio'].required = True
row1 = to_row([('data_inicio', 12)])
row2 = to_row([('sessao_legislativa', 6),
('legislatura', 6)])
self.form.helper = SaplFormHelper()
self.form.helper.form_method = 'GET'
self.form.helper.layout = Layout(
Fieldset(_('Presença dos parlamentares nas sessões plenárias'),
row1, form_actions(label='Pesquisar'))
row1, row2, form_actions(label='Pesquisar'))
)
@property

24
sapl/base/views.py

@ -38,7 +38,7 @@ from sapl.crud.base import CrudAux, make_pagination
from sapl.materia.models import (Autoria, MateriaLegislativa, Proposicao,
TipoMateriaLegislativa, StatusTramitacao, UnidadeTramitacao)
from sapl.norma.models import (NormaJuridica, NormaEstatisticas)
from sapl.parlamentares.models import Parlamentar, Legislatura, Mandato, Filiacao
from sapl.parlamentares.models import Parlamentar, Legislatura, Mandato, Filiacao, SessaoLegislativa
from sapl.protocoloadm.models import (Protocolo, TipoDocumentoAdministrativo,
StatusTramitacaoAdministrativo,
DocumentoAdministrativo)
@ -356,17 +356,21 @@ class RelatorioPresencaSessaoView(FilterView):
parlamentares_id = parlamentares_qs.values_list(
'id', flat=True)
sessao_legislativa_pk = self.request.GET.get('sessao_legislativa')
if sessao_legislativa_pk:
param0['sessao_plenaria__sessao_legislativa_id'] = sessao_legislativa_pk
legislatura_pk = self.request.GET.get('legislatura')
if legislatura_pk:
param0['sessao_plenaria__legislatura_id'] = legislatura_pk
# Presenças de cada Parlamentar em Sessões
presenca_sessao = SessaoPlenariaPresenca.objects.filter(
parlamentar_id__in=parlamentares_id,
sessao_plenaria__data_inicio__range=_range).values_list(
presenca_sessao = SessaoPlenariaPresenca.objects.filter(**param0).values_list(
'parlamentar_id').annotate(
sessao_count=Count('id'))
# Presenças de cada Ordem do Dia
presenca_ordem = PresencaOrdemDia.objects.filter(
parlamentar_id__in=parlamentares_id,
sessao_plenaria__data_inicio__range=_range).values_list(
presenca_ordem = PresencaOrdemDia.objects.filter(**param0).values_list(
'parlamentar_id').annotate(
sessao_count=Count('id'))
@ -433,6 +437,12 @@ class RelatorioPresencaSessaoView(FilterView):
context['periodo'] = (
self.request.GET['data_inicio_0'] +
' - ' + self.request.GET['data_inicio_1'])
context['sessao_legislativa'] = ''
context['legislatura'] = ''
if sessao_legislativa_pk:
context['sessao_legislativa'] = SessaoLegislativa.objects.get(id=legislatura_pk)
if legislatura_pk:
context['legislatura'] = Legislatura.objects.get(id=legislatura_pk)
# =====================================================================
qr = self.request.GET.copy()
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''

2
sapl/templates/base/RelatorioPresencaSessao_filter.html

@ -20,6 +20,8 @@
</div>
<br /><br /><br /><br />
<b>PERÍODO: {{periodo}}</b><br />
<b>Sessão Legislativa: {{sessao_legislativa}}</b><br />
<b>Legislatura: {{legislatura}}</b><br />
<b>TOTAIS NO PERÍODO - SESSÕES: {{total_sessao}} - ORDENS DO DIA: {{total_ordemdia}}</b>
<table class="table table-bordered table-hover presenca_table">
<thead class="thead-default" align="center">

Loading…
Cancel
Save