You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@steve.apache.org by hu...@apache.org on 2015/03/22 17:33:13 UTC

svn commit: r1668403 - in /steve/trunk/pytest/www: cgi-bin/rest_admin.py htdocs/admin/edit_election.html htdocs/js/steve_rest.js

Author: humbedooh
Date: Sun Mar 22 16:33:12 2015
New Revision: 1668403

URL: http://svn.apache.org/r1668403
Log:
allow admins to peek at election by creating a temporary voter ID

Modified:
    steve/trunk/pytest/www/cgi-bin/rest_admin.py
    steve/trunk/pytest/www/htdocs/admin/edit_election.html
    steve/trunk/pytest/www/htdocs/js/steve_rest.js

Modified: steve/trunk/pytest/www/cgi-bin/rest_admin.py
URL: http://svn.apache.org/viewvc/steve/trunk/pytest/www/cgi-bin/rest_admin.py?rev=1668403&r1=1668402&r2=1668403&view=diff
==============================================================================
--- steve/trunk/pytest/www/cgi-bin/rest_admin.py (original)
+++ steve/trunk/pytest/www/cgi-bin/rest_admin.py Sun Mar 22 16:33:12 2015
@@ -398,7 +398,20 @@ else:
                     response.respond(403, {'message': "You do not have karma to delete this issue"})
             else:
                     response.respond(404, {'message': 'No such election or issue'})
-                    
+        
+        # Get a temp voter ID for peeking
+        elif action == "temp" and electionID:
+            if electionID and election.exists(electionID):
+                basedata = election.getBasedata(electionID)
+                if karma >= 4 or ('owner' in basedata and basedata['owner'] == whoami):
+                        voterid, xhash = voter.add(electionID, basedata, whoami + "@stv")
+                        response.respond(200, {'id': voterid})
+                else:
+                    response.respond(403, {'message': "You do not have karma to peek at this election"})
+            else:
+                    response.respond(404, {'message': 'No such election'})
+            
+        # Invite folks to the election
         elif action == "invite" and karma >= 3:
             # invite one or more people to an election
             if electionID:

Modified: steve/trunk/pytest/www/htdocs/admin/edit_election.html
URL: http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/admin/edit_election.html?rev=1668403&r1=1668402&r2=1668403&view=diff
==============================================================================
--- steve/trunk/pytest/www/htdocs/admin/edit_election.html (original)
+++ steve/trunk/pytest/www/htdocs/admin/edit_election.html Sun Mar 22 16:33:12 2015
@@ -27,7 +27,7 @@
           
         <a href="javascript:void(location.href='edit_basedata.html'+document.location.search);" class="btn"><img style="vertical-align: middle;"  src="/images/icon_edit.png"/> Edit election base data</a>
         &nbsp; 
-        <a href="javascript:void(location.href='/election.html'+document.location.search);" class="btn-purple"><img style="vertical-align: middle;"  src="/images/icon_view.png"/> View election</a>
+        <a href="javascript:void(peekAtElection());" class="btn-purple"><img style="vertical-align: middle;"  src="/images/icon_view.png"/> View election</a>
         <br/>
 </fieldset>
 <form>

Modified: steve/trunk/pytest/www/htdocs/js/steve_rest.js
URL: http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/js/steve_rest.js?rev=1668403&r1=1668402&r2=1668403&view=diff
==============================================================================
--- steve/trunk/pytest/www/htdocs/js/steve_rest.js (original)
+++ steve/trunk/pytest/www/htdocs/js/steve_rest.js Sun Mar 22 16:33:12 2015
@@ -267,6 +267,19 @@ function deleteIssue() {
 	getJSON("/steve/admin/delete/" + document.location.search.substr(1), election, deleteIssueCallback)
 }
 
+function peekAtElection() {
+	var l = document.location.search.substr(1).split('/');
+	var election = l[0]
+	getJSON("/steve/admin/temp/" + document.location.search.substr(1), election, peekCallback)
+}
+
+function peekCallback(code, response, election) {
+	if (code == 200) {
+		location.href = "/election.html?" + election + "/" + response.id
+	} else {
+		alert(response.message)
+	}
+}
 
 function changeSTVType(type) {
 	if (type == "yna") {