Ejemplo n.º 1
0
 def post(self, post_id, post):
     # makes sure the user isn't able to like their own post, logs them out with an error for trying to cheat
     if self.user.key == post.author:
         self.logout()
         return self.redirect('/login?error=fakelike')
     if not Like.get_by_postid(post_id):
         l = Like(parent=like_key(),
                  like_count=1,
                  post_key=post.key,
                  liked_by_key=[self.user.key])
         l.put()
         return self.redirect('/blog/%s' % int(post_id))
     else:
         like = Like.get_by_postid(post_id)
         if self.user.key in like.liked_by_key:
             like.like_count -= 1
             like.liked_by_key.remove(self.user.key)
             like.put()
             return self.redirect('/blog/%s' % int(post_id))
         else:
             like.like_count += 1
             like.liked_by_key.append(self.user.key)
             like.put()
             return self.redirect('/blog/%s' % int(post_id))
Ejemplo n.º 2
0
    def get(self, post_id, post):
        like_value = "Like"
        like_name = "like"

        likes = Like.get_by_postid(post_id)

        if likes:
            if self.user.key in likes.liked_by_key:
                like_value = "Unlike"
                like_name = "unlike"

        if self.user:
            self.render("post.html",
                        post=post,
                        author=post.author_name(),
                        current_user=self.user.name,
                        like_value=like_value,
                        like_name=like_name,
                        likes=likes)
        else:
            self.render("post.html",
                        post=post,
                        author=post.author_name(),
                        likes=likes)