示例#1
0
 def POST(self):
     import json
     json_dict = {'success':0, 'msg':'', 'script':''}
     comment_id = web.input(comment_id=None)['comment_id']
     comment = comment_model().get_one({'id':comment_id})
     if comment_id and comment:
         if session.user_id is None:
             post = post_model().get_one({'id':comment.post_id})
             json_dict['msg'] = '你要先登录的亲'
             json_dict['script'] = 'location.href=\'/login?next=/post/'+str(post.id)+'#reply-'+str(comment_id)+'\''
         elif comment.user_id != session.user_id:
             comment_thanks_id = comment_thanks_model().unique_insert({'user_id':session.user_id, 'comment_id':comment_id})
             if comment_thanks_id:
                 comment_thanks_model().update({'id':comment_thanks_id}, {'time':int(time.time())})
                 cost = money_model().cal_thanks()
                 money_type_id = money_type_model().get_one({'name':'comment_thanks'})['id']
                 money_model().insert({'user_id':session.user_id, 'money_type_id':money_type_id, 'amount':-cost, 'balance':user_model().update_money(session.user_id, -cost), 'foreign_id':comment_thanks_id})
                 money_model().insert({'user_id':comment.user_id, 'money_type_id':money_type_id, 'amount':cost, 'foreign_id':comment_thanks_id, 'balance':user_model().update_money(comment.user_id, cost)})
                 comment_model().count_thanks(comment_id)
                 user_model().update_session(session.user_id)
                 json_dict['success'] = 1
             else:
                 json_dict['msg'] = '你已经感谢过了不是吗?'
         else:
             json_dict['msg'] = '你不能感谢你自己不是吗?'
     else:
         json_dict['message'] = '评论不存在'
     return json.dumps(json_dict)
示例#2
0
 def POST(self, post_id):
     if session.user_id is None:
         raise web.SeeOther('/login')
     post = post_model().get_one({'id': post_id})
     if post is not None:
         if not self.form.validates():
             raise web.SeeOther('/post/' + post_id)
         else:
             user_model().update_session(session.user_id)
             length, cost = money_model().cal_comment(self.form.d.content)
             if session.money < cost:
                 self.crumb.append('财富不够')
                 return render.no_money('财富不够', '你的财富值不够,不能创建改主题 :(',
                                        self.crumb.output())
             content = html2db(self.form.d.content)
             create_time = time.time()
             comment_id = comment_model().insert({
                 'user_id': session.user_id,
                 'post_id': post_id,
                 'content': content,
                 'time': create_time
             })
             money_type_id = money_type_model().get_one({'name':
                                                         'comment'})['id']
             money_model().insert({
                 'user_id':
                 session.user_id,
                 'money_type_id':
                 money_type_id,
                 'amount':
                 -cost,
                 'length':
                 length,
                 'balance':
                 user_model().update_money(session.user_id, -cost),
                 'foreign_id':
                 comment_id
             })
             if session.user_id != post.user_id:
                 money_model().insert({
                     'user_id':
                     post.user_id,
                     'money_type_id':
                     money_type_id,
                     'amount':
                     cost,
                     'length':
                     length,
                     'foreign_id':
                     comment_id,
                     'balance':
                     user_model().update_money(post.user_id, cost)
                 })
             user_model().update_session(session.user_id)
             post_model().update({'id': post_id},
                                 {'last_update': create_time})
             post_model().count_comment(post_id)
             raise web.SeeOther('/post/' + post_id)
     else:
         raise web.SeeOther('/post/' + post_id)
示例#3
0
 def POST(self, post_id):
     if session.user_id is None:
         raise web.SeeOther('/login')
     post = post_model().get_one({'id':post_id})
     if post is not None:
         if not self.form.validates():
             raise web.SeeOther('/post/' + post_id)
         else:
             user_model().update_session(session.user_id)
             length, cost = money_model().cal_comment(self.form.d.content)
             if session.money < cost:
                 self.crumb.append('财富不够')
                 return render.no_money('财富不够', '你的财富值不够,不能创建改主题 :(', self.crumb.output())
             content = html2db(self.form.d.content)
             content, receiver_list = notify_model().convert_content(content)
             create_time = time.time()
             comment_id = comment_model().insert({'user_id' : session.user_id, 'post_id' : post_id, 'content' : content, 'time' : create_time})
             money_type_id = money_type_model().get_one({'name':'comment'})['id']
             money_model().insert({'user_id':session.user_id, 'money_type_id':money_type_id, 'amount':-cost, 'length':length, 'balance':user_model().update_money(session.user_id, -cost), 'foreign_id':comment_id})
             if session.user_id != post.user_id:
                 money_model().insert({'user_id':post.user_id, 'money_type_id':money_type_id, 'amount':cost, 'length':length, 'foreign_id':comment_id, 'balance':user_model().update_money(post.user_id, cost)})
                 # notify
                 notify_model().insert({'user_id':session.user_id, 'receiver':post.user_id, 'type_id':notify_type_model().get_one({'name':'comment'}).id, 'foreign_id':comment_id})
             # notify
             receiver_list = list_diff(receiver_list, [session.name, user_model().get_one({'id':post.user_id}).name])
             notify_model().insert_notify(session.user_id, receiver_list, 'comment_at', comment_id)
             user_model().update_session(session.user_id)
             post_model().update({'id':post_id}, {'last_update':create_time})
             post_model().count_comment(post_id)
             raise web.SeeOther('/post/' + post_id)
     else:
          raise web.SeeOther('/post/' + post_id)
