From 8fad5086f05284b114d9c476795c4a047e4419bd Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Tue, 7 Apr 2020 20:54:18 +0800 Subject: [PATCH] fix: 1. parameter duplicate error due to missing name filter 2. infras_quota setKeys error --- pkg/apis/yunionconf/input.go | 3 +++ pkg/compute/models/infrasquota.go | 8 ++++---- pkg/yunionconf/models/parameters.go | 7 +++++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/pkg/apis/yunionconf/input.go b/pkg/apis/yunionconf/input.go index caa53bfe73..179d8ade7f 100644 --- a/pkg/apis/yunionconf/input.go +++ b/pkg/apis/yunionconf/input.go @@ -36,4 +36,7 @@ type ParameterListInput struct { // Deprecated // swagger:ignore UserId string `json:"user_id" deprecated-by:"user"` + + // filter by name + Name []string `json:"name"` } diff --git a/pkg/compute/models/infrasquota.go b/pkg/compute/models/infrasquota.go index f7546e1854..6124ecbb3a 100644 --- a/pkg/compute/models/infrasquota.go +++ b/pkg/compute/models/infrasquota.go @@ -70,18 +70,18 @@ func init() { type SInfrasQuota struct { quotas.SQuotaBase - quotas.SRegionalCloudResourceKeys + quotas.SDomainRegionalCloudResourceKeys Host int `default:"-1" allow_zero:"true" json:"host"` Vpc int `default:"-1" allow_zero:"true" json:"vpc"` } func (self *SInfrasQuota) GetKeys() quotas.IQuotaKeys { - return self.SRegionalCloudResourceKeys + return self.SDomainRegionalCloudResourceKeys } func (self *SInfrasQuota) SetKeys(keys quotas.IQuotaKeys) { - self.SRegionalCloudResourceKeys = keys.(quotas.SRegionalCloudResourceKeys) + self.SDomainRegionalCloudResourceKeys = keys.(quotas.SDomainRegionalCloudResourceKeys) } func (self *SInfrasQuota) FetchSystemQuota() { @@ -106,7 +106,7 @@ func (self *SInfrasQuota) FetchSystemQuota() { } func (self *SInfrasQuota) FetchUsage(ctx context.Context) error { - regionKeys := self.SRegionalCloudResourceKeys + regionKeys := self.SDomainRegionalCloudResourceKeys scope := regionKeys.Scope() ownerId := regionKeys.OwnerId() diff --git a/pkg/yunionconf/models/parameters.go b/pkg/yunionconf/models/parameters.go index d0b07014cb..7092074c06 100644 --- a/pkg/yunionconf/models/parameters.go +++ b/pkg/yunionconf/models/parameters.go @@ -256,6 +256,9 @@ func (manager *SParameterManager) ListItemFilter( if err != nil { return nil, errors.Wrap(err, "SResourceBaseManager.ListItemFilter") } + if len(query.Name) > 0 { + q = q.In("name", query.Name) + } if db.IsAdminAllowList(userCred, manager) { if id := query.NamespaceId; len(id) > 0 { q = q.Equals("namespace_id", id) @@ -372,3 +375,7 @@ func (model *SParameter) GetOwnerId() mcclient.IIdentityProvider { owner := db.SOwnerId{UserId: model.NamespaceId} return &owner } + +func (manager *SParameterManager) FetchOwnerId(ctx context.Context, data jsonutils.JSONObject) (mcclient.IIdentityProvider, error) { + return db.FetchUserInfo(ctx, data) +}