def get(self, post_id): if self.valid_user(): post = Post.get_post(post_id) post.add_down_vote() user = User.get(self.get_user_id()) user.add_vote(post_id) self.redirect('/articles/%s' % post_id) else: self.redirect('/login')
def check_can_vote(self, p_id): post = Post.get_post(p_id) user_id = self.get_user_id() user = User.get(user_id) if post and post.user_id != str(user.key().id()): if len(user.liked_posts) == 0: return f(self, p_id) else: for i in user.liked_posts: if i == p_id: self.render('post.html', post=post, username=user.username, error="It looks you already voted in this post") return if i == user.liked_posts[-1]: return f(self, p_id) else: self.render('post.html', post=post, username=user.username, error="Can't vote on your own post")