async def change_nickname(self): u = self.current_user if not u: return self.finish(RETCODE.PERMISSION_DENIED) post = await self.post_data() form = NicknameForm(**post) if not form.validate(): return self.finish(RETCODE.INVALID_POSTDATA, form.errors) if u.change_nickname_chance > 0: try: old_nickname = u.nickname u.nickname = form['nickname'].data u.change_nickname_chance -= 1 u.is_new_user = False u.save() self.finish( RETCODE.SUCCESS, { 'nickname': u.nickname, 'change_nickname_chance': u.change_nickname_chance }) ManageLog.add_by_post_changed(self, 'nickname', MOP.USER_NICKNAME_CHANGE, POST_TYPES.USER, True, {'nickname': old_nickname}, u, value=None) return except peewee.DatabaseError: db.rollback() self.finish(RETCODE.FAILED)
def after_update(self, raw_post: Dict, values: SQLValuesToWrite, old_records: List[DataRecord], records: List[DataRecord]): for old_record, record in zip(old_records, records): # 管理日志:修改评论状态 ManageLog.add_by_post_changed(self, 'state', MOP.COMMENT_STATE_CHANGE, POST_TYPES.COMMENT, values, old_record, record)
def after_update(self, raw_post: Dict, values: SQLValuesToWrite, old_records: List[DataRecord], records: List[DataRecord]): for old_record, record in zip(old_records, records): # 管理日志:重置访问令牌 ManageLog.add_by_post_changed(self, 'key', MOP.USER_KEY_RESET, POST_TYPES.USER, values, old_record, record, value=None) # 管理日志:重置密码 ManageLog.add_by_post_changed(self, 'password', MOP.USER_PASSWORD_CHANGE, POST_TYPES.USER, values, old_record, record, value=None)
def after_update(self, raw_post: Dict, values: SQLValuesToWrite, old_records: List[DataRecord], records: List[DataRecord]): for old_record, record in zip(old_records, records): if 'content' in values: # 管理日志:正文编辑 ManageLog.new(self.current_user, self.current_role, POST_TYPES.TOPIC, record['id'], record['user_id'], MOP.TOPIC_CONTENT_CHANGE, None) Topic.update(edit_count=Topic.edit_count + 1).where(Topic.id == record['id']).execute() if 'title' in values: # 管理日志:标题编辑 ManageLog.new(self.current_user, self.current_role, POST_TYPES.TOPIC, record['id'], record['user_id'], MOP.TOPIC_TITLE_CHANGE, None) # 管理日志:改变状态 ManageLog.add_by_post_changed(self, 'state', MOP.POST_STATE_CHANGE, POST_TYPES.TOPIC, values, old_record, record) # 管理日志:改变可见度 ManageLog.add_by_post_changed(self, 'visible', MOP.POST_VISIBLE_CHANGE, POST_TYPES.TOPIC, values, old_record, record) # 管理日志:移动板块 if ManageLog.add_by_post_changed(self, 'board_id', MOP.TOPIC_BOARD_MOVE, POST_TYPES.TOPIC, values, old_record, record): statistic_move_topic(old_record['board_id'], record['board_id'], record['id']) # 管理日志:设置精华 ManageLog.add_by_post_changed(self, 'awesome', MOP.TOPIC_AWESOME_CHANGE, POST_TYPES.TOPIC, values, old_record, record) # 管理日志:置顶权重 ManageLog.add_by_post_changed(self, 'sticky_weight', MOP.TOPIC_STICKY_WEIGHT_CHANGE, POST_TYPES.TOPIC, values, old_record, record) # 管理日志:修改权重 ManageLog.add_by_post_changed(self, 'weight', MOP.TOPIC_WEIGHT_CHANGE, POST_TYPES.TOPIC, values, old_record, record)