diff --git a/materia/forms.py b/materia/forms.py
index eff4e56ce..6cd9f3a90 100644
--- a/materia/forms.py
+++ b/materia/forms.py
@@ -23,9 +23,6 @@ from .models import (AcompanhamentoMateria, Anexada, Autor, Autoria,
StatusTramitacao, TipoAutor,
TipoMateriaLegislativa, Tramitacao, UnidadeTramitacao)
-ORDENACAO_MATERIAIS = [(1, 'Crescente'),
- (2, 'Decrescente')]
-
def em_tramitacao():
return [('', 'Tanto Faz'),
@@ -827,8 +824,9 @@ def pega_ultima_tramitacao():
def filtra_tramitacao_status(status):
lista = pega_ultima_tramitacao()
- ultimas_tramitacoes = Tramitacao.objects.filter(id__in=lista,
- status=status)
+ ultimas_tramitacoes = Tramitacao.objects.filter(
+ id__in=lista,
+ status=status).distinct()
lista = [ids.materia_id for ids in ultimas_tramitacoes]
return lista
@@ -837,7 +835,7 @@ def filtra_tramitacao_destino(destino):
lista = pega_ultima_tramitacao()
ultimas_tramitacoes = Tramitacao.objects.filter(
id__in=lista,
- unidade_tramitacao_destino=destino)
+ unidade_tramitacao_destino=destino).distinct()
lista = [ids.materia_id for ids in ultimas_tramitacoes]
return lista
@@ -847,6 +845,6 @@ def filtra_tramitacao_destino_and_status(status, destino):
ultimas_tramitacoes = Tramitacao.objects.filter(
id__in=lista,
status=status,
- unidade_tramitacao_destino=destino)
+ unidade_tramitacao_destino=destino).distinct()
lista = [ids.materia_id for ids in ultimas_tramitacoes]
return lista
diff --git a/materia/views.py b/materia/views.py
index fde159014..7125abf1c 100644
--- a/materia/views.py
+++ b/materia/views.py
@@ -1233,22 +1233,56 @@ class MateriaLegislativaPesquisaView(FilterView):
lista = filtra_tramitacao_destino_and_status(status_tramitacao,
unidade_destino)
self.object_list = self.filterset.qs.filter(
- id__in=lista)
+ id__in=lista).distinct().order_by('tipo', 'numero', 'ano')
elif status_tramitacao and status_tramitacao != '':
lista = filtra_tramitacao_status(status_tramitacao)
self.object_list = self.filterset.qs.filter(
- id__in=lista)
+ id__in=lista).distinct().order_by('tipo', 'numero', 'ano')
elif unidade_destino and unidade_destino != '':
lista = filtra_tramitacao_destino(unidade_destino)
self.object_list = self.filterset.qs.filter(
- id__in=lista)
+ id__in=lista).distinct().order_by('tipo', 'numero', 'ano')
else:
- self.object_list = self.filterset.qs
+ self.object_list = self.filterset.qs.order_by(
+ 'tipo', 'numero', 'ano')
+
+ numero = self.filterset.data.get('numero')
+ numero_protocolo = self.filterset.data.get('numero_protocolo')
+ ano = self.filterset.data.get('ano')
+ tipo = self.filterset.data.get('tipo')
+ data_a = self.filterset.data.get('data_apresentacao')
+ data_p = self.filterset.data.get('data_publicacao')
+ autor = self.filterset.data.get('autoria__autor')
+ tipo_autor = self.filterset.data.get('autoria__autor__tipo')
+ partido = self.filterset.data.get('autoria__partido')
+ relatoria = self.filterset.data.get('relatoria__parlamentar__id')
+ origem = self.filterset.data.get('local_origem_externa')
+ destino = self.filterset.data.get(
+ 'tramitacao__unidade_tramitacao_destino')
+ status = self.filterset.data.get('tramitacao__status')
+ em_tram = self.filterset.data.get('em_tramitacao')
+ ementa = self.filterset.data.get('ementa')
+
+ u1 = "&numero="+numero+"&numero_protocolo="+numero_protocolo+"&"
+ u2 = "ano="+ano+"&tipo="+tipo+"&data_apresentacao="+data_a+"&"
+ u3 = "data_publicacao="+data_p+"&autoria__autor="+autor+"&"
+ u4 = "autoria__autor__tipo="+tipo_autor+"&"
+ u5 = "autoria__partido="+partido+"&"
+ u6 = "relatoria__parlamentar__id="+relatoria+"&"
+ u7 = "local_origem_externa="+origem+"&"
+ u8 = "tramitacao__unidade_tramitacao_destino="+destino+"&"
+ u9 = "tramitacao__status="+status+"&"
+ u10 = "em_tramitacao="+em_tram+"&ementa="+ementa
+
+ url = u1+u2+u3+u4+u5+u6+u7+u8+u9+u10
context = self.get_context_data(filter=self.filterset,
- object_list=self.object_list)
+ object_list=self.object_list,
+ filter_url=url
+ )
+
return self.render_to_response(context)
diff --git a/templates/materia/materialegislativa_filter.html b/templates/materia/materialegislativa_filter.html
index fe7840650..125b5eb21 100644
--- a/templates/materia/materialegislativa_filter.html
+++ b/templates/materia/materialegislativa_filter.html
@@ -28,41 +28,6 @@
{% endfor %}
-{% if is_paginated %}
-
-{% endif %}
{% endblock detail_content %}
\ No newline at end of file
diff --git a/templates/paginacao_pesquisa_materia.html b/templates/paginacao_pesquisa_materia.html
new file mode 100644
index 000000000..380b0f015
--- /dev/null
+++ b/templates/paginacao_pesquisa_materia.html
@@ -0,0 +1,37 @@
+{% if is_paginated %}
+
+{% endif %}