Merge pull request #4079 from rainzm/bugfix/server-template

fix(region): Fix the list bug of Guest Template
This commit is contained in:
Zexi Li
2019-12-10 15:47:22 +08:00
committed by GitHub
2 changed files with 14 additions and 4 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ type GuesttemplateDetails struct {
apis.SharableVirtualResourceDetails
SGuestTemplate
Config GuesttemplateConfigInfo `json:"config"`
ConfigInfo GuesttemplateConfigInfo `json:"config_info"`
}
type GuesttemplateConfigInfo struct {
+13 -3
View File
@@ -150,6 +150,16 @@ func (gt *SGuestTemplate) ValidateUpdateData(ctx context.Context, userCred mccli
return gt.SSharableVirtualResourceBase.ValidateUpdateData(ctx, userCred, query, data)
}
func (gt *SGuestTemplate) GetCustomizeColumns(ctx context.Context, userCred mcclient.TokenCredential,
query jsonutils.JSONObject) *jsonutils.JSONDict {
extra := gt.SVirtualResourceBase.GetCustomizeColumns(ctx, userCred, query)
out := &computeapis.GuesttemplateDetails{}
gt.getMoreDetailsV2(ctx, userCred, out)
ret := out.JSON(out)
ret.Update(extra)
return ret
}
func (gt *SGuestTemplate) GetExtraDetails(ctx context.Context, userCred mcclient.TokenCredential,
query jsonutils.JSONObject) (*computeapis.GuesttemplateDetails, error) {
@@ -293,7 +303,7 @@ func (gt *SGuestTemplate) getMoreDetailsV2(ctx context.Context, userCred mcclien
// no arrivals
}
out.Config = configInfo
out.ConfigInfo = configInfo
return
}
@@ -398,13 +408,13 @@ func (gt *SGuestTemplate) genForbiddenError(resourceName, resourceStr, scope str
func (gt *SGuestTemplate) ValidateDeleteCondition(ctx context.Context) error {
q := ServiceCatalogManager.Query("name").Equals("guest_template_id", gt.Id)
names := make([]string, 0, 1)
names := make([]struct{ Name string }, 0, 1)
err := q.All(&names)
if err != nil {
return errors.Wrap(err, "SQuery.All")
}
if len(names) > 0 {
return httperrors.NewForbiddenError("guest template %s used by service catalog %s", gt.Id, names[0])
return httperrors.NewForbiddenError("guest template %s used by service catalog %s", gt.Id, names[0].Name)
}
return nil
}