diff --git a/memopol/views.py b/memopol/views.py index fb7ab10a090264685448591b0af087934bfeec0d..ff734b4fd4990406df2ee91db309d1c75a379c56 100644 --- a/memopol/views.py +++ b/memopol/views.py @@ -1,5 +1,6 @@ # Project specific "glue" coupling of all apps from django.db import models +from django.db.models import Count from core.views import GridListMixin, PaginationMixin, CSVDownloadMixin from representatives import views as representatives_views @@ -82,4 +83,9 @@ class RepresentativeDetail(representatives_views.RepresentativeDetail): class DossierList(PaginationMixin, representatives_votes_views.DossierList): - queryset = Dossier.objects.exclude(proposals__recommendation=None) + queryset = Dossier.objects.prefetch_related( + 'proposals', + 'proposals__recommendation' + ).annotate( + nb_recomm=Count('proposals__recommendation') + ).order_by('-reference') diff --git a/templates/_header.haml b/templates/_header.haml index a1670f4a5482709e9dbedf9f4f805d79e564c1df..b0dd05f50be6b3e5312f7b7f1773c39a8ec85b55 100644 --- a/templates/_header.haml +++ b/templates/_header.haml @@ -34,4 +34,4 @@ - trans 'Committees' %li %a{href: "{% url 'representatives_votes:dossier-list' %}"} - - trans 'Votes' + - trans 'Dossiers' diff --git a/templates/representatives_votes/dossier_list.haml b/templates/representatives_votes/dossier_list.haml index 2f3e2cc616727c33ee4c2304be91042af054402d..15d1bab16e7fd11dfc5fd64a433507e98c4d2224 100644 --- a/templates/representatives_votes/dossier_list.haml +++ b/templates/representatives_votes/dossier_list.haml @@ -1,14 +1,25 @@ - extends "base.html" +- load i18n - block content - %h1 Dossiers + %h1 + - trans "Dossiers" %table.table + %tr + %th + - trans "Title" + %th + - trans "Recommendations" + %th + - trans "Reference" + - for dossier in object_list %tr %td %a{'href': "{{ dossier.get_absolute_url }}"} {{ dossier.title }} + %td= dossier.nb_recomm %td= dossier.reference - include "core/blocks/pagination.html"