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 %}