diff --git a/sapl/base/forms.py b/sapl/base/forms.py
index 7c6ed0e6d..8e5a345c0 100644
--- a/sapl/base/forms.py
+++ b/sapl/base/forms.py
@@ -1129,6 +1129,8 @@ class RelatorioDataFimPrazoTramitacaoFilterSet(django_filters.FilterSet):
class RelatorioReuniaoFilterSet(django_filters.FilterSet):
+ o = AnoNumeroOrderingFilter(help_text='')
+
@property
def qs(self):
parent = super(RelatorioReuniaoFilterSet, self).qs
@@ -1149,12 +1151,27 @@ class RelatorioReuniaoFilterSet(django_filters.FilterSet):
('nome', 4),
('tema', 4)])
+ buttons = FormActions(
+ *[
+ HTML('''
+
+
+
+
+ ''')
+ ],
+ Submit('pesquisar', _('Pesquisar'), css_class='float-right',
+ onclick='return true;'),
+ css_class='form-group row justify-content-between'
+ ,
+ )
+
self.form.helper = SaplFormHelper()
self.form.helper.form_method = 'GET'
self.form.helper.layout = Layout(
Fieldset(_('Reunião de Comissão'),
row1, row2,
- form_actions(label='Pesquisar'))
+ buttons, )
)
diff --git a/sapl/base/views.py b/sapl/base/views.py
index ec9cb7815..dbde3a2b1 100644
--- a/sapl/base/views.py
+++ b/sapl/base/views.py
@@ -33,7 +33,8 @@ from sapl.relatorios.views import (relatorio_materia_em_tramitacao, relatorio_ma
relatorio_materia_por_ano_autor, relatorio_presenca_sessao,
relatorio_historico_tramitacao, relatorio_fim_prazo_tramitacao,
relatorio_atas, relatorio_audiencia, relatorio_normas_mes,
- relatorio_normas_vigencia, relatorio_historico_tramitacao_adm)
+ relatorio_normas_vigencia, relatorio_historico_tramitacao_adm,
+ relatorio_reuniao)
from sapl import settings
from sapl.audiencia.models import AudienciaPublica, TipoAudienciaPublica
@@ -813,6 +814,40 @@ class RelatorioReuniaoView(FilterView):
return context
+ def get(self, request, *args, **kwargs):
+ super(RelatorioReuniaoView, self).get(request)
+ # Se a pesquisa estiver quebrando com a paginação
+ # Olhe esta função abaixo
+ # Provavelmente você criou um novo campo no Form/FilterSet
+ # Então a ordem da URL está diferente
+ data = self.filterset.data
+ if data and data.get('tipo') is not None:
+ url = "&" + str(self.request.environ['QUERY_STRING'])
+ if url.startswith("&page"):
+ ponto_comeco = url.find('tipo=') - 1
+ url = url[ponto_comeco:]
+ else:
+ url = ''
+ self.filterset.form.fields['o'].label = _('Ordenação')
+ # é usada essa verificação anônima para quando os documentos administrativos
+ # estão no modo ostensivo, mas podem existir documentos administrativos
+ # restritos
+ length = self.object_list.count()
+
+ is_relatorio = request.GET.get('relatorio', None)
+ self.paginate_by = None if is_relatorio else self.paginate_by
+ context = self.get_context_data(filter=self.filterset,
+ filter_url=url,
+ numero_res=length
+ )
+ context['show_results'] = show_results_filter_set(
+ self.request.GET.copy())
+
+ if is_relatorio:
+ return relatorio_reuniao(request, context)
+ else:
+ return self.render_to_response(context)
+
class RelatorioAudienciaView(FilterView):
model = AudienciaPublica
filterset_class = RelatorioAudienciaFilterSet
diff --git a/sapl/relatorios/views.py b/sapl/relatorios/views.py
index 6406af3ea..ffd07d3d1 100755
--- a/sapl/relatorios/views.py
+++ b/sapl/relatorios/views.py
@@ -1526,7 +1526,9 @@ def relatorio_fim_prazo_tramitacao(request, context):
return response
-def relatorio_audiencia(request, context):
+
+
+def relatorio_reuniao(request, context):
base_url = request.build_absolute_uri()
casa = CasaLegislativa.objects.first()
rodape = ' '.join(get_rodape(casa))
@@ -1536,7 +1538,7 @@ def relatorio_audiencia(request, context):
header_context = {"casa": casa, 'logotipo': casa.logotipo, 'MEDIA_URL': MEDIA_URL}
- html_template = render_to_string('relatorios/relatorio_audiencia.html', context)
+ html_template = render_to_string('relatorios/relatorio_reuniao.html', context)
html_header = render_to_string('relatorios/header_ata.html', header_context)
pdf_file = make_pdf(base_url=base_url, main_template=html_template, header_template=html_header)
@@ -1549,7 +1551,8 @@ def relatorio_audiencia(request, context):
return response
-def relatorio_normas_mes(request, context):
+
+def relatorio_audiencia(request, context):
base_url = request.build_absolute_uri()
casa = CasaLegislativa.objects.first()
rodape = ' '.join(get_rodape(casa))
@@ -1559,7 +1562,7 @@ def relatorio_normas_mes(request, context):
header_context = {"casa": casa, 'logotipo': casa.logotipo, 'MEDIA_URL': MEDIA_URL}
- html_template = render_to_string('relatorios/relatorio_normas_mes.html', context)
+ html_template = render_to_string('relatorios/relatorio_audiencia.html', context)
html_header = render_to_string('relatorios/header_ata.html', header_context)
pdf_file = make_pdf(base_url=base_url, main_template=html_template, header_template=html_header)
@@ -1571,6 +1574,7 @@ def relatorio_normas_mes(request, context):
return response
+
def relatorio_normas_mes(request, context):
base_url = request.build_absolute_uri()
casa = CasaLegislativa.objects.first()
@@ -1594,7 +1598,6 @@ def relatorio_normas_mes(request, context):
return response
-
def relatorio_normas_vigencia(request, context):
base_url = request.build_absolute_uri()
casa = CasaLegislativa.objects.first()
diff --git a/sapl/templates/relatorios/relatorio_reuniao.html b/sapl/templates/relatorios/relatorio_reuniao.html
new file mode 100644
index 000000000..ac84a5cdb
--- /dev/null
+++ b/sapl/templates/relatorios/relatorio_reuniao.html
@@ -0,0 +1,70 @@
+{% load i18n %}
+{% load common_tags %}
+{% load static %}
+
+
+
+
+
+
+
+
+ Reunião de Comissão
+
+ {% if object_list|length > 0 %}
+
+
+
+ | Comissao |
+ Nome |
+
+
+
+ {% for reuniao in object_list %}
+
+ |
+ {{reuniao.comissao}}
+ |
+ {{reuniao.nome}} |
+
+ {% endfor %}
+
+
+ {% else %}
+ Nenhum reunião foi encontrada!
+ {% endif %}
+
\ No newline at end of file