Ejemplo n.º 1
0
    def post(self, post_subject):
        # If any user does not logged in redirect to homepage
        if not self.user:
            self.redirect("/login")

        post_to_delete = Post.find_by_subject(post_subject)
        # If post couldn't find redirect 404 page
        if not post_to_delete:
            self.error(404)
            return self.render('404.html')
        if not self.user.owner_of(post_to_delete):
            self.redirect("/")
        else:
            # delete post likes
            for like in post_to_delete.postlike_set:
                like.delete()
            # delete comment and comment likes
            for comment in post_to_delete.comment_set:
                for like in comment.commentlike_set:
                    like.delete()
                comment.delete()
            # finally delete the post's itself
            post_to_delete.delete()

            self.redirect('/')
Ejemplo n.º 2
0
    def post(self, post_subject):
        # If any user does not logged in redirect to homepage
        if not self.user:
            self.redirect("/login")

        post_to_delete = Post.find_by_subject(post_subject)
        # If post couldn't find redirect 404 page
        if not post_to_delete:
            self.error(404)
            return self.render('404.html')
        if not self.user.owner_of(post_to_delete):
            self.redirect("/")
        else:
            # delete post likes
            for like in post_to_delete.postlike_set:
                like.delete()
            # delete comment and comment likes
            for comment in post_to_delete.comment_set:
                for like in comment.commentlike_set:
                    like.delete()
                comment.delete()
            # finally delete the post's itself
            post_to_delete.delete()

            self.redirect('/')
Ejemplo n.º 3
0
    def post(self, post_subject):
        # If any user does not logged in redirect to homepage
        if not self.user:
            self.redirect('/')
        post_to_update = Post.find_by_subject(post_subject)
        # If post couldn't find redirect 404 page
        if not post_to_update:
            self.error(404)
            return self.render('404.html')
        # If user is not owner of the post, redirect with an error
        if not self.user.owner_of(post_to_update):
            self.redirect("/")
        else:
            values = {
                'subject': self.request.get('subject'),
                'content': self.request.get('content')}

            if values['subject'] and values['content']:
                values = {
                    'subject': self.request.get('subject').strip(),
                    'content': self.request.get('content').strip()}

                post_to_update.subject = values['subject']
                post_to_update.content = values['content']
                post_to_update.put()
                self.redirect(post_to_update.link_to('show'))
            else:
                errors = {}
                if not values['subject']:
                    errors['subject'] = "can't be blank"
                if not values['content']:
                    errors['content'] = "can't be blank"
                self.render("/posts/edit.html", values=values, errors=errors)
Ejemplo n.º 4
0
    def post(self, post_subject):
        # If any user does not logged in redirect to homepage
        if not self.user:
            self.redirect('/')

        # Post page contains a form to post comments,
        # so a post request comes, lets put that comment into database
        post_to_comment = Post.find_by_subject(post_subject)
        # If post couldn't find redirect 404 page
        if not post_to_comment:
            self.error(404)
            return self.render('404.html')

        content = self.request.get('content').strip()

        if content:
            comment = Comment(
                content=content,
                post=post_to_comment,
                user=self.user)
            comment.put()
            self.redirect(post_to_comment.link_to('show'))
        else:
            errors = {'content': "can't be blank"}
            self.render(
                "/posts/post.html", post=post_to_comment,
                errors=errors)
Ejemplo n.º 5
0
    def post(self, post_subject):
        # If any user does not logged in redirect to homepage
        if not self.user:
            self.redirect('/')
        post_to_update = Post.find_by_subject(post_subject)
        # If post couldn't find redirect 404 page
        if not post_to_update:
            self.error(404)
            return self.render('404.html')
        # If user is not owner of the post, redirect with an error
        if not self.user.owner_of(post_to_update):
            self.redirect("/")
        else:
            values = {
                'subject': self.request.get('subject'),
                'content': self.request.get('content')
            }

            if values['subject'] and values['content']:
                values = {
                    'subject': self.request.get('subject').strip(),
                    'content': self.request.get('content').strip()
                }

                post_to_update.subject = values['subject']
                post_to_update.content = values['content']
                post_to_update.put()
                self.redirect(post_to_update.link_to('show'))
            else:
                errors = {}
                if not values['subject']:
                    errors['subject'] = "can't be blank"
                if not values['content']:
                    errors['content'] = "can't be blank"
                self.render("/posts/edit.html", values=values, errors=errors)
