diff --git a/sapl/base/forms.py b/sapl/base/forms.py
index 008fff6bc..0f9e9323c 100644
--- a/sapl/base/forms.py
+++ b/sapl/base/forms.py
@@ -874,6 +874,7 @@ class RelatorioPresencaSessaoFilterSet(django_filters.FilterSet):
model = SessaoPlenaria
fields = ['data_inicio',
'sessao_legislativa',
+ 'tipo',
'legislatura']
def __init__(self, *args, **kwargs):
@@ -883,8 +884,9 @@ class RelatorioPresencaSessaoFilterSet(django_filters.FilterSet):
self.filters['data_inicio'].label = 'Período (Inicial - Final)'
row1 = to_row([('data_inicio', 12)])
- row2 = to_row([('legislatura', 6),
- ('sessao_legislativa', 6)])
+ row2 = to_row([('legislatura', 4),
+ ('sessao_legislativa', 4),
+ ('tipo', 4)])
self.form.helper = SaplFormHelper()
self.form.helper.form_method = 'GET'
diff --git a/sapl/base/views.py b/sapl/base/views.py
index 8c51df56a..085a6a7c0 100644
--- a/sapl/base/views.py
+++ b/sapl/base/views.py
@@ -43,7 +43,7 @@ from sapl.protocoloadm.models import (Protocolo, TipoDocumentoAdministrativo,
StatusTramitacaoAdministrativo,
DocumentoAdministrativo, Anexado)
from sapl.sessao.models import (PresencaOrdemDia, SessaoPlenaria,
- SessaoPlenariaPresenca, Bancada)
+ SessaoPlenariaPresenca, Bancada, TipoSessaoPlenaria)
from sapl.utils import (parlamentares_ativos, gerar_hash_arquivo, SEPARADOR_HASH_PROPOSICAO,
show_results_filter_set, mail_service_configured,
intervalos_tem_intersecao, remover_acentos)
@@ -346,19 +346,17 @@ class RelatorioPresencaSessaoView(FilterView):
cd = self.filterset.form.cleaned_data
if not cd['data_inicio'] and not cd['sessao_legislativa'] \
and not cd['legislatura']:
- msg = _("Formulário inválido! Preencha pelo menos algum dos campos.")
+ msg = _("Formulário inválido! Preencha pelo menos algum dos campos Período, Legislatura ou Sessão Legislativa.")
messages.error(self.request, msg)
return context
# Caso a data tenha sido preenchida, verifica se foi preenchida corretamente
- if ('data_inicio_0' in self.request.GET) and self.request.GET['data_inicio_0'] and \
- not(('data_inicio_1' in self.request.GET) and self.request.GET['data_inicio_1']):
+ if self.request.GET.get('data_inicio_0') and not self.request.GET.get('data_inicio_1'):
msg = _("Formulário inválido! Preencha a data do Período Final.")
messages.error(self.request, msg)
return context
- if not(('data_inicio_0' in self.request.GET) and self.request.GET['data_inicio_0']) and \
- ('data_inicio_1' in self.request.GET) and self.request.GET['data_inicio_1']:
+ if not self.request.GET.get('data_inicio_0') and self.request.GET.get('data_inicio_1'):
msg = _("Formulário inválido! Preencha a data do Período Inicial.")
messages.error(self.request, msg)
return context
@@ -377,6 +375,12 @@ class RelatorioPresencaSessaoView(FilterView):
sessao_legislativa = SessaoLegislativa.objects.get(id=sessao_legislativa_pk)
context['sessao_legislativa'] = sessao_legislativa
+ tipo_sessao_plenaria_pk = self.request.GET.get('tipo')
+ context['tipo'] = ''
+ if tipo_sessao_plenaria_pk:
+ param0['sessao_plenaria__tipo_id'] = tipo_sessao_plenaria_pk
+ context['tipo'] = TipoSessaoPlenaria.objects.get(id=tipo_sessao_plenaria_pk)
+
_range = []
if ('data_inicio_0' in self.request.GET) and self.request.GET['data_inicio_0'] and \
@@ -390,7 +394,7 @@ class RelatorioPresencaSessaoView(FilterView):
elif sessao_legislativa_pk:
_range = [sessao_legislativa.data_inicio, sessao_legislativa.data_fim]
- param0 = {'sessao_plenaria__data_inicio__range': _range}
+ param0.update({'sessao_plenaria__data_inicio__range': _range})
# Parlamentares com Mandato no intervalo de tempo (Ativos)
@@ -474,6 +478,7 @@ class RelatorioPresencaSessaoView(FilterView):
' - ' + self.request.GET['data_inicio_1'])
context['sessao_legislativa'] = ''
context['legislatura'] = ''
+
if sessao_legislativa_pk:
context['sessao_legislativa'] = SessaoLegislativa.objects.get(id=sessao_legislativa_pk)
if legislatura_pk:
diff --git a/sapl/templates/base/RelatorioPresencaSessao_filter.html b/sapl/templates/base/RelatorioPresencaSessao_filter.html
index f4d9b71a0..b738dd759 100644
--- a/sapl/templates/base/RelatorioPresencaSessao_filter.html
+++ b/sapl/templates/base/RelatorioPresencaSessao_filter.html
@@ -22,6 +22,7 @@
PERÍODO: {{periodo}}
Legislatura: {{legislatura}}
Sessão Legislativa: {{sessao_legislativa}}
+ Tipo Sessão Plenária: {{tipo}}
TOTAIS NO PERÍODO - SESSÕES: {{total_sessao}} - ORDENS DO DIA: {{total_ordemdia}}