Browse Source

Adiciona parâmetros de pesquisa nas telas dos relatórios (#2190)

* [WIP - DON'T MERGE] adiciona dados das pesquisas nos relatórios

* Adiciona parâmetros de pesquisa nas telas dos relatórios
pull/2196/head
Victor Fabre 6 years ago
committed by Edward
parent
commit
887b9280dd
  1. 3
      sapl/base/forms.py
  2. 82
      sapl/base/views.py
  3. 1
      sapl/templates/base/RelatorioAtas_filter.html
  4. 5
      sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html
  5. 5
      sapl/templates/base/RelatorioHistoricoTramitacao_filter.html
  6. 37
      sapl/templates/base/RelatorioMateriasPorAnoAutorTipo_filter.html
  7. 5
      sapl/templates/base/RelatorioMateriasPorAutor_filter.html
  8. 6
      sapl/templates/base/RelatorioMateriasPorTramitacao_filter.html

3
sapl/base/forms.py

@ -814,7 +814,8 @@ class RelatorioMateriasPorAutorFilterSet(django_filters.FilterSet):
@property @property
def qs(self): def qs(self):
parent = super(RelatorioMateriasPorAutorFilterSet, self).qs parent = super(RelatorioMateriasPorAutorFilterSet, self).qs
return parent.distinct().filter(autoria__primeiro_autor=True).order_by('autoria__autor', '-autoria__primeiro_autor', 'tipo', '-ano', '-numero') return parent.distinct().filter(autoria__primeiro_autor=True)\
.order_by('autoria__autor', '-autoria__primeiro_autor', 'tipo', '-ano', '-numero')
class Meta: class Meta:
model = MateriaLegislativa model = MateriaLegislativa

82
sapl/base/views.py

@ -26,7 +26,7 @@ from sapl.base.forms import AutorForm, AutorFormForAdmin, TipoAutorForm
from sapl.base.models import Autor, TipoAutor from sapl.base.models import Autor, TipoAutor
from sapl.crud.base import CrudAux, make_pagination from sapl.crud.base import CrudAux, make_pagination
from sapl.materia.models import (Autoria, MateriaLegislativa, from sapl.materia.models import (Autoria, MateriaLegislativa,
TipoMateriaLegislativa) TipoMateriaLegislativa, StatusTramitacao, UnidadeTramitacao)
from sapl.sessao.models import (PresencaOrdemDia, SessaoPlenaria, from sapl.sessao.models import (PresencaOrdemDia, SessaoPlenaria,
SessaoPlenariaPresenca) SessaoPlenariaPresenca)
from sapl.utils import (parlamentares_ativos, sapl_logger, from sapl.utils import (parlamentares_ativos, sapl_logger,
@ -262,6 +262,9 @@ class RelatorioAtasView(FilterView):
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
context['show_results'] = show_results_filter_set(qr) context['show_results'] = show_results_filter_set(qr)
context['periodo'] = (
self.request.GET['data_inicio_0'] +
' - ' + self.request.GET['data_inicio_1'])
return context return context
@ -370,10 +373,29 @@ class RelatorioHistoricoTramitacaoView(FilterView):
context = super(RelatorioHistoricoTramitacaoView, context = super(RelatorioHistoricoTramitacaoView,
self).get_context_data(**kwargs) self).get_context_data(**kwargs)
context['title'] = _('Histórico de Tramitações') context['title'] = _('Histórico de Tramitações')
if not self.filterset.form.is_valid():
return context
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 ''
context['show_results'] = show_results_filter_set(qr) context['show_results'] = show_results_filter_set(qr)
context['data_tramitacao'] = (self.request.GET['tramitacao__data_tramitacao_0'] + ' - ' +
self.request.GET['tramitacao__data_tramitacao_1'])
if self.request.GET['tipo']:
tipo = self.request.GET['tipo']
context['tipo'] = (str(TipoMateriaLegislativa.objects.get(id=tipo)))
else:
context['tipo'] = ''
if self.request.GET['tramitacao__status']:
tramitacao_status = self.request.GET['tramitacao__status']
context['tramitacao__status'] = (str(StatusTramitacao.objects.get(id=tramitacao_status)))
else:
context['tramitacao__status'] = ''
if self.request.GET['tramitacao__unidade_tramitacao_local']:
context['tramitacao__unidade_tramitacao_local'] = \
(str(UnidadeTramitacao.objects.get(id=self.request.GET['tramitacao__unidade_tramitacao_local'])))
else:
context['tramitacao__unidade_tramitacao_destino'] = ''
return context return context
@ -387,11 +409,31 @@ class RelatorioDataFimPrazoTramitacaoView(FilterView):
context = super(RelatorioDataFimPrazoTramitacaoView, context = super(RelatorioDataFimPrazoTramitacaoView,
self).get_context_data(**kwargs) self).get_context_data(**kwargs)
context['title'] = _('Fim de Prazo de Tramitações') context['title'] = _('Fim de Prazo de Tramitações')
if not self.filterset.form.is_valid():
return context
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 ''
context['show_results'] = show_results_filter_set(qr) context['show_results'] = show_results_filter_set(qr)
context['data_tramitacao'] = (self.request.GET['tramitacao__data_fim_prazo_0'] + ' - ' +
self.request.GET['tramitacao__data_fim_prazo_1'])
if self.request.GET['tipo']:
tipo = self.request.GET['tipo']
context['tipo'] = (str(TipoMateriaLegislativa.objects.get(id=tipo)))
else:
context['tipo'] = ''
if self.request.GET['tramitacao__status']:
tramitacao_status = self.request.GET['tramitacao__status']
context['tramitacao__status'] = (str(StatusTramitacao.objects.get(id=tramitacao_status)))
else:
context['tramitacao__status'] = ''
if self.request.GET['tramitacao__unidade_tramitacao_local']:
context['tramitacao__unidade_tramitacao_local'] = \
(str(UnidadeTramitacao.objects.get(id=self.request.GET['tramitacao__unidade_tramitacao_local'])))
else:
context['tramitacao__unidade_tramitacao_destino'] = ''
return context return context
@ -405,6 +447,8 @@ class RelatorioMateriasTramitacaoView(FilterView):
self).get_context_data(**kwargs) self).get_context_data(**kwargs)
context['title'] = _('Matérias em Tramitação') context['title'] = _('Matérias em Tramitação')
if not self.filterset.form.is_valid():
return context
qr = self.request.GET.copy() qr = self.request.GET.copy()
qs = context['object_list'] qs = context['object_list']
@ -424,7 +468,22 @@ class RelatorioMateriasTramitacaoView(FilterView):
if qtde > 0: if qtde > 0:
qtdes[tipo] = qtde qtdes[tipo] = qtde
context['qtdes'] = qtdes context['qtdes'] = qtdes
context['ano'] = (self.request.GET['ano'])
if self.request.GET['tipo']:
tipo = self.request.GET['tipo']
context['tipo'] = (str(TipoMateriaLegislativa.objects.get(id=tipo)))
else:
context['tipo'] = ''
if self.request.GET['tramitacao__status']:
tramitacao_status = self.request.GET['tramitacao__status']
context['tramitacao__status'] = (str(StatusTramitacao.objects.get(id=tramitacao_status)))
else:
context['tramitacao__status'] = ''
if self.request.GET['tramitacao__unidade_tramitacao_destino']:
context['tramitacao__unidade_tramitacao_destino'] = (str(UnidadeTramitacao.objects.get(id=
self.request.GET['tramitacao__unidade_tramitacao_destino'])))
else:
context['tramitacao__unidade_tramitacao_destino'] = ''
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
context['show_results'] = show_results_filter_set(qr) context['show_results'] = show_results_filter_set(qr)
@ -489,7 +548,8 @@ class RelatorioMateriasPorAnoAutorTipoView(FilterView):
self).get_context_data(**kwargs) self).get_context_data(**kwargs)
context['title'] = _('Matérias por Ano, Autor e Tipo') context['title'] = _('Matérias por Ano, Autor e Tipo')
if not self.filterset.form.is_valid():
return context
qtdes = {} qtdes = {}
for tipo in TipoMateriaLegislativa.objects.all(): for tipo in TipoMateriaLegislativa.objects.all():
qs = kwargs['object_list'] qs = kwargs['object_list']
@ -502,6 +562,7 @@ class RelatorioMateriasPorAnoAutorTipoView(FilterView):
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
context['show_results'] = show_results_filter_set(qr) context['show_results'] = show_results_filter_set(qr)
context['ano'] = self.request.GET['ano']
if 'ano' in self.request.GET and self.request.GET['ano']: if 'ano' in self.request.GET and self.request.GET['ano']:
ano = int(self.request.GET['ano']) ano = int(self.request.GET['ano'])
@ -530,6 +591,8 @@ class RelatorioMateriasPorAutorView(FilterView):
self).get_context_data(**kwargs) self).get_context_data(**kwargs)
context['title'] = _('Matérias por Autor') context['title'] = _('Matérias por Autor')
if not self.filterset.form.is_valid():
return context
qtdes = {} qtdes = {}
for tipo in TipoMateriaLegislativa.objects.all(): for tipo in TipoMateriaLegislativa.objects.all():
@ -543,6 +606,19 @@ class RelatorioMateriasPorAutorView(FilterView):
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
context['show_results'] = show_results_filter_set(qr) context['show_results'] = show_results_filter_set(qr)
if self.request.GET['tipo']:
tipo = int(self.request.GET['tipo'])
context['tipo'] = (str(TipoMateriaLegislativa.objects.get(id=tipo)))
else:
context['tipo'] = ''
if self.request.GET['autoria__autor']:
autor = int(self.request.GET['autoria__autor'])
context['autor'] = (str(Autor.objects.get(id=autor)))
else:
context['autor'] = ''
context['periodo'] = (
self.request.GET['data_apresentacao_0'] +
' - ' + self.request.GET['data_apresentacao_1'])
return context return context

