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 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_add(): data = request.form form = ArticleForm(data) if form.validate(): # 先添加产品信息 article_data = Crud.add(Article,data) if article_data: # 如果有标签信息,根据产品的id和标签ID保存关联的标签数据 if data['tags']: tags = data['tags'].split(',') tag_data = [TagRelation( tag_type = 2, relation_id = article_data.id, tag_id =v ) for v in tags] Crud.add_all(tag_data) op_log("添加文章-%s" % article_data.title) return {"code": 1, "msg": "添加成功"} return {"code": 0, "msg": '添加失败,系统错误'} return {"code": 0, "msg": form.get_errors()}
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':'角色设置成功' }
def reptile_export(): data = request.form #查询全部要到出的数据 reptile_ids = data['reptile_id'].split(',') reptile_data = Crud.search_data(ReptileList, ReptileList.id.in_(reptile_ids)) #导入到产品 add_data = [] if int(data['type']) == 1: #批量新增 for v in reptile_data: product = Product( title=v.content_name, cover=v.content_img, pictures=v.content_img, info=v.content_info, content=v.content_main, category_id=data['id'], ) add_data.append(product) #导入到文章 elif int(data['type']) == 2: #批量新增 for v in reptile_data: product = Article( title=v.content_name, cover=v.content_img, info=v.content_info, content=v.content_main, category_id=data['id'], ) add_data.append(product) result = Crud.add_all(add_data) if result: return {"code": 1, "msg": '导入数据到栏目完成'} return {"code": 0, "msg": '导入数据到栏目失败'}