From 5086256d905933ef9d6fb6343c92f6937e54d8a8 Mon Sep 17 00:00:00 2001
From: Ben Adida <ben@adida.net>
Date: Mon, 27 Sep 2010 22:06:07 -0700
Subject: [PATCH] fixed modularity of checking admin_p, ordering by alias when
 aliases

---
 helios/views.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/helios/views.py b/helios/views.py
index 2e37026..65896c5 100644
--- a/helios/views.py
+++ b/helios/views.py
@@ -270,7 +270,7 @@ def list_trustees(request, election):
 def list_trustees_view(request, election):
   trustees = Trustee.get_by_election(election)
   user = get_user(request)
-  admin_p = user and (user == election.admin)
+  admin_p = security.user_can_admin_election(user, election)
   
   return render_template(request, 'list_trustees', {'election': election, 'trustees': trustees, 'admin_p':admin_p})
   
@@ -679,7 +679,7 @@ def one_election_archive(request, election, admin, api_client):
 def one_election_questions(request, election):
   questions_json = utils.to_json(election.questions)
   user = get_user(request)
-  admin_p = user and (user == election.admin)  
+  admin_p = security.user_can_admin_election(user, election)
 
   return render_template(request, 'election_questions', {'election': election, 'questions_json' : questions_json, 'admin_p': admin_p})
 
@@ -848,8 +848,12 @@ def voters_list_pretty(request, election):
   
   order_by = 'voter_id'
 
+  # unless it's by alias, in which case we better go by UUID
+  if election.use_voter_aliases:
+    order_by = 'alias'
+
   user = get_user(request)
-  admin_p = user and (user == election.admin)  
+  admin_p = security.user_can_admin_election(user, election)
   
   # files being processed
   voter_files = election.voterfile_set.all()
-- 
GitLab