|
@ -8,6 +8,7 @@ from django.contrib import messages |
|
|
from django.core.exceptions import ObjectDoesNotExist |
|
|
from django.core.exceptions import ObjectDoesNotExist |
|
|
from django.core.mail import send_mail |
|
|
from django.core.mail import send_mail |
|
|
from django.core.urlresolvers import reverse, reverse_lazy |
|
|
from django.core.urlresolvers import reverse, reverse_lazy |
|
|
|
|
|
from django.db.models import Max |
|
|
from django.http.response import HttpResponseRedirect |
|
|
from django.http.response import HttpResponseRedirect |
|
|
from django.shortcuts import redirect |
|
|
from django.shortcuts import redirect |
|
|
from django.template import Context, loader |
|
|
from django.template import Context, loader |
|
@ -1302,12 +1303,23 @@ class PesquisaMateriaListView(ListView): |
|
|
return materias |
|
|
return materias |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def filter_tramitacao__status(status): |
|
|
|
|
|
ultimas_tramitacoes = Tramitacao.objects.values( |
|
|
|
|
|
'materia_id').annotate(data_encaminhamento=Max( |
|
|
|
|
|
'data_encaminhamento'), |
|
|
|
|
|
id=Max('id')) |
|
|
|
|
|
import ipdb; ipdb.set_trace() |
|
|
|
|
|
ultimas_tramitacoes = ultimas_tramitacoes.filter(status=status) |
|
|
|
|
|
return ultimas_tramitacoes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MateriaLegislativaPesquisaView(FilterView): |
|
|
class MateriaLegislativaPesquisaView(FilterView): |
|
|
model = MateriaLegislativa |
|
|
model = MateriaLegislativa |
|
|
filterset_class = MateriaLegislativaPesquisaFields |
|
|
filterset_class = MateriaLegislativaPesquisaFields |
|
|
paginate_by = 10 |
|
|
paginate_by = 10 |
|
|
|
|
|
|
|
|
def get_context_data(self, **kwargs): |
|
|
def get_context_data(self, **kwargs): |
|
|
|
|
|
# import ipdb; ipdb.set_trace() |
|
|
context = super(MateriaLegislativaPesquisaView, |
|
|
context = super(MateriaLegislativaPesquisaView, |
|
|
self).get_context_data(**kwargs) |
|
|
self).get_context_data(**kwargs) |
|
|
|
|
|
|
|
@ -1319,9 +1331,16 @@ class MateriaLegislativaPesquisaView(FilterView): |
|
|
return context |
|
|
return context |
|
|
|
|
|
|
|
|
def get(self, request, *args, **kwargs): |
|
|
def get(self, request, *args, **kwargs): |
|
|
# import ipdb; ipdb.set_trace() |
|
|
|
|
|
filterset_class = self.get_filterset_class() |
|
|
filterset_class = self.get_filterset_class() |
|
|
self.filterset = self.get_filterset(filterset_class) |
|
|
self.filterset = self.get_filterset(filterset_class) |
|
|
|
|
|
status_tramitacao = self.filterset.data.get('tramitacao__status') |
|
|
|
|
|
if status_tramitacao and status_tramitacao != '': |
|
|
|
|
|
status = filter_tramitacao__status(status_tramitacao) |
|
|
|
|
|
mat_filt_ids = [ids.get('materia_id') for ids in status] |
|
|
|
|
|
# import ipdb; ipdb.set_trace() |
|
|
|
|
|
self.object_list = self.filterset.qs.filter( |
|
|
|
|
|
id__in=mat_filt_ids) |
|
|
|
|
|
else: |
|
|
self.object_list = self.filterset.qs |
|
|
self.object_list = self.filterset.qs |
|
|
context = self.get_context_data(filter=self.filterset, |
|
|
context = self.get_context_data(filter=self.filterset, |
|
|
object_list=self.object_list) |
|
|
object_list=self.object_list) |
|
|