Browse Source

corrigindo estatisticas de acesso de normas e documentos acessorios

pull/2895/head
ricardocanela 6 years ago
parent
commit
b2bcc95965
  1. 17
      sapl/base/forms.py
  2. 32
      sapl/base/views.py
  3. 3
      sapl/relatorios/views.py
  4. 76
      sapl/templates/relatorios/relatorio_documento_acessorio.html
  5. 2
      sapl/templates/relatorios/relatorio_normas_por_autor.html

17
sapl/base/forms.py

@ -760,12 +760,27 @@ class RelatorioDocumentosAcessoriosFilterSet(django_filters.FilterSet):
row1 = to_row([('data', 12)])
buttons = FormActions(
*[
HTML('''
<div class="form-check">
<input name="relatorio" type="checkbox" class="form-check-input" id="relatorio">
<label class="form-check-label" for="relatorio">Gerar relatório PDF</label>
</div>
''')
],
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(_('Pesquisa'),
row0, row1,
form_actions(label='Pesquisar'))
buttons)
)

32
sapl/base/views.py

@ -35,7 +35,7 @@ from sapl.relatorios.views import (relatorio_materia_em_tramitacao, relatorio_ma
relatorio_atas, relatorio_audiencia, relatorio_normas_mes,
relatorio_normas_vigencia, relatorio_historico_tramitacao_adm,
relatorio_reuniao, relatorio_estatisticas_acesso_normas,
relatorio_normas_por_autor)
relatorio_normas_por_autor, relatorio_documento_acessorio)
from sapl import settings
from sapl.audiencia.models import AudienciaPublica, TipoAudienciaPublica
@ -313,10 +313,24 @@ class RelatoriosListView(TemplateView):
return context
class RelatorioDocumentosAcessoriosView(FilterView):
class RelatorioMixin:
def get(self, request, *args, **kwargs):
super(RelatorioMixin, self).get(request)
is_relatorio = request.GET.get('relatorio', None)
context = self.get_context_data(filter=self.filterset)
if is_relatorio:
return self.relatorio(request, context)
else:
return self.render_to_response(context)
class RelatorioDocumentosAcessoriosView(RelatorioMixin, FilterView):
model = DocumentoAcessorio
filterset_class = RelatorioDocumentosAcessoriosFilterSet
template_name = 'base/RelatorioDocumentosAcessorios_filter.html'
relatorio = relatorio_documento_acessorio
def get_context_data(self, **kwargs):
context = super(
@ -355,18 +369,6 @@ class RelatorioDocumentosAcessoriosView(FilterView):
return context
class RelatorioMixin:
def get(self, request, *args, **kwargs):
super(RelatorioMixin, self).get(request)
is_relatorio = request.GET.get('relatorio', None)
context = self.get_context_data(filter=self.filterset)
if is_relatorio:
return self.relatorio(request, context)
else:
return self.render_to_response(context)
class RelatorioAtasView(RelatorioMixin, FilterView):
model = SessaoPlenaria
@ -1070,7 +1072,7 @@ class EstatisticasAcessoNormas(TemplateView):
self.request.GET.copy())
if is_relatorio:
return relatorio_estatisticas_acesso_normas(request, context)
return relatorio_estatisticas_acesso_normas(self, request, context)
else:
return self.render_to_response(context)

3
sapl/relatorios/views.py

@ -1408,6 +1408,9 @@ def relatorio_historico_tramitacao_adm(obj, request, context):
def relatorio_estatisticas_acesso_normas(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_estatisticas_acesso_normas.html')
def relatorio_documento_acessorio(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_documento_acessorio.html')
def relatorio_normas_por_autor(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_normas_por_autor.html')

76
sapl/templates/relatorios/relatorio_documento_acessorio.html

@ -0,0 +1,76 @@
{% load i18n %}
{% load common_tags %}
{% load static %}
<head>
<style>
@page{
margin-top: 4.5cm;
size: A4 portrait;
@bottom-right {
content: "Página" counter(page);
height: 3cm;
font-size: 8pt;
}
@bottom-center {
border-top: 1px solid black;
font-size: 8pt;
height: 1cm;
content: "{{rodape|safe}}";
font-style:italic;
}
@bottom-left {
content: "{{data}}";
height: 3cm;
font-size: 8pt;
}
@top-center {
content: string(title);
}
header {
width: 0;
height: 0;
visibility: hidden;
string-set: title content();
}
}
</style>
<link rel="stylesheet" href="{% static '/sapl/css/relatorio.css'%}">
</head>
<h2>Documento Acessorio</h2>
<b>PARÂMETROS DE PESQUISA<br /></b>
&emsp;Tipo de Documento: {{ tipo_documento }}<br />
&emsp;Tipo de Matéria do Documento: {{ tipo_materia }}<br />
&emsp;Período: {{ periodo }}<br /><br /><br />
{% if object_list %}
{% if object_list|length == 1 %}
<tr><td><h3 style="text-align: left;">Foi encontrado 1 documento com esses parâmetros.</h3></td></tr><br><br>
{% else %}
<tr><td><h3 style="text-align: left;">Foram encontrados {{ object_list|length }} documentos com esses parâmetros.</h3></td></tr><br><br>
{% endif %}
<table class="table table-bordered table-hover">
<thead class="thead-default">
<tr class="active">
<th>Documento Acessório</th>
<th>Matéria do Documento</th>
</tr>
</thead>
<tbody>
{% for documento in object_list %}
<tr>
<td>{{ documento }}</td>
<td>{{ documento.materia }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<tr><td><h3 style="text-align: left;">Nenhuma documento encontrado com esses parâmetros.</h3></td></tr><br><br>
{% endif %}
</body>

2
sapl/templates/relatorios/relatorio_normas_por_autor.html

@ -42,7 +42,7 @@
<link rel="stylesheet" href="{% static '/sapl/css/relatorio.css'%}">
</head>
<h2>Matérias por Autor</h2>
<h2>Norma por Autor</h2>
<b>PARÂMETROS DE PESQUISA:<br /></b>
&emsp;Autor: {{ autor }}<br />

Loading…
Cancel
Save