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..cdf74e443 100644 --- a/sapl/templates/materia/prop_pendentes_list.html +++ b/sapl/templates/materia/prop_pendentes_list.html @@ -11,17 +11,35 @@
| Data de Envio | -Tipo | -Descrição | -Autor | + {% with 'Data Envio,Tipo,Descrição,Autor' as list %} + {% for name in list|split:"," %} ++ + {{ 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%} + + | + {% endfor %} {% if not AppConfig.receber_recibo_proposicao %}Código do Documento | {% endif %} + {% endwith %}
|---|---|---|---|---|---|
| {{ prop.data_envio|localtime|date:"d/m/Y H:i:s" }} @@ -44,5 +62,6 @@ |