Ejemplo n.º 6
0
    def post(self, post_subject):
        # If any user does not logged in redirect to homepage
        if not self.user:
            self.redirect('/')

        # Post page contains a form to post comments,
        # so a post request comes, lets put that comment into database
        post_to_comment = Post.find_by_subject(post_subject)
        # If post couldn't find redirect 404 page
        if not post_to_comment:
            self.error(404)
            return self.render('404.html')

        content = self.request.get('content').strip()

        if content:
            comment = Comment(content=content,
                              post=post_to_comment,
                              user=self.user)
            comment.put()
            self.redirect(post_to_comment.link_to('show'))
        else:
            errors = {'content': "can't be blank"}
            self.render("/posts/post.html",
                        post=post_to_comment,
                        errors=errors)
Ejemplo n.º 7
0
    def get(self, post_subject):
        post = Post.find_by_subject(post_subject)

        if not post:
            self.error(404)
            return self.render('404.html')

        self.render("/posts/post.html", post=post, errors=None)
Ejemplo n.º 8
0
    def get(self, post_subject):
        post = Post.find_by_subject(post_subject)

        if not post:
            self.error(404)
            return self.render('404.html')

        self.render("/posts/post.html", post=post, errors=None)
Ejemplo n.º 9
0
    def post(self, post_subject):
        # If any user does not logged in redirect to homepage
        if not self.user:
            self.redirect("/login")

        post_to_dislike = Post.find_by_subject(post_subject)
        # If post couldn't find redirect 404 page
        if not post_to_dislike:
            self.error(404)
            return self.render('404.html')

        if not self.user.liked_post_before(post_to_dislike):
            self.redirect("/")
        else:
            for like in post_to_dislike.postlike_set:
                if like.user.key() == self.user.key():
                    like.delete()
                    break
        self.redirect('/')
Ejemplo n.º 10
0
    def post(self, post_subject):
        # If any user does not logged in redirect to homepage
        if not self.user:
            self.redirect("/login")

        post_to_like = Post.find_by_subject(post_subject)
        # If post couldn't find redirect 404 page
        if not post_to_like:
            self.error(404)
            return self.render('404.html')
        # If user is owner of the post, redirect with an error
        if self.user.owner_of(post_to_like):
            self.redirect("/")
        elif self.user.liked_post_before(post_to_like):
            self.redirect("/")
        else:
            new_like = PostLike(post=post_to_like, user=self.user)
            new_like.put()
        self.redirect('/')
Ejemplo n.º 11
0
    def post(self, post_subject):
        # If any user does not logged in redirect to homepage
        if not self.user:
            self.redirect("/login")

        post_to_dislike = Post.find_by_subject(post_subject)
        # If post couldn't find redirect 404 page
        if not post_to_dislike:
            self.error(404)
            return self.render('404.html')

        if not self.user.liked_post_before(post_to_dislike):
            self.redirect("/")
        else:
            for like in post_to_dislike.postlike_set:
                if like.user.key() == self.user.key():
                    like.delete()
                    break
        self.redirect('/')
Ejemplo n.º 12
0
    def post(self, post_subject):
        # If any user does not logged in redirect to homepage
        if not self.user:
            self.redirect("/login")

        post_to_like = Post.find_by_subject(post_subject)
        # If post couldn't find redirect 404 page
        if not post_to_like:
            self.error(404)
            return self.render('404.html')
        # If user is owner of the post, redirect with an error
        if self.user.owner_of(post_to_like):
            self.redirect("/")
        elif self.user.liked_post_before(post_to_like):
            self.redirect("/")
        else:
            new_like = PostLike(post=post_to_like, user=self.user)
            new_like.put()
        self.redirect('/')
Ejemplo n.º 13
0
    def get(self, post_subject):
        # If any user does not logged in redirect to homepage
        if not self.user:
            self.redirect("/login")

        post_to_update = Post.find_by_subject(post_subject)
        # If post couldn't find redirect 404 page
        if not post_to_update:
            self.error(404)
            return self.render('404.html')
        # If user is not owner of the post, redirect with an error
        if not self.user.owner_of(post_to_update):
            self.redirect("/")
        else:
            values = {
                'subject': post_to_update.subject,
                'content': post_to_update.content}

        self.render(
            "/posts/edit.html", post=post_to_update,
            values=values, errors=None)
Ejemplo n.º 14
0
    def get(self, post_subject):
        # If any user does not logged in redirect to homepage
        if not self.user:
            self.redirect("/login")

        post_to_update = Post.find_by_subject(post_subject)
        # If post couldn't find redirect 404 page
        if not post_to_update:
            self.error(404)
            return self.render('404.html')
        # If user is not owner of the post, redirect with an error
        if not self.user.owner_of(post_to_update):
            self.redirect("/")
        else:
            values = {
                'subject': post_to_update.subject,
                'content': post_to_update.content
            }

        self.render("/posts/edit.html",
                    post=post_to_update,
                    values=values,
                    errors=None)