Exemplo n.º 1
0
    def post(self, comment_id):
        if not self.user:
            return self.redirect('/signin')

        c = Comment.by_id(long(comment_id))
        if not c:
            return self.render_error("404")

        if not c.user_can_edit_delete(self.user):
            return self.render_error("403")

        content = self.request.get('comment_content')
        if content:
            c.content = content
            c.put()
            self.redirect("/post/%s" % c.post_id.id())
        else:
            p = Post.by_id(long(c.post_id.id()))
            p.prep_render()
            c.content = ""
            error_comment = "Write some words, please!"
            self.render("edit_comment.html",
                        post=p,
                        comment=c,
                        error_comment=error_comment)
Exemplo n.º 2
0
    def post(self):
        """delete comment and redirect to related post page"""
        cid = self.request.get("cid")
        if not self.user_match_comment_author(cid):
            self.redirect("/")
            return

        cid = long(cid)
        pid = long(self.request.get("pid"))
        comment = Comment.by_id(cid)
        comment.delete()

        self.redirect("/post/%s" % pid)
Exemplo n.º 3
0
    def get(self, comment_id):
        if not self.user:
            return self.redirect('/signin')

        c = Comment.by_id(long(comment_id))
        if not c:
            return self.render_error("404")

        if c.user_can_edit_delete(self.user):
            p = Post.by_id(long(c.post_id.id()))
            p.prep_render()
            self.render("edit_comment.html", post=p, comment=c)
        else:
            self.render_error("403")
Exemplo n.º 4
0
    def post(self):
        """update comment content"""
        cid = self.request.get("cid")
        if not self.user_match_comment_author(cid):
            self.redirect("/")
            return

        cid = long(cid)
        pid = long(self.request.get("pid"))
        content = self.request.get("content")
        comment = Comment.by_id(cid)
        comment.content = content
        comment.put()

        self.redirect("/post/%s" % pid)
Exemplo n.º 5
0
    def post(self, comment_id):
        if not self.user:
            return self.redirect("/signin")

        c = Comment.by_id(long(comment_id))
        if not c:
            return self.render_error("404")

        if c.user_can_edit_delete(self.user):
            p = Post.by_id(c.post_id.id())
            p.comments.remove(c.key)
            p.put()
            c.key.delete()
            self.redirect("/post/%s" % p.key.id())
        else:
            self.render_error("403")
Exemplo n.º 6
0
 def user_match_comment_author(self, cid):
     self.initialize(self.request, self.response)
     user = self.user
     comment = Comment.by_id(long(cid))
     return user and user.key().id() == comment.uid