Esempio n. 1
0
    def post(self, post_id):
        #comment
        content = self.request.get('content')

        #check if post exists
        if not self.post_exists(post_id):
            page_error = 'This post does not exist !'
            return self.render('login-form.html', page_error = page_error)

        #Check if user is logged in
        if self.user:
            u = self.user.name
            author = User.by_name(u)

            post = Post.by_id(post_id)

            #Check if user wrote comment
            if content:
                c = Comment(author = author, post = post, content = content )
                c.put()
                time.sleep(0.1)
                self.redirect('/%s' %str(c.post.key().id()))

            else:
                page_error = "content, please!!"
                self.render('permalink.html', page_error = page_error, post = post)


        #User is redirected to login
        else:
            page_error = "You must login in to comment!"
            self.render('login-form.html', page_error = page_error)
Esempio n. 2
0
    def get(self, post_id):
        post_key = db.Key.from_path('Post', int(post_id))
        post = db.get(post_key)

        #Get all comments for post id
        comments = Comment.all().filter('post =', post_key)
        comments.order("-created")

        #check if post exists
        if not self.post_exists(post_id):
            page_error = 'This post does not exist !'
            return self.render('login-form.html', page_error = page_error)


        user_id = self.read_secure_cookie('user_id')
        author_id = post.author.key().id()
        edit = False

        #check if logged in user is the author of the post
        #if the user is the author he can edit and/or delete the post
        if user_id:
            if (long(user_id) == author_id):
              edit = True



        #number of likes
        post = Post.by_id(post_id)
        likes = Like.all().filter('post =', post).count()

        self.render("permalink.html", post = post, comments = comments, edit = edit, likes = likes)
Esempio n. 3
0
 def get(self, post_id):
     if self.user:
         postid = int(post_id)
         blog = Post.by_id(postid)
         title = blog.subject
         self.render_front(title=title)
     else:
         self.redirect('/login')
Esempio n. 4
0
 def post(self):
     blogid = self.request.get_all('delete-post')
     for bid in blogid:
         postid = int(bid)
         b = Post.by_id(postid)
         if b.author == self.user.name:
             b.delete()
         else:
             error = "You can only delete blogs you created!"
             self.render("delete-post.html", error=error)
     self.redirect('/welcome')
Esempio n. 5
0
 def get(self, post_id):
     if self.user:
         postid = int(post_id)
         blog = Post.by_id(postid)
         if blog.author != self.user.name:
             error = ""
             self.render("like-post.html", blog=blog, error=error)
         else:
             error = "You cannot Like/Unlike your own posts!"
             self.render("like-post.html", blog=blog, error=error)
     else:
         self.redirect('/login')
Esempio n. 6
0
    def get(self, post_id):
        post_key = db.Key.from_path('Post', int(post_id))
        post = db.get(post_key)

        #Check if user is logged in
        if self.user:

            user_id = self.read_secure_cookie('user_id')
            author_id = post.author.key().id()

            u = self.user.name

            #check if user has permission to like this post
            if long(user_id) != author_id:

                user = User.by_name(u)
                user_key = self.user.key()
                post = Post.by_id(post_id)

                likes = Like.all().filter('post =', post)

                #Check if user has already liked this post
                hasLiked = False
                for l in likes:
                    if l.user.key() == user_key:
                        hasLiked = True

                if not hasLiked:

                    like = Like(user=user, post=post)
                    like.put()

                    count = Like.all().filter('post =', post).count()
                    #count += 1
                    self.render("like.html", like=like, count=count, post=post)
                else:
                    count = Like.all().filter('post =', post).count()
                    page_error = "You have already liked this post"
                    self.render("like.html",
                                count=count,
                                page_error=page_error,
                                post=post)

            else:
                page_error = 'You can not like your own posts'
                self.render('like.html', page_error=page_error, post=post)

        else:
            error = 'please login'
            self.render('login-form.html', error=error, post=post)
Esempio n. 7
0
 def post(self, post_id):
     postid = int(post_id)
     blog = Post.by_id(postid)
     error = ""
     if self.user.name != blog.author:
         if self.user.name in blog.likes_post:
             error = "You have already Liked this Post!"
             self.render("like-post.html", blog=blog, error=error)
         elif self.user.name in blog.dislikes_post:
             error = "You have already Un-Liked this Post!"
             self.render("like-post.html", blog=blog, error=error)
         else:
             blog.likes_post.append(self.user.name)
             blog.put()
             self.redirect('/welcome')
Esempio n. 8
0
 def get(self, post_id):
     if self.user:
         postid = int(post_id)
         blog = Post.by_id(postid)
         if not blog:
             self.error(404)
             return
         username = self.user.name
         if blog.author == username:
             self.render_front(blog.subject, blog.content)
         else:
             error = "You can only blogs created by you!"
             self.render_front(error=error)
     else:
         self.redirect('/login')
Esempio n. 9
0
 def post(self, post_id):
     if self.user:
         content = self.request.get('content')
         postid = int(post_id)
         blog = Post.by_id(postid)
         title = blog.subject
         if content:
             comment = Comment(title=title, content=content,
                               created_by=self.user.name, post_id=postid)
             comment.put()
             self.redirect('/comment')
         else:
             error = "We need some content for the comment"
             self.render_front(title, content, error)
     else:
         self.redirect('/login')
Esempio n. 10
0
 def post(self, post_id):
     subject = self.request.get('subject')
     content = self.request.get('content')
     if subject and content:
         postid = int(post_id)
         b = Post.by_id(postid)
         if b.author == self.user.name:
             b.subject = subject
             b.content = content
             b.author = self.user.name
             b.put()
             self.redirect('/blog/%s' % str(b.key().id()))
         else:
             error = "You can only edit blogs created by you"
             self.render_front(error=error)
     else:
         error = "We need both a subject and some content"
         self.render_front(subject, content, error)