aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEthan Koenig <ethantkoenig@gmail.com>2017-12-03 20:39:01 -0800
committerLunny Xiao <xiaolunwen@gmail.com>2017-12-04 12:39:01 +0800
commitc0a7899416af728634b2dc52a27b31255285ae7e (patch)
tree78c4b391ad9fb6b226737f66ab63ab03528c76ab
parent3c1b1ca78e93fb464a5bb64aae9d845bc9f0b9c0 (diff)
downloadgitea-c0a7899416af728634b2dc52a27b31255285ae7e.tar.gz
gitea-c0a7899416af728634b2dc52a27b31255285ae7e.zip
Sort repos in issues dashboard sidebar (#3072)
* Sort repos in issues dashboard sidebar * Sort repos by name
-rw-r--r--models/repo_list.go12
-rw-r--r--routers/user/home.go2
2 files changed, 14 insertions, 0 deletions
diff --git a/models/repo_list.go b/models/repo_list.go
index 883e3b98d5..d13266f208 100644
--- a/models/repo_list.go
+++ b/models/repo_list.go
@@ -16,6 +16,18 @@ import (
// RepositoryList contains a list of repositories
type RepositoryList []*Repository
+func (repos RepositoryList) Len() int {
+ return len(repos)
+}
+
+func (repos RepositoryList) Less(i, j int) bool {
+ return repos[i].FullName() < repos[j].FullName()
+}
+
+func (repos RepositoryList) Swap(i, j int) {
+ repos[i], repos[j] = repos[j], repos[i]
+}
+
// RepositoryListOfMap make list from values of map
func RepositoryListOfMap(repoMap map[int64]*Repository) RepositoryList {
return RepositoryList(valuesRepository(repoMap))
diff --git a/routers/user/home.go b/routers/user/home.go
index c2c6a67018..581db850f6 100644
--- a/routers/user/home.go
+++ b/routers/user/home.go
@@ -7,6 +7,7 @@ package user
import (
"bytes"
"fmt"
+ "sort"
"github.com/Unknwon/com"
"github.com/Unknwon/paginater"
@@ -302,6 +303,7 @@ func Issues(ctx *context.Context) {
}
showRepos := models.RepositoryListOfMap(showReposMap)
+ sort.Sort(showRepos)
if err = showRepos.LoadAttributes(); err != nil {
ctx.Handle(500, "LoadAttributes", fmt.Errorf("%v", err))
return