Exemple #1
0
def list_server(req, db, context):
    if is_sys_admin_or_dept_admin(context):
        # 管理员可以看到部门下面所有机器
        servers = db.query(Server).filter(Server.dept.in_(context['dept_ids']),
                                          Server.deleted==0).all()
    else:
        # 普通用户只能看到属于自己的机器
        servers = db.query(Server).filter(Server.owner==context['user'].id,
                                          Server.deleted==0).all()
    return obj_array_to_json(servers, 'servers')
Exemple #2
0
def list_volume(req, db, context):
    if is_sys_admin_or_dept_admin(context):
        # 管理员可以看到部门下面所有云硬盘
        volumes = db.query(Volume).filter(Volume.dept.in_(context['dept_ids']),
                                          Volume.deleted==0).all()
    else:
        # 普通用户只能看到属于自己的云硬盘
        volumes = db.query(Volume).filter(Volume.owner==context['user'].id,
                                          Volume.deleted==0).all()
    return obj_array_to_json(volumes, 'volumes')
def list_snapshot(req, db, context):
    if is_sys_admin_or_dept_admin(context):
        # 管理员可以看到部门下面所有云硬盘
        snapshots = db.query(Snapshot).filter(Snapshot.dept.in_(context['dept_ids']),
                                          Snapshot.deleted==0).all()
    else:
        # 普通用户只能看到属于自己的云硬盘
        snapshots = db.query(Snapshot).filter(Snapshot.owner==context['user'].id,
                                          Snapshot.deleted==0).all()
    return obj_array_to_json(snapshots, 'snapshots')
Exemple #4
0
def list_volume(req, db, context):
    if is_sys_admin_or_dept_admin(context):
        # 管理员可以看到部门下面所有云硬盘
        volumes = db.query(Volume).filter(Volume.dept.in_(context['dept_ids']),
                                          Volume.deleted == 0).all()
    else:
        # 普通用户只能看到属于自己的云硬盘
        volumes = db.query(Volume).filter(Volume.owner == context['user'].id,
                                          Volume.deleted == 0).all()
    return obj_array_to_json(volumes, 'volumes')
Exemple #5
0
def list_server(req, db, context):
    if is_sys_admin_or_dept_admin(context):
        # 管理员可以看到部门下面所有机器
        servers = db.query(Server).filter(Server.dept.in_(context['dept_ids']),
                                          Server.deleted == 0).all()
    else:
        # 普通用户只能看到属于自己的机器
        servers = db.query(Server).filter(Server.owner == context['user'].id,
                                          Server.deleted == 0).all()
    return obj_array_to_json(servers, 'servers')
Exemple #6
0
def list_snapshot(req, db, context):
    if is_sys_admin_or_dept_admin(context):
        # 管理员可以看到部门下面所有云硬盘
        snapshots = db.query(Snapshot).filter(
            Snapshot.dept.in_(context['dept_ids']),
            Snapshot.deleted == 0).all()
    else:
        # 普通用户只能看到属于自己的云硬盘
        snapshots = db.query(Snapshot).filter(
            Snapshot.owner == context['user'].id, Snapshot.deleted == 0).all()
    return obj_array_to_json(snapshots, 'snapshots')
Exemple #7
0
def find_volume(db, context, volume_id):
    if is_sys_admin_or_dept_admin(context):
        # 管理员可以看到部门下面所有机器
        volume = db.query(Volume).filter(Volume.dept.in_(context['dept_ids']),
                                         Volume.deleted==0,
                                         Volume.id==volume_id).first()
    else:
        # 普通用户只能看到属于自己的机器
        volume = db.query(Volume).filter(Volume.owner==context['user'].id,
                                         Volume.deleted==0,
                                         Volume.id==volume_id).first()
    if volume == None:
        raise VolumeNotFoundError(volume_id)

    return volume
def find_snapshot(db, context, snapshot_id):
    if is_sys_admin_or_dept_admin(context):
        # 管理员可以看到部门下面所有机器
        snapshot = db.query(Snapshot).filter(Snapshot.dept.in_(context['dept_ids']),
                                         Snapshot.deleted==0,
                                         Snapshot.id==snapshot_id).first()
    else:
        # 普通用户只能看到属于自己的机器
        snapshot = db.query(Snapshot).filter(Snapshot.owner==context['user'].id,
                                         Snapshot.deleted==0,
                                         Snapshot.id==snapshot_id).first()
    if snapshot == None:
        raise SnapshotNotFoundError(snapshot_id)

    return snapshot
Exemple #9
0
def find_volume(db, context, volume_id):
    if is_sys_admin_or_dept_admin(context):
        # 管理员可以看到部门下面所有机器
        volume = db.query(Volume).filter(Volume.dept.in_(context['dept_ids']),
                                         Volume.deleted == 0,
                                         Volume.id == volume_id).first()
    else:
        # 普通用户只能看到属于自己的机器
        volume = db.query(Volume).filter(Volume.owner == context['user'].id,
                                         Volume.deleted == 0,
                                         Volume.id == volume_id).first()
    if volume == None:
        raise VolumeNotFoundError(volume_id)

    return volume
Exemple #10
0
def find_server(db, context, server_id):
    if is_sys_admin_or_dept_admin(context):
        # 管理员可以看到部门下面所有机器
        server = db.query(Server).filter(Server.dept.in_(context['dept_ids']),
                                         Server.deleted==0,
                                         Server.id==server_id).first()
    else:
        # 普通用户只能看到属于自己的机器
        server = db.query(Server).filter(Server.owner==context['user'].id,
                                         Server.deleted==0,
                                         Server.id==server_id).first()
    if server == None:
        raise ServerNotFoundError

    return server
Exemple #11
0
def find_server(db, context, server_id):
    if is_sys_admin_or_dept_admin(context):
        # 管理员可以看到部门下面所有机器
        server = db.query(Server).filter(Server.dept.in_(context['dept_ids']),
                                         Server.deleted == 0,
                                         Server.id == server_id).first()
    else:
        # 普通用户只能看到属于自己的机器
        server = db.query(Server).filter(Server.owner == context['user'].id,
                                         Server.deleted == 0,
                                         Server.id == server_id).first()
    if server == None:
        raise ServerNotFoundError

    return server
Exemple #12
0
def find_snapshot(db, context, snapshot_id):
    if is_sys_admin_or_dept_admin(context):
        # 管理员可以看到部门下面所有机器
        snapshot = db.query(Snapshot).filter(
            Snapshot.dept.in_(context['dept_ids']), Snapshot.deleted == 0,
            Snapshot.id == snapshot_id).first()
    else:
        # 普通用户只能看到属于自己的机器
        snapshot = db.query(Snapshot).filter(
            Snapshot.owner == context['user'].id, Snapshot.deleted == 0,
            Snapshot.id == snapshot_id).first()
    if snapshot == None:
        raise SnapshotNotFoundError(snapshot_id)

    return snapshot