mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
support filter attached disk
This commit is contained in:
@@ -104,11 +104,16 @@ func (manager *SDiskManager) ListItemFilter(ctx context.Context, q *sqlchemy.SQu
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("Invalid querystring formst: %v", query)
|
||||
}
|
||||
if jsonutils.QueryBoolean(query, "unused", false) {
|
||||
if query.Contains("unused") {
|
||||
guestdisks := GuestdiskManager.Query().SubQuery()
|
||||
sq := guestdisks.Query(guestdisks.Field("disk_id"))
|
||||
q = q.Filter(sqlchemy.NotIn(q.Field("id"), sq))
|
||||
if jsonutils.QueryBoolean(query, "unused", false) {
|
||||
q = q.Filter(sqlchemy.NotIn(q.Field("id"), sq))
|
||||
} else {
|
||||
q = q.Filter(sqlchemy.In(q.Field("id"), sq))
|
||||
}
|
||||
}
|
||||
|
||||
storages := StorageManager.Query().SubQuery()
|
||||
if jsonutils.QueryBoolean(query, "share", false) {
|
||||
sq := storages.Query(storages.Field("id")).Filter(sqlchemy.NotIn(storages.Field("storage_type"), STORAGE_LOCAL_TYPES))
|
||||
|
||||
Reference in New Issue
Block a user