fix: 1. parameter duplicate error due to missing name filter 2.

infras_quota setKeys error
This commit is contained in:
Qiu Jian
2020-04-07 20:54:18 +08:00
parent 9472050e20
commit 8fad5086f0
3 changed files with 14 additions and 4 deletions
+3
View File
@@ -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"`
}
+4 -4
View File
@@ -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()
+7
View File
@@ -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)
}