def get(self, post_id):
        key = db.Key.from_path('Post', int(post_id), parent=Utils.blog_key())
        post = db.get(key)

        if self.user and self.user.key().id() == post.user.key().id():
            error = "You cannot like your own post."
            self.render('base.html', access_error=error)

        elif not self.user:
            self.redirect('/login')

        else:
            like = Like.all().filter('user ='******'post =', post).get()

            if like:
                self.redirect('/blog/' + str(post.key().id()))

            else:
                like = Like(parent=key, user=self.user, post=post)

                post.likes += 1

                like.put()
                post.put()

                self.redirect('/blog/' + str(post.key().id()))
Ejemplo n.º 2
0
    def post(self, post_id, comment_id):
        # Check if the user is currently logged in
        if not self.user:
            return self.redirect('/login')

        postKey = db.Key.from_path('Post',
                                   int(post_id),
                                   parent=Utils.blog_key())

        commentKey = db.Key.from_path('Comment',
                                      int(comment_id),
                                      parent=postKey)
        comment = db.get(commentKey)

        # Check if the comment id is valid and if
        # the logged in user has the permission to edit it
        if not comment or \
                not comment.user.key().id() == self.user.key().id():
            self.error(404)
            return

        # Get form input value (content)
        content = self.request.get('content')

        if content:
            comment.content = content
            comment.put()
            return self.redirect('/blog/' + str(post_id))
        else:
            error = "Content must be provided!"
            self.render("comment-form.html",
                        content=content,
                        error=error,
                        post_id=post_id)
Ejemplo n.º 3
0
    def post(self, post_id):
        key = db.Key.from_path('Post', int(post_id), parent=Utils.blog_key())
        post = db.get(key)

        # Check if the user is currently logged in
        if not self.user:
            return self.redirect('/')

        # Check if the post id is valid
        # or the logged in user has this permission
        if not post or not post.user.key().id() == self.user.key().id():
            self.error(404)
            return

        # Get form input values (subject and content)
        subject = self.request.get('subject')
        content = self.request.get('content')

        if subject and content:
            post.subject = subject
            post.content = content
            post.put()
            return self.redirect('/blog/' + str(post_id))
        else:
            error = "Subject and content must be provided!"
            self.render("post-form.html", subject=subject,
                        content=content, error=error)
    def post(self):
        # Check if the user is currently logged in
        if not self.user:
            return self.redirect('/login')

        # Get form input values (subject - content)
        subject = self.request.get('subject')
        content = self.request.get('content')

        if subject and content:
            post = Post(parent=Utils.blog_key(),
                        subject=subject,
                        content=content,
                        user=self.user)
            post.put()
            return self.redirect('/blog/%s' % str(post.key().id()))
        elif not subject:
            error = "Subject must be provided!"
            self.render("post-form.html",
                        subject=subject,
                        content=content,
                        error=error)
        elif not content:
            error = "Content must be provided!"
            self.render("post-form.html",
                        subject=subject,
                        content=content,
                        error=error)
        else:
            error = "Subject and content must be provided!"
            self.render("post-form.html",
                        subject=subject,
                        content=content,
                        error=error)
    def get(self, post_id):
        key = db.Key.from_path('Post', int(post_id), parent=Utils.blog_key())
        post = db.get(key)

        # Check if the post id is valid
        if not post:
            self.error(404)
            return

        self.render("post-details.html",
                    post=post,
                    user=self.user,
                    comments=post.comment_post)
    def get(self, post_id):
        key = db.Key.from_path('Post', int(post_id), parent=Utils.blog_key())
        post = db.get(key)

        # Check if the user is currently logged in
        if not self.user:
            return self.redirect('/login')

        # Check if the post id is valid or
        # the logged in user has this permission
        if not post or \
                not post.user.key().id() == self.user.key().id():
            self.error(404)
            return

        post.delete()
        self.redirect('/')
Ejemplo n.º 7
0
    def get(self, post_id):
        key = db.Key.from_path('Post', int(post_id), parent=Utils.blog_key())
        post = db.get(key)

        # Check if the user is currently logged in
        if not self.user:
            return self.redirect('/login')

        # Check if the post id is valid and if
        # the logged in user has the permission to edit it
        if not post or \
                not post.user.key().id() == self.user.key().id():
            self.error(404)
            return

        self.render("post-form.html", subject=post.subject,
                    content=post.content)
    def get(self, post_id, comment_id):
        # Check if the user is currently logged in
        if not self.user:
            return self.redirect('/login')

        postKey = db.Key.from_path('Post', int(post_id), parent=Utils.blog_key())
        post = db.get(postKey)

        commentKey = db.Key.from_path('Comment', int(comment_id), parent=postKey)
        comment = db.get(commentKey)

        # Check if the comment id is valid and
        # if the logged in user has the permission to edit it
        if not comment or \
                not comment.user.key().id() == self.user.key().id():
            self.error(404)
            return

        post.comments -= 1

        comment.delete()
        post.put()

        self.redirect('/blog/' + str(post_id))
Ejemplo n.º 9
0
    def get(self, post_id, comment_id):
        # Check if the user is currently logged in
        if not self.user:
            return self.redirect("/login")

        postKey = db.Key.from_path('Post',
                                   int(post_id),
                                   parent=Utils.blog_key())

        commentKey = db.Key.from_path('Comment',
                                      int(comment_id),
                                      parent=postKey)
        comment = db.get(commentKey)

        # Check if the comment id is valid and if
        # the logged in user has the permission to edit it
        if not comment or \
                not comment.user.key().id() == self.user.key().id():
            self.error(404)
            return

        self.render("comment-form.html",
                    content=comment.content,
                    post_id=post_id)
Ejemplo n.º 10
0
 def by_id(cls, uid):
     return Post.get_by_id(uid, parent=Utils.blog_key())