diff --git a/sapl/base/forms.py b/sapl/base/forms.py index b68fcb59b..aa6bab73f 100644 --- a/sapl/base/forms.py +++ b/sapl/base/forms.py @@ -1382,8 +1382,7 @@ class RelatorioMateriasPorAutorFilterSet(django_filters.FilterSet): @property def qs(self): parent = super().qs - return parent.distinct().filter(autoria__primeiro_autor=True)\ - .order_by('autoria__autor', '-autoria__primeiro_autor', 'tipo', '-ano', '-numero') + return parent.distinct().order_by('-ano', '-numero', 'tipo', 'autoria__autor', '-autoria__primeiro_autor') class Meta(FilterOverridesMetaMixin): model = MateriaLegislativa diff --git a/sapl/base/views.py b/sapl/base/views.py index a02011b12..2b0d1a680 100644 --- a/sapl/base/views.py +++ b/sapl/base/views.py @@ -4,6 +4,7 @@ import datetime import logging import os +from collections import OrderedDict from django.contrib import messages from django.contrib.auth import get_user_model from django.contrib.auth.mixins import PermissionRequiredMixin @@ -926,6 +927,7 @@ class RelatorioMateriasPorAutorView(RelatorioMixin, FilterView): return context qs = context['object_list'] + context['materias_resultado'] = list(OrderedDict.fromkeys(qs)) context['qtdes'] = num_materias_por_tipo(qs) qr = self.request.GET.copy() diff --git a/sapl/templates/base/RelatorioMateriasPorAutor_filter.html b/sapl/templates/base/RelatorioMateriasPorAutor_filter.html index e3591191b..2690b5d4e 100644 --- a/sapl/templates/base/RelatorioMateriasPorAutor_filter.html +++ b/sapl/templates/base/RelatorioMateriasPorAutor_filter.html @@ -15,11 +15,14 @@ PARÂMETROS DE PESQUISA:
 Autor: {{ autor }}
 Tipo de matéria: {{ tipo }}
-  Data de apresentação: {{periodo}}


- {% if object_list %} +  Data de apresentação: {{ periodo }}


+ + {% if materias_resultado %} - + + + @@ -33,44 +36,41 @@ {% endfor %} - - {% for materia in object_list %} - {% ifchanged materia.autoria_set.first.autor %} - - - - - - - - - - - {% endifchanged %} - - - - - - - - + + + + + + + + + + + {% for materia in materias_resultado %} + + + + + + + {% endfor %}
QUADRO GERAL
QUADRO GERAL
Tipo Matéria Quantidade
Autor: {{ materia.autoria_set.first.autor }}
MatériaEmentaCoautor(es)
- {{materia.tipo.sigla}} {{materia.numero}}/{{materia.ano}} - {% autoescape off %}{{materia.ementa}}
{{materia.observacao}}{% endautoescape %}
- {% if materia.autoria_set.first != materia.autoria_set.last %} - {% for autor in materia.autoria_set.all %} - {% if not autor.primeiro_autor %} - {{ autor.autor }}
- {% endif %} - {% endfor %} - {% endif %} -
MatériaEmentaAutor(es)
+ + {{materia.tipo.sigla}} {{materia.numero}}/{{materia.ano}} + + {% autoescape off %}{{materia.ementa}}
{{materia.observacao}}{% endautoescape %}
+ {% for autor in materia.autoria_set.all %} + {% if not autor.primeiro_autor %} + {{ autor.autor }}
+ {% else %} + {{ autor.autor }}
+ {% endif %} + {% endfor %} +
+
{% else %}

Não foram encontradas matérias com os parâmetros pesquisados.

{% endif %} - {% endif %} - {% endblock base_content %} diff --git a/sapl/templates/relatorios/relatorio_materias_por_autor.html b/sapl/templates/relatorios/relatorio_materias_por_autor.html index d3e7a9659..34499fc1b 100644 --- a/sapl/templates/relatorios/relatorio_materias_por_autor.html +++ b/sapl/templates/relatorios/relatorio_materias_por_autor.html @@ -5,17 +5,17 @@ {% block content %}

Matérias por Autor

- - PARÂMETROS DE PESQUISA:
-  Autor: {{ autor }}
-  Tipo de matéria: {{ tipo }}
-  Data de apresentação: {{periodo}}


- - {% if object_list|length %} - - - - + PARÂMETROS DE PESQUISA:
+  Autor: {{ autor }}
+  Tipo de matéria: {{ tipo }}
+  Data de apresentação: {{periodo}}


+ + {% if materias_resultado|length %} +
QUADRO GERAL
+ + + + @@ -30,35 +30,26 @@ {% endfor %}
QUADRO GERAL
Tipo Matéria Quantidade
-
-
- {% if object_list|length %} - - {% for materia in object_list %} - {% ifchanged materia.autoria_set.first.autor %} -
- Autor: {{ materia.autoria_set.first.autor }} -
-
- {% endifchanged %} - -
- - Matéria: {{materia.tipo.descricao}} {{materia.numero}}/{{materia.ano}} -
- Ementa: {{materia.ementa}} -
- Coautor(es): {% if materia.autoria_set.first != materia.autoria_set.last %} - {% for autor in materia.autoria_set.all %} - {% if not autor.primeiro_autor %} - {{ autor.autor }}
- {% endif %} - {% endfor %} - {% endif %} -
-
- - +

+ {% if materias_resultado|length %} + {% for materia in materias_resultado %} + Matéria: {{materia.tipo.descricao}} {{materia.numero}}/{{materia.ano}} +
+ Ementa: +
+ {{materia.ementa}} +
+ Autor(es): +
+ {% for autor in materia.autoria_set.all %} + {% if not autor.primeiro_autor %} + {{ autor.autor }}
+ {% else %} + {{ autor.autor }}
+ {% endif %} + {% endfor %} +
+
{% endfor %} {% endif %}