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): class Meta(FilterOverridesMetaMixin):
model = SessaoPlenaria model = SessaoPlenaria
fields = ['data_inicio'] fields = ['data_inicio',
'sessao_legislativa',
'legislatura']
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(RelatorioPresencaSessaoFilterSet, self).__init__( super(RelatorioPresencaSessaoFilterSet, self).__init__(
@ -877,12 +879,14 @@ class RelatorioPresencaSessaoFilterSet(django_filters.FilterSet):
self.form.fields['data_inicio'].required = True self.form.fields['data_inicio'].required = True
row1 = to_row([('data_inicio', 12)]) row1 = to_row([('data_inicio', 12)])
row2 = to_row([('sessao_legislativa', 6),
('legislatura', 6)])
self.form.helper = SaplFormHelper() self.form.helper = SaplFormHelper()
self.form.helper.form_method = 'GET' self.form.helper.form_method = 'GET'
self.form.helper.layout = Layout( self.form.helper.layout = Layout(
Fieldset(_('Presença dos parlamentares nas sessões plenárias'), Fieldset(_('Presença dos parlamentares nas sessões plenárias'),
row1, form_actions(label='Pesquisar')) row1, row2, form_actions(label='Pesquisar'))
) )
@property @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, from sapl.materia.models import (Autoria, MateriaLegislativa, Proposicao,
TipoMateriaLegislativa, StatusTramitacao, UnidadeTramitacao) TipoMateriaLegislativa, StatusTramitacao, UnidadeTramitacao)
from sapl.norma.models import (NormaJuridica, NormaEstatisticas) 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, from sapl.protocoloadm.models import (Protocolo, TipoDocumentoAdministrativo,
StatusTramitacaoAdministrativo, StatusTramitacaoAdministrativo,
DocumentoAdministrativo) DocumentoAdministrativo)
@ -356,17 +356,21 @@ class RelatorioPresencaSessaoView(FilterView):
parlamentares_id = parlamentares_qs.values_list( parlamentares_id = parlamentares_qs.values_list(
'id', flat=True) '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 # Presenças de cada Parlamentar em Sessões
presenca_sessao = SessaoPlenariaPresenca.objects.filter( presenca_sessao = SessaoPlenariaPresenca.objects.filter(**param0).values_list(
parlamentar_id__in=parlamentares_id,
sessao_plenaria__data_inicio__range=_range).values_list(
'parlamentar_id').annotate( 'parlamentar_id').annotate(
sessao_count=Count('id')) sessao_count=Count('id'))
# Presenças de cada Ordem do Dia # Presenças de cada Ordem do Dia
presenca_ordem = PresencaOrdemDia.objects.filter( presenca_ordem = PresencaOrdemDia.objects.filter(**param0).values_list(
parlamentar_id__in=parlamentares_id,
sessao_plenaria__data_inicio__range=_range).values_list(
'parlamentar_id').annotate( 'parlamentar_id').annotate(
sessao_count=Count('id')) sessao_count=Count('id'))
@ -433,6 +437,12 @@ class RelatorioPresencaSessaoView(FilterView):
context['periodo'] = ( context['periodo'] = (
self.request.GET['data_inicio_0'] + self.request.GET['data_inicio_0'] +
' - ' + self.request.GET['data_inicio_1']) ' - ' + 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() qr = self.request.GET.copy()
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''

2
sapl/templates/base/RelatorioPresencaSessao_filter.html

@ -20,6 +20,8 @@
</div> </div>
<br /><br /><br /><br /> <br /><br /><br /><br />
<b>PERÍODO: {{periodo}}</b><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> <b>TOTAIS NO PERÍODO - SESSÕES: {{total_sessao}} - ORDENS DO DIA: {{total_ordemdia}}</b>
<table class="table table-bordered table-hover presenca_table"> <table class="table table-bordered table-hover presenca_table">
<thead class="thead-default" align="center"> <thead class="thead-default" align="center">

Loading…
Cancel
Save