mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-21 14:19:49 +08:00
Merge pull request #11826 from ioito/hotfix/qx-status-filter
fix(region): add resource statistics filter params
This commit is contained in:
@@ -22,9 +22,9 @@ import (
|
||||
"yunion.io/x/sqlchemy"
|
||||
|
||||
"yunion.io/x/onecloud/pkg/apis"
|
||||
"yunion.io/x/onecloud/pkg/cloudcommon/policy"
|
||||
"yunion.io/x/onecloud/pkg/httperrors"
|
||||
"yunion.io/x/onecloud/pkg/mcclient"
|
||||
"yunion.io/x/onecloud/pkg/util/rbacutils"
|
||||
"yunion.io/x/onecloud/pkg/util/stringutils2"
|
||||
)
|
||||
|
||||
@@ -82,20 +82,13 @@ func (manager *SEnabledStatusInfrasResourceBaseManager) GetPropertyStatistics(ct
|
||||
|
||||
var err error
|
||||
q := manager.Query()
|
||||
q, err = ListItemFilter(im, ctx, q, userCred, query)
|
||||
q, err = ListItemQueryFilters(im, ctx, q, userCred, query, policy.PolicyActionList)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sq := q.SubQuery()
|
||||
statQ := sq.Query(sq.Field("status"), sqlchemy.COUNT("total_count", sq.Field("id")))
|
||||
_, queryScope, err := FetchCheckQueryOwnerScope(ctx, userCred, query, im, rbacutils.ActionList, true)
|
||||
if err != nil {
|
||||
return nil, httperrors.NewGeneralError(err)
|
||||
}
|
||||
statQ = manager.FilterByOwner(statQ, userCred, queryScope)
|
||||
statQ = manager.FilterBySystemAttributes(statQ, userCred, query, queryScope)
|
||||
statQ = manager.FilterByHiddenSystemAttributes(statQ, userCred, query, queryScope)
|
||||
statQ = statQ.GroupBy(sq.Field("status"))
|
||||
|
||||
ret := []struct {
|
||||
|
||||
@@ -22,9 +22,9 @@ import (
|
||||
"yunion.io/x/sqlchemy"
|
||||
|
||||
"yunion.io/x/onecloud/pkg/apis"
|
||||
"yunion.io/x/onecloud/pkg/cloudcommon/policy"
|
||||
"yunion.io/x/onecloud/pkg/httperrors"
|
||||
"yunion.io/x/onecloud/pkg/mcclient"
|
||||
"yunion.io/x/onecloud/pkg/util/rbacutils"
|
||||
"yunion.io/x/onecloud/pkg/util/stringutils2"
|
||||
)
|
||||
|
||||
@@ -68,20 +68,13 @@ func (manager *SStatusInfrasResourceBaseManager) GetPropertyStatistics(ctx conte
|
||||
|
||||
var err error
|
||||
q := manager.Query()
|
||||
q, err = ListItemFilter(im, ctx, q, userCred, query)
|
||||
q, err = ListItemQueryFilters(im, ctx, q, userCred, query, policy.PolicyActionList)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sq := q.SubQuery()
|
||||
statQ := sq.Query(sq.Field("status"), sqlchemy.COUNT("total_count", sq.Field("id")))
|
||||
_, queryScope, err := FetchCheckQueryOwnerScope(ctx, userCred, query, im, rbacutils.ActionList, true)
|
||||
if err != nil {
|
||||
return nil, httperrors.NewGeneralError(err)
|
||||
}
|
||||
statQ = manager.FilterByOwner(statQ, userCred, queryScope)
|
||||
statQ = manager.FilterBySystemAttributes(statQ, userCred, query, queryScope)
|
||||
statQ = manager.FilterByHiddenSystemAttributes(statQ, userCred, query, queryScope)
|
||||
statQ = statQ.GroupBy(sq.Field("status"))
|
||||
|
||||
ret := []struct {
|
||||
|
||||
@@ -22,9 +22,9 @@ import (
|
||||
"yunion.io/x/sqlchemy"
|
||||
|
||||
"yunion.io/x/onecloud/pkg/apis"
|
||||
"yunion.io/x/onecloud/pkg/cloudcommon/policy"
|
||||
"yunion.io/x/onecloud/pkg/httperrors"
|
||||
"yunion.io/x/onecloud/pkg/mcclient"
|
||||
"yunion.io/x/onecloud/pkg/util/rbacutils"
|
||||
"yunion.io/x/onecloud/pkg/util/stringutils2"
|
||||
)
|
||||
|
||||
@@ -68,20 +68,13 @@ func (manager *SStatusStandaloneResourceBaseManager) GetPropertyStatistics(ctx c
|
||||
|
||||
var err error
|
||||
q := manager.Query()
|
||||
q, err = ListItemFilter(im, ctx, q, userCred, query)
|
||||
q, err = ListItemQueryFilters(im, ctx, q, userCred, query, policy.PolicyActionList)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sq := q.SubQuery()
|
||||
statQ := sq.Query(sq.Field("status"), sqlchemy.COUNT("total_count", sq.Field("id")))
|
||||
_, queryScope, err := FetchCheckQueryOwnerScope(ctx, userCred, query, im, rbacutils.ActionList, true)
|
||||
if err != nil {
|
||||
return nil, httperrors.NewGeneralError(err)
|
||||
}
|
||||
statQ = manager.FilterByOwner(statQ, userCred, queryScope)
|
||||
statQ = manager.FilterBySystemAttributes(statQ, userCred, query, queryScope)
|
||||
statQ = manager.FilterByHiddenSystemAttributes(statQ, userCred, query, queryScope)
|
||||
statQ = statQ.GroupBy(sq.Field("status"))
|
||||
|
||||
ret := []struct {
|
||||
|
||||
@@ -99,21 +99,13 @@ func (manager *SVirtualResourceBaseManager) GetPropertyStatistics(ctx context.Co
|
||||
|
||||
var err error
|
||||
q := manager.Query()
|
||||
q, err = ListItemFilter(im, ctx, q, userCred, query)
|
||||
q, err = ListItemQueryFilters(im, ctx, q, userCred, query, policy.PolicyActionList)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sq := q.SubQuery()
|
||||
statQ := sq.Query(sq.Field("status"), sqlchemy.COUNT("total_count", sq.Field("id")), sqlchemy.SUM("pending_deleted_count", sq.Field("pending_deleted")))
|
||||
_, queryScope, err := FetchCheckQueryOwnerScope(ctx, userCred, query, manager, rbacutils.ActionList, true)
|
||||
if err != nil {
|
||||
return nil, httperrors.NewGeneralError(err)
|
||||
}
|
||||
|
||||
statQ = manager.FilterByOwner(statQ, userCred, queryScope)
|
||||
statQ = manager.FilterBySystemAttributes(statQ, userCred, query, queryScope)
|
||||
statQ = manager.FilterByHiddenSystemAttributes(statQ, userCred, query, queryScope)
|
||||
statQ = statQ.GroupBy(sq.Field("status"))
|
||||
ret := []struct {
|
||||
Status string
|
||||
|
||||
Reference in New Issue
Block a user