Exemple #1
0
 def get(self):
     election = self.election()
     if not election:
         return
     user = users.get_current_user()
     candidates = db.GqlQuery(
         "SELECT * FROM Candidate WHERE ANCESTOR IS :1", election)
     vote = Vote.get_by_key_name(self._vote_key(election, user))
     if vote:
         entries = dict((c.key().id(), c) for c in candidates)
         keys = [[int(key) for key in rank.split(",")]
                 for rank in vote.ranks.split(";")]
         ranks = interleave(repeat([]), ([entries[key] for key in rank]
                                         for rank in keys))
         unranked = [
             entries[key] for key in entries
             if key not in set(sum(keys, []))
         ]
     else:
         ranks = [[]]
         unranked = candidates
     self.render("vote.html",
                 election=election,
                 ranks=ranks,
                 unranked=unranked)
Exemple #2
0
 def get(self):
     election = self.election()
     if not election:
         return
     user = users.get_current_user()
     candidates = db.GqlQuery("SELECT * FROM Candidate WHERE ANCESTOR IS :1", election)
     vote = Vote.get_by_key_name(self._vote_key(election, user))
     if vote:
         entries = dict((c.key().id(), c) for c in candidates)
         keys = [[int(key) for key in rank.split(",")] for rank in vote.ranks.split(";")]
         ranks = interleave(repeat([]), ([entries[key] for key in rank] for rank in keys))
         unranked = [entries[key] for key in entries if key not in set(sum(keys, []))]
     else:
         ranks = [[]]
         unranked = candidates
     self.render("vote.html", election=election, ranks=ranks, unranked=unranked)
Exemple #3
0
 def vote(self, ranks):
     for item_id in ranks:
         self.page.form.set("c" + item_id, ranks[item_id])
     self.page.form.submit()
     return Vote.get_by_key_name(self.contest.key().name() + "/" +
                                 str(self.user.user_id()))
Exemple #4
0
 def vote(self, ranks):
     for item_id in ranks:
         self.page.form.set("c" + item_id, ranks[item_id])
     self.page.form.submit()
     return Vote.get_by_key_name(self.contest.key().name() + "/" + str(self.user.user_id()))