def post(self): page = int(self.get_argument('page', 1)) category = self.get_argument('category', 'index') topic_id = int(self.get_argument('topic_id', 0)) topic = Topic.get(id=topic_id) if not topic_id: result = {'status': 'error', 'message': '无此主题,不能创建评论'} if self.is_ajax: return self.write(result) else: self.flash_message(**result) return self.redirect_next_url() user = self.current_user form = ReplyForm(self.request.arguments) if form.validate(): reply = form.save(user=user, topic=topic) reply.put_notifier() result = { 'status': 'success', 'message': '评论创建成功', 'content': reply.content, 'name': reply.author.name, 'nickname': reply.author.nickname, 'author_avatar': reply.author.get_avatar(size=48), 'author_url': reply.author.url, 'author_name': reply.author.name, 'author_nickname': reply.author.nickname, 'reply_url': reply.url, 'created': reply.created, 'id': reply.id, 'floor': reply.floor } if self.is_ajax: return self.write(result) self.flash_message(**result) return self.redirect(topic.url) reply_count = topic.reply_count page_count = (reply_count + config.reply_paged - 1) // config.reply_paged replies = topic.get_replies(page=page, category=category) data = dict(form=form, topic=topic, replies=replies, category=category, page=page, page_count=page_count, url=topic.url) return self.send_result_and_render(form.result, "topic/index.html", data)
def post(self, reply_id): reply = Reply.get(id=reply_id) if not reply or (reply.author != self.current_user and not self.current_user.is_admin): return self.redirect_next_url() user = self.current_user form = ReplyForm(self.request.arguments) if form.validate(): reply = form.save(user=user, topic=reply.topic, reply=reply) reply.put_notifier() result = {'status': 'success', 'message': '评论修改成功', 'reply_url': reply.url} return self.send_result(result, reply.url) data = dict(form=form, reply=reply) return self.send_result_and_render(form.result, "reply/edit.html", data)
def post(self, reply_id): reply = Reply.get(id=reply_id) if not reply or (reply.author != self.current_user and not self.current_user.is_admin): return self.redirect_next_url() user = self.current_user form = ReplyForm(self.request.arguments) if form.validate(): reply = form.save(user=user, topic=reply.topic, reply=reply) reply.put_notifier() result = { 'status': 'success', 'message': '评论修改成功', 'reply_url': reply.url } return self.send_result(result, reply.url) data = dict(form=form, reply=reply) return self.send_result_and_render(form.result, "reply/edit.html", data)
def post(self): page = int(self.get_argument('page', 1)) category = self.get_argument('category', 'index') topic_id = int(self.get_argument('topic_id', 0)) topic = Topic.get(id=topic_id) if not topic_id: result = {'status': 'error', 'message': '无此主题,不能创建评论'} if self.is_ajax: return self.write(result) else: self.flash_message(**result) return self.redirect_next_url() user = self.current_user form = ReplyForm(self.request.arguments) if form.validate(): reply = form.save(user=user, topic=topic) reply.put_notifier() result = {'status': 'success', 'message': '评论创建成功', 'content': reply.content, 'name': reply.author.name, 'nickname': reply.author.nickname, 'author_avatar': reply.author.get_avatar(size=48), 'author_url': reply.author.url, 'author_name': reply.author.name, 'author_nickname': reply.author.nickname, 'reply_url': reply.url, 'created': reply.created, 'id': reply.id, 'floor': reply.floor} if self.is_ajax: return self.write(result) self.flash_message(**result) return self.redirect(topic.url) reply_count = topic.reply_count page_count = (reply_count + config.reply_paged - 1) // config.reply_paged replies = topic.get_replies(page=page, category=category) data = dict(form=form, topic=topic, replies=replies, category=category, page=page, page_count=page_count, url=topic.url) return self.send_result_and_render(form.result, "topic/index.html", data)