def edit(post_id=None, post=None, user=None): ''' Create or edit a post. ''' user = user or None post = post.get() if post else None if request.method == 'POST': post = post or BlogPost(parent=user.key) post.fill(**request.form.to_dict()) if not post.empty('subject', 'content'): try: key = post.put() return redirect(url_for('edit', post_id=post.uid)) except Exception as ex: print('post crud error', ex) return abort(500) return render_template('edit.html', page=None, user=user, post=post)
def post(self): """ make sure user is signed in before handling post request """ if not self.user: self.redirect("/login") else: subject = self.request.get('subject') content = self.request.get('content') if subject and content: post = BlogPost(subject=subject, content=content, user_id=self.user.key.id()) post.put() self.redirect('/blog/%s' % str(post.key.id())) else: error = "Please enter subject and content!" self.render("new-post.html", subject=subject, content=content, error=error, user=self.user)