From 8ab645e60d81fa6458a8c0c1ebb5934d4b14d1c6 Mon Sep 17 00:00:00 2001 From: Qu Xuan Date: Thu, 17 Jun 2021 17:18:10 +0800 Subject: [PATCH 1/2] fix(region): add project filter for cloudprovider --- pkg/compute/models/cloudproviders.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/compute/models/cloudproviders.go b/pkg/compute/models/cloudproviders.go index 41f55dcbae..220aa6b0a2 100644 --- a/pkg/compute/models/cloudproviders.go +++ b/pkg/compute/models/cloudproviders.go @@ -1209,6 +1209,10 @@ func (manager *SCloudproviderManager) ListItemFilter( if err != nil { return nil, errors.Wrap(err, "SEnabledStatusStandaloneResourceBaseManager.ListItemFilter") } + q, err = manager.SProjectizedResourceBaseManager.ListItemFilter(ctx, q, userCred, query.ProjectizedResourceListInput) + if err != nil { + return nil, errors.Wrapf(err, "SProjectizedResourceBaseManager.ListItemFilter") + } q, err = manager.SSyncableBaseResourceManager.ListItemFilter(ctx, q, userCred, query.SyncableBaseResourceListInput) if err != nil { return nil, errors.Wrap(err, "SSyncableBaseResourceManager.ListItemFilter") From bda4737518404407a59086a69c876656f091c29f Mon Sep 17 00:00:00 2001 From: Qu Xuan Date: Fri, 18 Jun 2021 14:19:23 +0800 Subject: [PATCH 2/2] fix(region): manager distinct field --- pkg/compute/models/cloudproviders.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/compute/models/cloudproviders.go b/pkg/compute/models/cloudproviders.go index 41f55dcbae..e4b0dbb851 100644 --- a/pkg/compute/models/cloudproviders.go +++ b/pkg/compute/models/cloudproviders.go @@ -1310,6 +1310,13 @@ func (manager *SCloudproviderManager) QueryDistinctExtraField(q *sqlchemy.SQuery return q, nil } + if field == "account" { + accounts := CloudaccountManager.Query("name", "id").SubQuery() + q.AppendField(accounts.Field("name", field)).Distinct() + q = q.Join(accounts, sqlchemy.Equals(q.Field("cloudaccount_id"), accounts.Field("id"))) + return q, nil + } + q, err = manager.SEnabledStatusStandaloneResourceBaseManager.QueryDistinctExtraField(q, field) if err == nil { return q, nil