예제 #1
0
 def post(self, post_id, vote_default):
     post = post_exist(post_id)
     v = vote_exist(post_id, self.user.name)
     voteresult = self.request.get('voteresult')
     if not vote_default:
         vote_default = "votepost"
     if post:
         if self.user.name == post.created_by:
             error = "You cannot Like your own Post"
             self.render("errorpost.html", p=post, error=error)
         elif v.count() > 0:
             error = "You have already voted"
             self.render("errorpost.html", p=post, error=error)
         elif not voteresult:
             error = "You did not vote" + voteresult
             self.render(vote_default + ".html", p=post, error=error)
         else:
             v = Vote(parent=blog_key(),
                      username_fk=self.user.name,
                      post_id_fk=int(post_id),
                      content=voteresult)
             v.put()
             self.redirect('/blog/%s' % post_id)
     else:
         self.redirect("/blog")
예제 #2
0
 def post(self, post_id):
     post = post_exist(post_id)
     v = vote_exist(post_id, self.user.name)
     if post:
         if self.user.name == post.created_by:
             error = "You cannot Like your own Post"
             self.render("errorpost.html", p=post, error=error)
         elif v:
             error = "You have already voted"
             self.render("errorpost.html", p=p, error=error)
         else:
             v = Vote(parent=blog_key(),
                      user_fk=user,
                      post_fk=post,
                      content="Like")
             v.put()
             self.redirect('/blog/%s' % post_id)
     else:
         self.redirect("/blog")
예제 #3
0
파일: vote.py 프로젝트: podgib/brownlow
  def post(self):
    token_string = self.request.get("token")
    token = Token.query(Token.value == token_string).get()
    if not token:
      template = jinja_environment.get_template("templates/error.html")
      self.response.out.write(template.render({'errmsg': "invalid voting token"}))
      return
    if token.used:
      template = jinja_environment.get_template("templates/error.html")
      self.response.out.write(template.render({'errmsg': "You've already voted!"}))
      return

    game = token.game
    voter = token.voter

    three = self.request.get("three")
    two = self.request.get("two")
    one = self.request.get("one")

    if one in [two, three] or two == three:
      return self.redirect("/vote/" + token.value + "?err=" + str(ERROR_DUPLICATE_VOTE))

    if str(voter.id()) in [one, two, three]:
      return self.redirect("/vote/" + token.value + "?err=" + str(ERROR_VOTE_FOR_SELF))

    three_player = Player.get_by_id(int(three))
    two_player = Player.get_by_id(int(two))
    one_player = Player.get_by_id(int(one))

    vote = Vote(game=game, three=three_player.key, two=two_player.key, one=one_player.key)
    token.used = True

    vote.put()
    token.put()

    template = jinja_environment.get_template('templates/success.html')
    self.response.out.write(template.render({}))