add responding to thread
This commit is contained in:
		@@ -167,6 +167,12 @@ class Threads(Model):
 | 
			
		||||
        q = Posts.FULL_POSTS_QUERY + " WHERE posts.thread_id = ? ORDER BY posts.created_at ASC LIMIT ? OFFSET ?"
 | 
			
		||||
        return db.query(q, self.id, limit, offset)
 | 
			
		||||
 | 
			
		||||
    def locked(self):
 | 
			
		||||
        return bool(self.is_locked)
 | 
			
		||||
 | 
			
		||||
    def stickied(self):
 | 
			
		||||
        return bool(self.is_stickied)
 | 
			
		||||
 | 
			
		||||
class Posts(Model):
 | 
			
		||||
    FULL_POSTS_QUERY = """
 | 
			
		||||
        SELECT
 | 
			
		||||
 
 | 
			
		||||
@@ -52,6 +52,24 @@ def thread(slug):
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@bp.post("/<slug>")
 | 
			
		||||
@login_required
 | 
			
		||||
def reply(slug):
 | 
			
		||||
    thread = Threads.find({"slug": slug})
 | 
			
		||||
    if not thread:
 | 
			
		||||
        return "no"
 | 
			
		||||
    user = get_active_user()
 | 
			
		||||
    if user.is_guest():
 | 
			
		||||
        return "no"
 | 
			
		||||
    if thread.locked() and not user.is_mod():
 | 
			
		||||
        return "no"
 | 
			
		||||
 | 
			
		||||
    post_content = request.form['post_content']
 | 
			
		||||
    post = create_post(thread.id, user.id, post_content)
 | 
			
		||||
 | 
			
		||||
    return redirect(url_for(".thread", slug=slug, after=post.id, _anchor="latest-post"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@bp.get("/create")
 | 
			
		||||
@login_required
 | 
			
		||||
def create():
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user