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) {