Bifurcation depuis
La Quadrature du Net / Political Memory / memopol
832 validations de retard le dépôt en amont.
-
Nicolas Joyard a rédigéNicolas Joyard a rédigé
dossier_list.py 1001 o
# coding: utf-8
from core.views import PaginationMixin
from django.db.models import Count
from django.views import generic
from representatives_votes.models import Dossier
from ..filters import DossierFilter
class DossierList(PaginationMixin, generic.ListView):
current_filter = None
queryset = Dossier.objects.prefetch_related(
'proposals',
'proposals__recommendation'
).annotate(
nb_proposals=Count('proposals'),
nb_recomm=Count('proposals__recommendation')
).order_by('-nb_recomm', '-reference')
def dossier_filter(self, qs):
f = DossierFilter(self.request.GET, queryset=qs)
self.current_filter = f
return f.qs
def get_queryset(self):
qs = super(DossierList, self).get_queryset()
qs = self.dossier_filter(qs)
return qs
def get_context_data(self, **kwargs):
c = super(DossierList, self).get_context_data(**kwargs)
c['filter'] = self.current_filter
return c