From 41f5a379d9f5b4c07037c209fbe861a6da1fd8db Mon Sep 17 00:00:00 2001 From: Talitha Date: Wed, 20 Jun 2018 09:53:08 -0300 Subject: [PATCH] =?UTF-8?q?Fix=20#1934=20ordena=C3=A7ao=20na=20tela=20de?= =?UTF-8?q?=20proposi=C3=A7oes=20pendentes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/base/templatetags/common_tags.py | 34 ++++++++++++++++++- .../materia/prop_pendentes_list.html | 34 +++++++++++++++---- 2 files changed, 60 insertions(+), 8 deletions(-) diff --git a/sapl/base/templatetags/common_tags.py b/sapl/base/templatetags/common_tags.py index 9e095f072..bf0d408dd 100644 --- a/sapl/base/templatetags/common_tags.py +++ b/sapl/base/templatetags/common_tags.py @@ -3,7 +3,7 @@ from django import template from django.template.defaultfilters import stringfilter from sapl.base.models import AppConfig -from sapl.materia.models import DocumentoAcessorio, MateriaLegislativa +from sapl.materia.models import DocumentoAcessorio, MateriaLegislativa, Proposicao from sapl.norma.models import NormaJuridica from sapl.parlamentares.models import Filiacao from sapl.utils import filiacao_data @@ -11,6 +11,11 @@ from sapl.utils import filiacao_data register = template.Library() +@register.simple_tag +def define(arg): + return arg + + @register.simple_tag def field_verbose_name(instance, field_name): return instance._meta.get_field(field_name).verbose_name @@ -34,6 +39,33 @@ def model_verbose_name_plural(class_name): return model._meta.verbose_name_plural +@register.filter +def split(value, arg): + return value.split(arg) + + +@register.filter +def sort_by_keys(value, key): + transformed = [] + key_descricao = '' + id_props = [x.id for x in value] + qs = Proposicao.objects.filter(pk__in=id_props) + + if key[0] == '-': + key_descricao = '-' + if key == '1' or key == '-1': + key_descricao += 'data_envio' + elif key == '2' or key == '-2': + key_descricao += 'tipo' + elif key == '3' or key == '-3': + key_descricao += 'descricao' + else: + key_descricao += 'autor' + + transformed = qs.order_by(key_descricao) + return transformed + + @register.filter def lookup(d, key): return d[key] if key in d else [] diff --git a/sapl/templates/materia/prop_pendentes_list.html b/sapl/templates/materia/prop_pendentes_list.html index 092d19a26..0d917cc49 100644 --- a/sapl/templates/materia/prop_pendentes_list.html +++ b/sapl/templates/materia/prop_pendentes_list.html @@ -4,31 +4,50 @@ {% load common_tags %} {% block base_content %}
+

Proposições Não Recebidas {% if not object_list %}

{{ NO_ENTRIES_MSG }}

{% else %} - +
- - - - + {% with 'Data Envio,Tipo,Descrição,Autor' as list %} + {% for name in list|split:"," %} + + {% endfor %} {% if not AppConfig.receber_recibo_proposicao %} {% endif %} + {% endwith %} - {% for prop in object_list %} + {% if 'o' in request.GET %} + {% define object_list|sort_by_keys:request.GET.o as list %} + {% else %} + {% define object_list as list %} + {% endif %} + + {% for prop in list %} - +
Data de EnvioTipoDescriçãoAutor + + {{ name }} + {% if 'o' in request.GET %} + {% if 'o' not in request.GET and forloop.counter == 1 or 'o' in request.GET and forloop.counter|safe == request.GET.o %} + + {% elif 'o' in request.GET and forloop.counter == request.GET.o|str2intabs %} + + {%endif%} + {%endif%} + + Código do Documento
{{ prop.data_envio|localtime|date:"d/m/Y H:i:s" }} {{ prop.tipo.descricao }} {{ prop.descricao }}{{prop.autor}}{{prop.autor.nome }} - {{prop.autor.cargo }} {% if not AppConfig.receber_recibo_proposicao %} {%if prop.hash_code %} @@ -44,5 +63,6 @@
{% endif %}
+ {% include 'paginacao.html'%} {% endblock %}