summaryrefslogtreecommitdiffstats
path: root/models/issue.go
diff options
context:
space:
mode:
authorBwko <bouwko@gmail.com>2016-12-24 15:41:09 +0100
committerLunny Xiao <xiaolunwen@gmail.com>2016-12-24 22:41:09 +0800
commita345a03d99f6e3d46a20620869e29424a0c55499 (patch)
tree5f1b218a6b5d1a782101914bf2d8504f95c76918 /models/issue.go
parentf27d87d93ba8578dfc36b636de5dc01e26e58d0d (diff)
downloadgitea-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.go18
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)
}