1
sapl/templates/base/RelatorioAtas_filter.html

@ -12,6 +12,7 @@
<a href="{% url 'sapl.base:atas' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a> <a href="{% url 'sapl.base:atas' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a>
</div> </div>
<br /><br /><br /> <br /><br /><br />
<b>PERÍODO: {{ periodo }}<br /></b><br /><br/>
{% if object_list|length > 0 %} {% if object_list|length > 0 %}
<table class="table table-striped table-hover"> <table class="table table-striped table-hover">
<thead> <thead>

5
sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html

@ -12,6 +12,11 @@
<a href="{% url 'sapl.base:data_fim_prazo_tramitacoes' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a> <a href="{% url 'sapl.base:data_fim_prazo_tramitacoes' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a>
</div> </div>
<br /><br /><br /><br /> <br /><br /><br /><br />
<b>PARÂMETROS DE PESQUISA:<br /></b>
&emsp;Período: {{ data_tramitacao }} <br />
&emsp;Tipo de matéria: {{ tipo }}<br />
&emsp;Status atual: {{ tramitacao__status }}<br />
&emsp;Local atual: {{ tramitacao__unidade_tramitacao_local }}<br /><br /><br />
<table class="table table-bordered table-hover"> <table class="table table-bordered table-hover">
<thead class="thead-default" > <thead class="thead-default" >
<tr class="active"> <tr class="active">

5
sapl/templates/base/RelatorioHistoricoTramitacao_filter.html

@ -12,6 +12,11 @@
<a href="{% url 'sapl.base:historico_tramitacoes' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a> <a href="{% url 'sapl.base:historico_tramitacoes' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a>
</div> </div>
<br /><br /><br /><br /> <br /><br /><br /><br />
<b>PARÂMETROS DE PESQUISA:<br /></b>
&emsp;Período: {{ data_tramitacao }} <br />
&emsp;Tipo de matéria: {{ tipo }}<br />
&emsp;Status atual: {{ tramitacao__status }}<br />
&emsp;Local atual: {{ tramitacao__unidade_tramitacao_local }}<br /><br /><br />
<table class="table table-bordered table-hover"> <table class="table table-bordered table-hover">
<thead class="thead-default" > <thead class="thead-default" >
<tr class="active"> <tr class="active">

37
sapl/templates/base/RelatorioMateriasPorAnoAutorTipo_filter.html

@ -12,6 +12,25 @@
<a href="{% url 'sapl.base:materia_por_ano_autor_tipo' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a> <a href="{% url 'sapl.base:materia_por_ano_autor_tipo' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a>
</div> </div>
<br /><br /><br /><br /> <br /><br /><br /><br />
<b>PARÂMETROS DE PESQUISA:<br /></b>
&emsp;Ano: {{ano}}<br /><br /><br/>
<table class="table table-bordered table-hover">
<thead class="thead-default" >
<tr class="active"><th colspan="2" class="text-center">QUADRO GERAL</th></tr>
<tr class="active">
<th>Tipo Matéria</th>
<th>Quantidade</th>
</tr>
</thead>
<tbody>
{% for key, value in qtdes.items %}
<tr>
<td>{{key.sigla}} - {{key}}</td>
<td>{{value}}</td>
</tr>
{% endfor %}
</tbody>
</table>
<h1>Autorias</h1> <h1>Autorias</h1>
<br/><br/> <br/><br/>
{% for r in relatorio %} {% for r in relatorio %}
@ -59,24 +78,6 @@
<br/> <br/>
<br/> <br/>
{% endfor %} {% endfor %}
<br/><br/>
<table class="table table-bordered table-hover">
<thead class="thead-default" >
<tr class="active"><th colspan="2" class="text-center">QUADRO GERAL</th></tr>
<tr class="active">
<th>Tipo Matéria</th>
<th>Quantidade</th>
</tr>
</thead>
<tbody>
{% for key, value in qtdes.items %}
<tr>
<td>{{key.sigla}} - {{key}}</td>
<td>{{value}}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %} {% endif %}
{% endblock base_content %} {% endblock base_content %}

5
sapl/templates/base/RelatorioMateriasPorAutor_filter.html

@ -12,7 +12,10 @@
<a href="{% url 'sapl.base:materia_por_autor' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a> <a href="{% url 'sapl.base:materia_por_autor' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a>
</div> </div>
<br /><br /><br /><br /> <br /><br /><br /><br />
<b>PARÂMETROS DE PESQUISA:<br /></b>
&emsp;Autor: {{ autor }}<br />
&emsp;Tipo de matéria: {{ tipo }}<br />
&emsp;Data de apresentação: {{periodo}}<br /><br /><br/>
<table class="table table-bordered table-hover"> <table class="table table-bordered table-hover">
<thead class="thead-default" > <thead class="thead-default" >
<tr class="active"><th colspan="3" class="text-center">QUADRO GERAL</th></tr> <tr class="active"><th colspan="3" class="text-center">QUADRO GERAL</th></tr>

6
sapl/templates/base/RelatorioMateriasPorTramitacao_filter.html

@ -12,7 +12,11 @@
<a href="{% url 'sapl.base:materia_por_tramitacao' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a> <a href="{% url 'sapl.base:materia_por_tramitacao' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a>
</div> </div>
<br /><br /><br /><br /> <br /><br /><br /><br />
<b>PARÂMETROS DE PESQUISA:<br /></b>
&emsp;Ano: {{ ano }} <br />
&emsp;Tipo de matéria: {{ tipo }}<br />
&emsp;Status atual: {{ tramitacao__status }}<br />
&emsp;Local atual: {{ tramitacao__unidade_tramitacao_destino }}<br /><br /><br />
<table class="table table-bordered table-hover"> <table class="table table-bordered table-hover">
<thead class="thead-default" > <thead class="thead-default" >
<tr class="active"><th colspan="2" class="text-center">QUADRO GERAL</th></tr> <tr class="active"><th colspan="2" class="text-center">QUADRO GERAL</th></tr>

Loading…
Cancel
Save