From 2ef877bd4dc502c7392e23a9524d03049be49c04 Mon Sep 17 00:00:00 2001 From: zhaoxiangchun Date: Thu, 30 Apr 2020 15:59:11 +0800 Subject: [PATCH 1/2] bugfix mem paginate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 通过totoal和offset 与limit比较确定最后返回数据 --- pkg/cloudcommon/db/db_dispatcher.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/cloudcommon/db/db_dispatcher.go b/pkg/cloudcommon/db/db_dispatcher.go index 09f1e5cc6d..6b459e0b5a 100644 --- a/pkg/cloudcommon/db/db_dispatcher.go +++ b/pkg/cloudcommon/db/db_dispatcher.go @@ -739,8 +739,10 @@ func calculateListResult(data []jsonutils.JSONObject, total, limit, offset int64 } } // do limit - if limit > 0 && total > limit { + if limit > 0 && total-offset > limit { data = data[:limit] + } else { + data = data[:total-offset] } } From b20d1ab7bd7f2df882898ad890c00740de96dbd3 Mon Sep 17 00:00:00 2001 From: zhaoxiangchun Date: Thu, 30 Apr 2020 20:09:38 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=A7=84=E5=88=99?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E7=A6=81=E7=94=A8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/monitor/models/suggestsysrule.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkg/monitor/models/suggestsysrule.go b/pkg/monitor/models/suggestsysrule.go index 7049914d31..dba047a9e8 100644 --- a/pkg/monitor/models/suggestsysrule.go +++ b/pkg/monitor/models/suggestsysrule.go @@ -251,6 +251,22 @@ func (self *SSuggestSysRule) PerformEnable(ctx context.Context, userCred mcclien return nil, nil } +func (self *SSuggestSysRule) AllowPerformDisable(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) bool { + return db.IsAdminAllowPerform(userCred, self, "disable") +} + +func (self *SSuggestSysRule) PerformDisable(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) (jsonutils.JSONObject, error) { + if self.Enabled.IsTrue() { + db.Update(self, func() error { + self.Enabled = tristate.False + return nil + }) + db.OpsLog.LogEvent(self, db.ACT_DISABLE, "", userCred) + self.PostUpdate(ctx, userCred, query, data) + } + return nil, nil +} + func (self *SSuggestSysRuleManager) AllowGetPropertyRuleType(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool { return true }