Author: humbedooh
Date: Sun Mar 22 22:15:52 2015
New Revision: 1668493

URL: http://svn.apache.org/r1668493
Log:
add tally page

Added:
    steve/trunk/pysteve/www/htdocs/admin/tally.html
Modified:
    steve/trunk/pysteve/www/htdocs/js/steve_rest.js

Added: steve/trunk/pysteve/www/htdocs/admin/tally.html
URL: 
http://svn.apache.org/viewvc/steve/trunk/pysteve/www/htdocs/admin/tally.html?rev=1668493&view=auto
==============================================================================
--- steve/trunk/pysteve/www/htdocs/admin/tally.html (added)
+++ steve/trunk/pysteve/www/htdocs/admin/tally.html Sun Mar 22 22:15:52 2015
@@ -0,0 +1,27 @@
+ <!DOCTYPE HTML>
+<html>
+<head>
+<link rel="stylesheet" href="/css/steve_interactive.css">
+<link rel="stylesheet" href="/css/jquery-ui.css">
+<script src="/js/steve_rest.js" type="text/javascript"></script>
+<script src="/js/jquery.js" type="text/javascript"></script>
+<script src="/js/jquery-ui.js" type="text/javascript"></script>
+<title>Tally votes</title>
+</head>
+<body onload="window.setTimeout(loadTally, 500);">
+    <div id="popups"></div>
+    <p style="text-align: center;">
+        <img src="/images/steve_logo.png"/>
+    </p>
+<div class="formbox">
+    <a 
href="javascript:void(location.href='edit_election.html'+(document.location.search.split('/'))[0]);"
 class="btn">Back to election editing front page</a>
+<h2 id="title">Tally votes:</h2>
+
+<div id="preloaderWrapper">
+    <img src="/images/steve_spinner.gif"/><br/>
+        Loading issues, please wait...
+</div>
+
+</div>
+</body>
+</html>
\ No newline at end of file

Modified: steve/trunk/pysteve/www/htdocs/js/steve_rest.js
URL: 
http://svn.apache.org/viewvc/steve/trunk/pysteve/www/htdocs/js/steve_rest.js?rev=1668493&r1=1668492&r2=1668493&view=diff
==============================================================================
--- steve/trunk/pysteve/www/htdocs/js/steve_rest.js (original)
+++ steve/trunk/pysteve/www/htdocs/js/steve_rest.js Sun Mar 22 22:15:52 2015
@@ -134,6 +134,48 @@ function loadElectionData(election) {
        election = election ? election : document.location.search.substr(1);
        getJSON("/steve/voter/view/" + election, election, renderEditElection)
 }
+function displayTally(code, response, issue) {
+       var obj = document.getElementById('tally_' + issue)
+       if (obj) {
+               if (response.winners) {
+                       obj.innerHTML = "<ol>"
+                       for (i in response.winners) {
+                               var winner = response.winners[i]
+                               var winnerName = response.winnernames[i]
+                               obj.innerHTML += "<li>" + winner + ": " + 
winnerName + "</li>"
+                       }
+                       obj.innerHTML += "</ol>"
+               } else if (response.yes && response.yes != undefined) {
+                       obj.innerHTML = "<b>Yes:     </b>" + response.yes + "\n"
+                       obj.innerHTML += "<b>No:      </b>" + response.no + "\n"
+                       obj.innerHTML += "<b>Abstain: </b>" + response.abstain 
+ "\n"
+               } else {
+                       obj.innerHTML = "Unknonwn vote type or no votes cast 
yet"
+               }
+       }
+}
+function readTally(code, response, election) {
+       var obj = document.getElementById('preloaderWrapper')
+       obj.setAttribute("id", "contents")
+       obj.innerHTML = ""
+       if (code == 200) {
+                       for (i in response.issues) {
+                       var issue = response.issues[i]
+                       obj.innerHTML += "<h3>" + issue.title + ":</h3>"
+                       obj.innerHTML += "<pre id='tally_" + issue.id + 
"'>Loading results...</pre>"
+                       obj.innerHTML += "<hr/>"
+                       getJSON("/steve/admin/tally/" + election + "/" + 
issue.id, issue.id, displayTally)
+               }
+       } else {
+               alert(response.message)
+       }
+
+}
+
+function loadTally(election) {
+       election = election ? election : document.location.search.substr(1);
+       getJSON("/steve/admin/view/" + election, election, readTally)
+}
 
 
 function loadAdminElectionData(election) {


Reply via email to