diff options
author | Bwko <bouwko@gmail.com> | 2016-12-24 15:41:09 +0100 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2016-12-24 22:41:09 +0800 |
commit | a345a03d99f6e3d46a20620869e29424a0c55499 (patch) | |
tree | 5f1b218a6b5d1a782101914bf2d8504f95c76918 /models/issue.go | |
parent | f27d87d93ba8578dfc36b636de5dc01e26e58d0d (diff) | |
download | gitea-a345a03d99f6e3d46a20620869e29424a0c55499.tar.gz gitea-a345a03d99f6e3d46a20620869e29424a0c55499.zip |
Added sorting to the labels & milestones page (#199)
Diffstat (limited to 'models/issue.go')
-rw-r--r-- | models/issue.go | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/models/issue.go b/models/issue.go index 57490bbc5b..86becdbbae 100644 --- a/models/issue.go +++ b/models/issue.go @@ -1503,12 +1503,28 @@ func GetMilestonesByRepoID(repoID int64) ([]*Milestone, error) { } // GetMilestones returns a list of milestones of given repository and status. -func GetMilestones(repoID int64, page int, isClosed bool) ([]*Milestone, error) { +func GetMilestones(repoID int64, page int, isClosed bool, sortType string) ([]*Milestone, error) { miles := make([]*Milestone, 0, setting.UI.IssuePagingNum) sess := x.Where("repo_id = ? AND is_closed = ?", repoID, isClosed) if page > 0 { sess = sess.Limit(setting.UI.IssuePagingNum, (page-1)*setting.UI.IssuePagingNum) } + + switch sortType { + case "furthestduedate": + sess.Desc("deadline_unix") + case "leastcomplete": + sess.Asc("completeness") + case "mostcomplete": + sess.Desc("completeness") + case "leastissues": + sess.Asc("num_issues") + case "mostissues": + sess.Desc("num_issues") + default: + sess.Asc("deadline_unix") + } + return miles, sess.Find(&miles) } |