Ejemplo n.º 1
0
 def post(self, *args, **kwargs):
     json_data = get_cleaned_json_data(self, ['opt', 'data'])
     data = json_data['data']
     opt = json_data['opt']
     # 支持某个回复
     if opt == 'support-postreply':
         try:
             postreply = PostReply.get(PostReply.id == data['postreply'])
         except:
             self.write(json_result(1, '请输入正确的回复'))
             return
         postreply.up_like()
         self.write(json_result(0, 'success'))
     # 收藏该主题
     elif opt == 'collect-post':
         try:
             post = Post.get(Post.id == data['post'])
         except:
             self.write(json_result(1, '请输入正确的Post'))
             return
         CollectPost.create(post=post, user=self.current_user)
         self.write(json_result(0, 'success'))
     # 取消收藏该主题
     elif opt == 'cancle-collect-post':
         try:
             post = Post.get(Post.id == data['post'])
         except:
             self.write(json_result(1, 'CollectPost不正确'))
             return
         collectpost = CollectPost.get(post=post, user=self.current_user)
         collectpost.delete_instance()
         self.write(json_result(0, 'success'))
     else:
         self.write(json_result(1, 'opt不支持'))
Ejemplo n.º 2
0
    def post(self, *args, **kwargs):
        post_data = get_cleaned_post_data(self, ['post', 'title', 'content', 'topic'])
        try:
            post = Post.get(Post.id == post_data['post'], Post.is_delete == False)
        except Post.DoesNotExist:
            self.write(json_result(1, '请选择正确主题'))
            return

        if not post.check_auth(self.current_user):
            self.redirect404_json()
            return

        try:
            topic = PostTopic.get(PostTopic.str == post_data['topic'])
        except PostTopic.DoesNotExist:
            self.write(json_result(1, '请选择正确主题'))
            return

        post.topic = topic
        post.title = post_data['title']
        post.content = post_data['content']
        post.save()

        # 添加通知, 通知给其他关注的用户
        Notification.new_post(post)
        self.write(json_result(0, {'post_id': post.id}))
Ejemplo n.º 3
0
 def get(self, post_id, *args, **kwargs):
     post = Post.get(Post.id == post_id)
     post.up_visit()
     post_detail = post
     post_replys = PostReply.list_all(post)
     self.render('post/post_detail.html',
                 post_detail=post_detail,
                 post_replys=post_replys,
                 is_collect=CollectPost.is_collect(post, self.current_user),
                 hot_post_cache=hot_post_cache,
                 topic_category_cache=topic_category_cache)
Ejemplo n.º 4
0
 def post(self, *args, **kwargs):
     post_data = get_cleaned_post_data(self, ['post', 'content'])
     try:
         post = Post.get(Post.id == post_data['post'], Post.is_delete == False)
     except PostTopic.DoesNotExist:
         self.write(json_result(1, '请选择正确post'))
         return
     postreply = PostReply.create(
         post=post,
         user=self.current_user,
         content=post_data['content'],
     )
     post.update_latest_reply(postreply)
     Notification.new_reply(postreply, post)
     self.write(json_result(0, {'post_id': post.id}))