Exemple #1
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()}
Exemple #2
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='权限设置失败,请重试...')
Exemple #3
0
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()}
Exemple #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':'角色设置成功'
             }
Exemple #5
0
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": '导入数据到栏目失败'}