def post(self): ''' 角色授权 ''' args = parse_rules.parse_args() id = args.get('id') if not id: abort(RET.BadRequest, msg='请勿非法操作') sing_data = getSingData(id) rules = json.loads(args.get('rules')) # 清空原来的rules old_data = RoleRule.query.filter_by(role_id=id).all() if old_data: Crud.clean_all(old_data) #没有设置任何权限点就清空后返回 if not rules: return {'status': RET.OK, 'msg': '权限设置成功'} # 新增新的权限 relation_data = [ RoleRule(role_id=sing_data.id, rule_id=v) for v in rules ] if Crud.add_all(relation_data): sing_data.last_editor = g.admin.username sing_data.updata() return {'status': RET.OK, 'msg': '权限设置成功'} abort(RET.BadRequest, msg='权限设置失败,请重试...')
def article_edit(): if request.method == 'GET': getdata = request.args data = Crud.get_data_by_id(Article, getdata["id"]) article_data = object_to_dict(data) #替换掉产品数据里面的TAGS tags = Crud.search_data(TagRelation,and_(TagRelation.relation_id==getdata["id"] , TagRelation.tag_type == 2),'create_time') if tags: article_data['tags'] = [v.tag_id for v in tags] return {"code": 1, "data": article_data} elif request.method == "PUT": data = request.form form = ArticleForm(data) if form.validate(): #移除已保存的tag tags = Crud.search_data(TagRelation,and_(TagRelation.relation_id==data["id"] , TagRelation.tag_type == 2),'create_time') if tags: del_tags = Crud.clean_all(tags) #保存修改后的信息 result = Crud.update(Article,data) # 如果有标签信息,根据产品的id和标签ID保存关联的标签数据 if data['tags']: tags = data['tags'].split(',') tag_data = [TagRelation( tag_type = 2, relation_id = data["id"], tag_id =v ) for v in tags] Crud.add_all(tag_data) if result: op_log("修改文章 #%s" % data["id"]) return {"code": 1, "msg": '修改成功'} return {"code": 0, "msg": '修改失败,系统错误'} return {"code": 0, "msg": form.get_errors()}
def delete(self): ''' 删除 ''' args = parse_id.parse_args() id = args.get('id') if not id: abort(RET.BadRequest, msg='请勿非法操作') sing_data = getSingData(id) sing_data.last_editor = g.admin.username result = sing_data.delete() # 清空原来的授权 _auth = RoleRule.query.filter_by(role_id=id).all() if _auth: Crud.clean_all(_auth) if result: return {'status': RET.OK, 'msg': '删除成功'} abort(RET.BadRequest, msg='删除失败,请重试')
def post(self): args_role = parse_role.parse_args() id = args_role.get('id') roles = json.loads(args_role.get('roles')) admin = get_admin(id) # 清空原来的roles old_data = AdminRole.query.filter_by(admin_id = admin.id ).all() if old_data : Crud.clean_all(old_data) # 如果有配置规则 if roles: admin_roles = [AdminRole( admin_id = admin.id, role_id =v ) for v in roles ] Crud.add_all(admin_roles) admin.last_editor = g.admin.username admin.updata() return { 'status':RET.OK, 'msg':'角色设置成功' }