From b65e954f7342417baa15d7fa7a1a5744aababd7d Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Mon, 24 Feb 2020 23:50:32 +0100 Subject: [PATCH] FIX Pagination of ListAccessTokens and GetIssueWatchers (#10449) * fix a pagination bug * fix pagination of ListAccessTokens --- models/issue_watch.go | 10 ++++++---- models/token.go | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/models/issue_watch.go b/models/issue_watch.go index 343ad16cde..c4732d784e 100644 --- a/models/issue_watch.go +++ b/models/issue_watch.go @@ -81,7 +81,7 @@ func GetIssueWatchers(issueID int64, listOptions ListOptions) (IssueWatchList, e return getIssueWatchers(x, issueID, listOptions) } -func getIssueWatchers(e Engine, issueID int64, listOptions ListOptions) (watches IssueWatchList, err error) { +func getIssueWatchers(e Engine, issueID int64, listOptions ListOptions) (IssueWatchList, error) { sess := e. Where("`issue_watch`.issue_id = ?", issueID). And("`issue_watch`.is_watching = ?", true). @@ -89,11 +89,13 @@ func getIssueWatchers(e Engine, issueID int64, listOptions ListOptions) (watches And("`user`.prohibit_login = ?", false). Join("INNER", "`user`", "`user`.id = `issue_watch`.user_id") - if listOptions.Page == 0 { + if listOptions.Page != 0 { sess = listOptions.setSessionPagination(sess) + watches := make([]*IssueWatch, 0, listOptions.PageSize) + return watches, sess.Find(&watches) } - err = sess.Find(&watches) - return + watches := make([]*IssueWatch, 0, 8) + return watches, sess.Find(&watches) } func removeIssueWatchersByRepoID(e Engine, userID int64, repoID int64) error { diff --git a/models/token.go b/models/token.go index ce3218d8d6..7ad9d41676 100644 --- a/models/token.go +++ b/models/token.go @@ -83,7 +83,7 @@ func ListAccessTokens(uid int64, listOptions ListOptions) ([]*AccessToken, error Where("uid=?", uid). Desc("id") - if listOptions.Page == 0 { + if listOptions.Page != 0 { sess = listOptions.setSessionPagination(sess) tokens := make([]*AccessToken, 0, listOptions.PageSize)