Author: humbedooh
Date: Tue Mar 24 22:44:57 2015
New Revision: 1669014

URL: http://svn.apache.org/r1669014
Log:
make admin rest api show both types of votes and their desc.
use that for the add issue page

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

Modified: steve/trunk/pysteve/www/cgi-bin/rest_admin.py
URL: 
http://svn.apache.org/viewvc/steve/trunk/pysteve/www/cgi-bin/rest_admin.py?rev=1669014&r1=1669013&r2=1669014&view=diff
==============================================================================
--- steve/trunk/pysteve/www/cgi-bin/rest_admin.py (original)
+++ steve/trunk/pysteve/www/cgi-bin/rest_admin.py Tue Mar 24 22:44:57 2015
@@ -521,9 +521,9 @@ else:
                     response.respond(404, {'message': 'No such election or 
issue'})
         # Get registered vote stpye
         elif action == "types":
-            types = []
+            types = {}
             for vtype in constants.VOTE_TYPES:
-                types.append(vtype['key'])
+                types[vtype['key']] = vtype['description']
             response.respond(200, {'types': types})
             
         else:

Modified: steve/trunk/pysteve/www/htdocs/admin/add_issue.html
URL: 
http://svn.apache.org/viewvc/steve/trunk/pysteve/www/htdocs/admin/add_issue.html?rev=1669014&r1=1669013&r2=1669014&view=diff
==============================================================================
--- steve/trunk/pysteve/www/htdocs/admin/add_issue.html (original)
+++ steve/trunk/pysteve/www/htdocs/admin/add_issue.html Tue Mar 24 22:44:57 2015
@@ -8,7 +8,10 @@
 <script src="/js/jquery-ui.js" type="text/javascript"></script>
 <title>Add issue</title>
 </head>
-<body onload="document.getElementById('iid').value = 
parseInt(Math.random()*987654321).toString(16).toLowerCase();">
+<body onload="
+       document.getElementById('iid').value = 
parseInt(Math.random()*987654321).toString(16).toLowerCase();
+       getJSON('/steve/admin/types', null, setVoteTypes);
+       ">
        <p style="text-align: center;">
         <img src="/images/steve_logo.png"/>
     </p>
@@ -27,18 +30,9 @@
     </div>
     <div class="keyvaluepair">
         <div class="keyfield">Issue type:</div>
-        <select id="type" onchange="changeSTVType(this.value)">
+        <select id="type" name="type" onchange="changeSTVType(this.value)">
             <option value="">------</option>
-            <option value="yna">YNA (Yes/No/Abstain)</option>
-            <option value="stv1">STV with 1 seat</option>
-            <option value="stv2">STV with 2 seats</option>
-            <option value="stv3">STV with 3 seats</option>
-            <option value="stv4">STV with 4 seats</option>
-            <option value="stv5">STV with 5 seats</option>
-            <option value="stv6">STV with 6 seats</option>
-            <option value="stv7">STV with 7 seats</option>
-            <option value="stv8">STV with 8 seats</option>
-            <option value="stv9">STV with 9 seats</option>
+            
         </select>
         <br>
     </div>

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=1669014&r1=1669013&r2=1669014&view=diff
==============================================================================
--- steve/trunk/pysteve/www/htdocs/js/steve_rest.js (original)
+++ steve/trunk/pysteve/www/htdocs/js/steve_rest.js Tue Mar 24 22:44:57 2015
@@ -958,4 +958,25 @@ function primeMonitors() {
        undefined,
        primeMonitorsCallback,
        election)
+}
+
+function setVoteTypes(code, response, state) {
+       if (code == 200) {
+               var tobj = document.getElementById('type');
+               var sortable = []
+               for (i in response.types) {
+                       var type = response.types[i]
+                       var option = document.createElement("option");
+                       option.text = type;
+                       option.value = i;
+                       sortable.push([option, type])
+               }
+               sortable.sort(function(a,b) { return (a[1] > b[1])})
+               for (i in sortable) {
+                       tobj.add(sortable[i][0])
+               }
+       } else {
+               alert(response.message)
+       }
+       
 }
\ No newline at end of file


Reply via email to