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}}