From f90f95ba35b51338d9bd8a3b0ea2868d593b317e Mon Sep 17 00:00:00 2001 From: Rain Date: Wed, 18 Dec 2019 21:12:52 +0800 Subject: [PATCH] fix(region): Fix the bug of snapshotpolicy's list with details MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit snapshotpolicy的GetCustomizeColumns和GetExtraDetails本来写的就有问题, 不过在2.12版本没有展示出来,因为2.13版本参数结构化的原因,details获取 的时候extraDict和jsonDict的更新逻辑有所改变,使得query携带着list第一 个item的数据一直存在整个循环之中,最终数据都是一样的。 --- pkg/compute/models/snapshotpolicy.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkg/compute/models/snapshotpolicy.go b/pkg/compute/models/snapshotpolicy.go index 50a141dcf0..c9839408a8 100644 --- a/pkg/compute/models/snapshotpolicy.go +++ b/pkg/compute/models/snapshotpolicy.go @@ -307,21 +307,24 @@ func (sp *SSnapshotPolicy) StartSnapshotPolicyDeleteTask(ctx context.Context, us func (sp *SSnapshotPolicy) GetCustomizeColumns(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) *jsonutils.JSONDict { - - ret, _ := sp.getMoreDetails(ctx, userCred, query) + extraDict := sp.SVirtualResourceBase.GetCustomizeColumns(ctx, userCred, query) + ret, _ := sp.getMoreDetails(ctx, userCred, extraDict) return ret } func (sp *SSnapshotPolicy) GetExtraDetails(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) (*jsonutils.JSONDict, error) { - - return sp.getMoreDetails(ctx, userCred, query) + extraDict, err := sp.SVirtualResourceBase.GetExtraDetails(ctx, userCred, query) + if err != nil { + return nil, err + } + return sp.getMoreDetails(ctx, userCred, extraDict) } func (sp *SSnapshotPolicy) getMoreDetails(ctx context.Context, userCred mcclient.TokenCredential, - query jsonutils.JSONObject) (*jsonutils.JSONDict, error) { + extraDict *jsonutils.JSONDict) (*jsonutils.JSONDict, error) { - ret := query.(*jsonutils.JSONDict) + ret := extraDict // more weekdays := SnapshotPolicyManager.RepeatWeekdaysToIntArray(sp.RepeatWeekdays) timePoints := SnapshotPolicyManager.TimePointsToIntArray(sp.TimePoints)