Exemplo n.º 1
0
 def post(self):
     # Get action
     action = self.request.get('action')
     if action and action == 'Save':
         subject = self.request.get('subject')
         content = self.request.get('content')
         # Error checking on input
         if subject and content:
             # Create new Blog Post
             b = BlogPost(author=self.user,
                          subject=subject,
                          content=content)
             b.put()
             # Redirect to permalink page
             blog_id = b.key().id()
             self.redirect('/blog/%d' % blog_id)
         else:
             # Error, so return to form
             error = "Please enter subject and content"
             self.render('form.html',
                         subject=subject,
                         content=content,
                         error=error)
     else:
         # Cancel the post and redirect to welcome page
         self.redirect('/blog/welcome')
Exemplo n.º 2
0
 def post(self, blog_id):
     # Get post from id
     blog_post = BlogPost.get_by_id(int(blog_id))
     # Get action
     action = self.request.get('action')
     if action and action == 'Save':
         # get comment text
         cmt_text = self.request.get('comment')
         if cmt_text:
             # Create new Comment object
             c = Comment(blog_post=blog_post,
                         author=self.user,
                         text=cmt_text)
             c.put()
             # Add comment to blog_post
             cid = c.key().id()
             blog_post.add_comment(cid)
             blog_post.put()
             # Redirect to permalink page
             self.redirect('/blog/%d' % int(blog_id))
         else:
             # Error, so return to form
             error = "Please enter a comment"
             self.render('comment.html', entry=blog_post, error=error)
     else:
         # Cancel the edit and redirect to permalink page
         self.redirect('/blog/%d' % int(blog_id))
Exemplo n.º 3
0
 def get(self, blog_id):
     # get blog entry
     entry = BlogPost.get_by_id(int(blog_id))
     # get user id
     uid = self.user and self.user.key().id()
     # Check if this user is allowed to like this post
     if entry.valid_author(self.user):
         error = "Authors aren't permitted to like their own posts"
         comments = Comment.get_comments(entry.comments)
         self.render('permalink.html',
                     entry=entry,
                     comments=comments,
                     error=error)
     elif entry.user_already_liked(uid):
         error = "Users are only permitted to like a post once"
         comments = Comment.get_comments(entry.comments)
         self.render('permalink.html',
                     entry=entry,
                     comments=comments,
                     error=error)
     else:
         # like the post
         entry.add_like(uid)
         entry.put()
         self.redirect('/blog/%d' % int(blog_id))
Exemplo n.º 4
0
 def post(self, blog_id):
     # Get post from id
     blog_post = BlogPost.get_by_id(int(blog_id))
     # Get comment from id
     cid = self.request.get('cid')
     cmt = self.get_valid_comment(cid)
     # Get action
     action = self.request.get('action')
     if action and action == 'Save':
         # get new comment
         cmt_text = self.request.get('comment')
         if cmt_text:
             # Udpate comment with new content
             cmt.update_text(cmt_text)
             cmt.put()
             # Redirect to permalink page
             self.redirect('/blog/%d' % int(blog_id))
         else:
             # Error, so return to form
             error = "Please enter a comment"
             self.render('comment.html', entry=blog_post,
                 error=error)
     else:
         # Cancel the edit and redirect to permalink page
         self.redirect('/blog/%d' % int(blog_id))
Exemplo n.º 5
0
 def post(self):
     # Get post from id
     blog_id = self.get_post_id()
     blog_post = BlogPost.get_by_id(blog_id)
     # Get action
     action = self.request.get('action')
     if action and action == 'Save':
         # Update content
         subject = self.request.get('subject')
         content = self.request.get('content')
         # Error checking on input
         if subject and content:
             # Update existing Blog Post
             blog_post.update_post_content(subject, content)
             blog_post.put()
             # Redirect to permalink page
             self.redirect('/blog/%d' % blog_id)
         else:
             # Error, so return to form
             error = "Please enter subject and content"
             self.render('form.html',
                         subject=subject,
                         content=content,
                         error=error)
     else:
         # Cancel the edit and redirect to permalink page
         self.redirect('/blog/%d' % blog_id)
Exemplo n.º 6
0
 def get(self):
     # Get post from id
     blog_id = self.get_post_id()
     blog_post = BlogPost.get_by_id(blog_id)
     # render the form with the old content inserted
     subject = blog_post.subject
     content = blog_post.content
     self.render('form.html', subject=subject, content=content)
Exemplo n.º 7
0
 def get(self, blog_id):
     # Get post from id
     blog_post = BlogPost.get_by_id(int(blog_id))
     # Get comment from id
     cid = self.request.get('cid')
     cmt = self.get_valid_comment(cid)
     # Render comment form with previous content filled in
     self.render('comment.html', entry=blog_post,
                     comment=cmt.text)
Exemplo n.º 8
0
 def get(self):
     # Get post from id
     blog_id = self.get_post_id()
     blog_post = BlogPost.get_by_id(blog_id)
     # Delete all comments associated with this post
     Comment.delete_comments(blog_post.comments)
     # Delete the post
     blog_post.delete()
     self.redirect('/blog/welcome')
Exemplo n.º 9
0
 def get(self):
     # if user is logged in
     if self.user:
         # Look up blog posts for this user
         entries = BlogPost.all().filter('author =',
                                         self.user).order('-created')
         self.render('welcome.html',
                     username=self.user.name,
                     entries=entries)
     else:
         self.redirect('/blog/signup')
Exemplo n.º 10
0
 def get(self, blog_id):
     # Get post from id
     blog_post = BlogPost.get_by_id(int(blog_id))
     # Get comment from id
     cid = self.request.get('cid')
     cmt = self.get_valid_comment(cid)
     # remove comment from blog
     blog_post.delete_comment(int(cid))
     blog_post.put()
     # Delete comment
     cmt.delete()
     # redirect to permalink page
     self.redirect('/blog/%d' % int(blog_id))
Exemplo n.º 11
0
 def get(self, blog_id):
     # Get post from id
     blog_post = BlogPost.get_by_id(int(blog_id))
     self.render('comment.html', entry=blog_post)
Exemplo n.º 12
0
 def get(self, blog_id):
     entry = BlogPost.get_by_id(int(blog_id))
     comments = Comment.get_comments(entry.comments)
     self.render('permalink.html', entry=entry, comments=comments)