示例#4
0
文件: post.py 项目: Aimsam/post_bar
 def POST(self, node_name):
     if session.user_id is None:
         raise web.SeeOther('/login?next=/post/create' + node_name)
     conditions = {'name' : node_name}
     node = node_model().get_one(conditions)
     if node is None:
         return render.not_found('节点未找到', '节点未找到')
     if not self.form.validates():
         return render.create_post(self.form, '创建失败, 请重创:D', self.crumb.output())
     user_model().update_session(session.user_id)
     length, cost = money_model().cal_post(self.form.d.content)
     if session.money < cost:
         self.crumb.append('财富不够')
         return render.no_money('财富不够', '你的财富值不够,不能创建改主题 :(', self.crumb.output())
     title = strip_tags(self.form.d.title)
     content = html2db(self.form.d.content)
     content, receiver_list = notify_model().convert_content(content)
     create_time = time.time()
     post_id = post_model().insert({'title' : title, 'content' : content, 'node_id' : node.id, 'time' : create_time, 'last_update':create_time, 'user_id' : session.user_id})
     # money
     money_type_id = money_type_model().get_one({'name':'post'})['id']
     money_model().insert({'user_id':session.user_id, 'money_type_id':money_type_id, 'amount':-cost, 'length':length, 'balance':user_model().update_money(session.user_id, -cost), 'foreign_id':post_id})
     # notify
     receiver_list = list_diff(receiver_list, [session.name])
     notify_model().insert_notify(session.user_id, receiver_list, 'post_at', post_id)
     user_model().update_session(session.user_id)
     raise web.seeother('/post/' + str(post_id))
示例#5
0
 def POST(self):
     import json
     json_dict = {'success':0, 'msg':'', 'script':''}
     post_id = web.input(post_id=None)['post_id']
     post = post_model().get_one({'id':post_id})
     if post_id and post:
         if session.user_id is None:
             json_dict['msg'] = '你要先登录的亲'
             json_dict['script'] = 'location.href=\'/login?next=/post/'+post.id+'\''
         elif post.user_id != session.user_id:
             post_thanks_id = post_thanks_model().unique_insert({'user_id':session.user_id, 'post_id':post_id})
             if post_thanks_id:
                 post_thanks_model().update({'id':post_thanks_id}, {'time':int(time.time())})
                 cost = money_model().cal_thanks()
                 money_type_id = money_type_model().get_one({'name':'post_thanks'})['id']
                 money_model().insert({'user_id':session.user_id, 'money_type_id':money_type_id, 'amount':-cost, 'balance':user_model().update_money(session.user_id, -cost), 'foreign_id':post_thanks_id})
                 money_model().insert({'user_id':post.user_id, 'money_type_id':money_type_id, 'amount':cost, 'foreign_id':post_thanks_id, 'balance':user_model().update_money(post.user_id, cost)})
                 post_model().count_thanks(post_id)
                 user_model().update_session(session.user_id)
                 json_dict['success'] = 1
             else:
                 json_dict['msg'] = '你已经感谢过了不是吗?'
         else:
             json_dict['msg'] = '你不能感谢你自己不是吗?'
     else:
         json_dict['message'] = '评论不存在'
     return json.dumps(json_dict)
