Browse Source

correcao do relatorio de estatisticas

pull/2433/head
Cesar Carvalho 7 years ago
parent
commit
a8818adbb7
  1. 35
      sapl/base/forms.py
  2. 22
      sapl/base/views.py
  3. 7
      sapl/templates/base/EstatisticasAcessoNormas_filter.html

35
sapl/base/forms.py

@ -728,43 +728,32 @@ class RelatorioNormasMesFilterSet(django_filters.FilterSet):
return parent.distinct().order_by('data')
class EstatisticasAcessoNormasFilterSet(django_filters.FilterSet):
ano = django_filters.ChoiceFilter(required=True,
label='Ano de acesso',
choices=RANGE_ANOS)
filter_overrides = {models.DateField: {
'filter_class': django_filters.DateFromToRangeFilter,
'extra': lambda f: {
'label': '%s (%s)' % (f.verbose_name, _('Ano')),
'widget': RangeWidgetOverride}
}}
class EstatisticasAcessoNormasForm(Form):
ano = forms.ChoiceField(required=True,
label='Ano de acesso',
choices=RANGE_ANOS)
class Meta:
model = NormaEstatisticas
fields = ['ano']
def __init__(self, *args, **kwargs):
super(EstatisticasAcessoNormasFilterSet, self).__init__(
super(EstatisticasAcessoNormasForm, self).__init__(
*args, **kwargs)
self.filters['ano'].label = 'Ano'
self.form.fields['ano'].required = True
row1 = to_row([('ano', 12)])
self.form.helper = FormHelper()
self.form.helper.form_method = 'GET'
self.form.helper.layout = Layout(
self.helper = FormHelper()
self.helper.form_method = 'GET'
self.helper.layout = Layout(
Fieldset(_('Normas por acessos nos meses do ano.'),
row1, form_actions(label='Pesquisar'))
)
@property
def qs(self):
parent = super(EstatisticasAcessoNormasFilterSet, self).qs
return parent.distinct().order_by('horario_acesso')
def clean(self):
super(EstatisticasAcessoNormasForm, self).clean()
return self.cleaned_data
class RelatorioNormasVigenciaFilterSet(django_filters.FilterSet):

22
sapl/base/views.py

@ -51,7 +51,7 @@ from .forms import (AlterarSenhaForm, CasaLegislativaForm,
RelatorioReuniaoFilterSet, UsuarioCreateForm,
UsuarioEditForm, RelatorioNormasMesFilterSet,
RelatorioNormasVigenciaFilterSet,
EstatisticasAcessoNormasFilterSet)
EstatisticasAcessoNormasForm)
from .models import AppConfig, CasaLegislativa
@ -860,24 +860,20 @@ class RelatorioNormasVigenciaView(FilterView):
return context
class EstatisticasAcessoNormas(FilterView):
model = NormaEstatisticas
filterset_class = EstatisticasAcessoNormasFilterSet
class EstatisticasAcessoNormas(TemplateView):
template_name = 'base/EstatisticasAcessoNormas_filter.html'
def get_context_data(self, **kwargs):
def get(self, request, *args, **kwargs):
context = super(EstatisticasAcessoNormas,
self).get_context_data(**kwargs)
context['title'] = _('Normas')
# Verifica se os campos foram preenchidos
if not self.filterset.form.is_valid():
return context
form = EstatisticasAcessoNormasForm(request.GET or None)
context['form'] = form
qr = self.request.GET.copy()
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
if not form.is_valid():
return self.render_to_response(context)
context['show_results'] = show_results_filter_set(qr)
context['ano'] = self.request.GET['ano']
query = '''
@ -906,11 +902,9 @@ class EstatisticasAcessoNormas(FilterView):
sorted_by_value = sorted(normas_mes[n], key=lambda kv: kv[1], reverse=True)
normas_mes[n] = sorted_by_value[0:5]
import ipdb; ipdb.set_trace()
context['normas_mes'] = normas_mes
return context
return self.render_to_response(context)
class ListarUsuarioView(PermissionRequiredMixin, ListView):

7
sapl/templates/base/EstatisticasAcessoNormas_filter.html

@ -3,10 +3,9 @@
{% load crispy_forms_tags %}
{% block base_content %}
{% if not show_results %}
{% crispy filter.form %}
{% endif %}
{% if show_results %}
{% if not ano %}
{% crispy form %}
{% else %}
<div class="actions btn-group pull-right" role="group">
<a href="{% url 'sapl.base:estatisticas_acesso' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a>
</div>

Loading…
Cancel
Save