1010from django .http import Http404 , HttpResponseRedirect , HttpResponseForbidden
1111from django .shortcuts import render , get_object_or_404 , redirect
1212from django .template .loader import render_to_string
13- from django .db .models import Count
1413from django .forms .models import modelformset_factory , inlineformset_factory
1514
1615
@@ -173,8 +172,8 @@ def private_index(request, year):
173172 if selected_state == questionnaire_state :
174173 nominee_positions = [np for np in nominee_positions if np .questionnaires ]
175174
176- # TODO- just build this dict using open Positions: see #2254
177- stats = all_nominee_positions . values ( 'position__name' , 'position__id' ). annotate ( total = Count ( 'position' ))
175+ positions = Position . objects . get_by_nomcom ( nomcom = nomcom )
176+ stats = [{ 'position__name' : p . name , 'position__id' : p . pk } for p in positions ]
178177 states = list (NomineePositionStateName .objects .values ('slug' , 'name' )) + [{'slug' : questionnaire_state , 'name' : u'Questionnaire' }]
179178 positions = set ([ n .position for n in all_nominee_positions .order_by ('position__name' ) ])
180179 for s in stats :
@@ -184,6 +183,7 @@ def private_index(request, year):
184183 else :
185184 s [state ['slug' ]] = all_nominee_positions .filter (position__name = s ['position__name' ],
186185 state = state ['slug' ]).count ()
186+ s ['total' ] = all_nominee_positions .filter (position__name = s ['position__name' ]).count ()
187187
188188 return render (request , 'nomcom/private_index.html' ,
189189 {'nomcom' : nomcom ,
0 commit comments