From ab6820e938ecafe3e70c41ec6f3f352a59bdd971 Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Mon, 22 May 2017 19:07:52 +0000 Subject: [PATCH] Correctly calculate statistics on the nomcom private index page. Fixes #2254. Commit ready for merge. - Legacy-Id: 13400 --- ietf/nomcom/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ietf/nomcom/views.py b/ietf/nomcom/views.py index fbb3d85ff..12e3754ec 100644 --- a/ietf/nomcom/views.py +++ b/ietf/nomcom/views.py @@ -10,7 +10,6 @@ from django.urls import reverse from django.http import Http404, HttpResponseRedirect, HttpResponseForbidden from django.shortcuts import render, get_object_or_404, redirect from django.template.loader import render_to_string -from django.db.models import Count from django.forms.models import modelformset_factory, inlineformset_factory @@ -173,8 +172,8 @@ def private_index(request, year): if selected_state == questionnaire_state: nominee_positions = [np for np in nominee_positions if np.questionnaires] - # TODO- just build this dict using open Positions: see #2254 - stats = all_nominee_positions.values('position__name', 'position__id').annotate(total=Count('position')) + positions = Position.objects.get_by_nomcom(nomcom=nomcom) + stats = [{'position__name':p.name,'position__id':p.pk} for p in positions] states = list(NomineePositionStateName.objects.values('slug', 'name')) + [{'slug': questionnaire_state, 'name': u'Questionnaire'}] positions = set([ n.position for n in all_nominee_positions.order_by('position__name') ]) for s in stats: @@ -184,6 +183,7 @@ def private_index(request, year): else: s[state['slug']] = all_nominee_positions.filter(position__name=s['position__name'], state=state['slug']).count() + s['total'] = all_nominee_positions.filter(position__name=s['position__name']).count() return render(request, 'nomcom/private_index.html', {'nomcom': nomcom,