Merge pull request #1152 in YUNIONIO/onecloud from ~TANGBIN/onecloud:bugfix/tb-private-sku-query-fix to release/2.7.0

* commit 'cf76eccdd7a50589721fb735b8bd35653ad5c385':
  private sku query bugfix
This commit is contained in:
张东亮
2019-03-04 15:40:17 +08:00
+5 -2
View File
@@ -605,11 +605,14 @@ func (manager *SServerSkuManager) ListItemFilter(ctx context.Context, q *sqlchem
q = q.Equals("cloudregion_id", regionObj.GetId())
}
if public_cloud || len(provider) > 0 {
zoneTable := ZoneManager.Query().SubQuery()
q = q.Join(zoneTable, sqlchemy.Equals(zoneTable.Field("id"), q.Field("zone_id")))
}
zoneStr := jsonutils.GetAnyString(query, []string{"zone", "zone_id"})
var zoneObj db.IModel
if (public_cloud || len(provider) > 0) && len(zoneStr) > 0 {
zoneTable := ZoneManager.Query().SubQuery()
q = q.Join(zoneTable, sqlchemy.Equals(zoneTable.Field("id"), q.Field("zone_id")))
zoneObj, err = ZoneManager.FetchByIdOrName(nil, zoneStr)
if err != nil {
if err == sql.ErrNoRows {