Esempio n. 1
0
 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='权限设置失败,请重试...')
Esempio n. 2
0
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()}
Esempio n. 3
0
 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='删除失败,请重试')
Esempio n. 4
0
 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':'角色设置成功'
             }