예제 #1
0
파일: post.py 프로젝트: JackRamey/LaserPony
 def handle_request(self):
     user = current_user._get_current_object();
     if not user.is_author():
         return redirect(url_for('index'))
     if request.method == 'POST':
         title = request.form['title']
         slug = request.form['slug']
         body = request.form['body']
         author = user
         newPost = Post(title=title, slug=slug, body=body, author=author)
         if user.is_author():
             newPost.save()
         return redirect(url_for('posts'))
     else:
         return render_template('post_create_edit.html', post=None, **self.context)
예제 #2
0
파일: post.py 프로젝트: JackRamey/LaserPony
 def handle_request(self, post_id):
     if not current_user.is_author():
         return redirect(url_for('index'))
     post = Post.objects(id=ObjectId(post_id)).first()
     if request.method == 'POST':
         post.title = request.form['title']
         post.slug = request.form['slug']
         post.body = request.form['body']
         post.save()
         return redirect(url_for('post', slug=post.slug))
     else:
         return render_template('post_create_edit.html', post=post, **self.context)
예제 #3
0
파일: post.py 프로젝트: JackRamey/LaserPony
 def handle_request(self, post_id):
     post = Post.objects(id=ObjectId(post_id)).first()
     if current_user.is_admin():
         if request.method == 'POST':
             delete_text = request.form['delete-text']
             print(delete_text)
             if delete_text == 'DELETE':
                 post.delete()
                 return redirect(url_for('posts'))
             else:
                 error = "Confirmation text was not correct."
                 return render_template('post_delete.html', post=post, error=error, **self.context)
         else:
             return render_template('post_delete.html', post=post, **self.context)
     else:
         return redirect(url_for('posts'))
예제 #4
0
 def postCount(self):
     #Import here to prevent circular imports
     from laserpony.models.post import Post
     posts = Post.objects(project=self)
     return len(posts)
예제 #5
0
 def handle_request(self, slug):
     project = Project.objects.get_or_404(slug=slug)
     posts = Post.objects(project=project).order_by('-created_at').all()
     return render_template('project.html',project=project,posts=posts, **self.context)