示例#6
0
 def POST(self, post_id):
     if session.user_id is None:
         raise web.SeeOther('/login?next=/edit/post/' + post_id)
     conditions = {'id': int(post_id)}
     post = post_model().get_one(conditions)
     if post is None:
         return render.not_found('节点未找到', '节点未找到')
     if not self.form.validates():
         return render.create_post(self.form, '创建失败, 请重创:D',
                                   self.crumb.output())
     user_model().update_session(session.user_id)
     length, cost = money_model().cal_post(self.form.d.content)
     if session.money < cost:
         self.crumb.append('财富不够')
         return render.no_money('财富不够', '你的财富值不够,不能创建改主题 :(',
                                self.crumb.output())
     title = strip_tags(self.form.d.title)
     content = html2db(self.form.d.content)
     content, receiver_list = notify_model().convert_content(content)
     create_time = time.time()
     post_model().update({'id': int(post_id)}, {
         'title': title,
         'content': content,
         'node_id': post.node_id,
         'time': create_time,
         'last_update': create_time,
         'user_id': session.user_id
     })
     # money
     money_type_id = money_type_model().get_one({'name': 'post'})['id']
     money_model().insert({
         'user_id':
         session.user_id,
         'money_type_id':
         money_type_id,
         'amount':
         -cost,
         'length':
         length,
         'balance':
         user_model().update_money(session.user_id, -cost),
         'foreign_id':
         post_id
     })
     # notify
     receiver_list = list_diff(receiver_list, [session.name])
     notify_model().insert_notify(session.user_id, receiver_list, 'post_at',
                                  post_id)
     user_model().update_session(session.user_id)
     raise web.seeother('/post/' + str(post_id))
示例#7
0
 def GET(self):
     limit = 20
     total = money_model().count_table({'user_id':session.user_id})
     pagination = Pagination('/balance', total, limit = limit)
     page = pagination.true_page(web.input(p=1)['p'])
     records_result = money_model().get_all({'user_id':session.user_id}, limit = limit, offset = (page-1)*limit, order = 'id DESC')
     money_types_result = money_type_model().get_all()
     money_type = {}
     for money_type_result in money_types_result:
         money_type[money_type_result.id] = money_type_result.name
     records = []
     for record_result in records_result:
         # 发布的帖子或者是评论的帖子
         post = None
         # 发布或者收到的评论
         post_user = None
         post_thanks = None
         comment_thanks = None
         sender = None
         comment = None
         # 评论的用户
         comment_user = None
         try:
             type = money_type[record_result.money_type_id]
             if type == 'post':
                 post = post_model().get_one({'id':record_result.foreign_id})
             if type == 'comment':
                 comment = comment_model().get_one({'id':record_result.foreign_id})
                 comment_user = user_model().get_one({'id':comment.user_id})
                 post = post_model().get_one({'id':comment.post_id})
             if type == 'post_thanks':
                 post_thanks = post_thanks_model().get_one({'id':record_result.foreign_id})
                 post = post_model().get_one({'id':post_thanks.post_id})
                 sender = user_model().get_one({'id':post_thanks.user_id})
                 post_user = user_model().get_one({'id':post.user_id})
             if type == 'comment_thanks':
                 comment_thanks = comment_thanks_model().get_one({'id':record_result.foreign_id})
                 comment = comment_model().get_one({'id':comment_thanks.comment_id})
                 post = post_model().get_one({'id':comment.post_id})
                 comment_user = user_model().get_one({'id':comment.user_id})
                 sender = user_model().get_one({'id':comment_thanks.user_id})
         # 如果数据错误将不把这条记录输出到视图
         except AttributeError:
             continue
         else:
             record = {'record':record_result, 'type':type, 'comment':comment, 'post':post, 'post_user':post_user, 'sender':sender, 'comment_user':comment_user, 'post_thanks':post_thanks, 'comment_thanks':comment_thanks}
             records.append(record)
     self.crumb.append('账户余额')
     return render.money_record('账户余额', records, self.crumb.output(), pagination.output())
示例#8
0
 def POST(self, node_name):
     if session.user_id is None:
         raise web.SeeOther('/login?next=/post/create' + node_name)
     conditions = {'name' : node_name}
     node = node_model().get_one(conditions)
     if node is None:
         return render.not_found('节点未找到', '节点未找到')
     if not self.form.validates():
         return render.create_post(self.form, '创建失败, 请重创:D', self.crumb.output())
     user_model().update_session(session.user_id)
     length, cost = money_model().cal_post(self.form.d.content)
     if session.money < cost:
         self.crumb.append('财富不够')
         return render.no_money('财富不够', '你的财富值不够,不能创建改主题 :(', self.crumb.output())
     title = html2db(self.form.d.title)
     content = html2db(self.form.d.content)
     create_time = time.time()
     post_id = post_model().insert({'title' : title, 'content' : content, 'node_id' : node.id, 'time' : create_time, 'last_update':create_time, 'user_id' : session.user_id})
     money_type_id = money_type_model().get_one({'name':'post'})['id']
     money_model().insert({'user_id':session.user_id, 'money_type_id':money_type_id, 'amount':-cost, 'length':length, 'balance':user_model().update_money(session.user_id, -cost), 'foreign_id':post_id})
     
     user_model().update_session(session.user_id)
     raise web.seeother('/post/' + str(post_id))