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)
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)
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)
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))
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)
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))
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())
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))