From 87efc8c6d4dbcbfb1e814091b16ae84c8564678c Mon Sep 17 00:00:00 2001
From: Jorrit Klein Bramel <drsect0r@users.noreply.github.com>
Date: Tue, 2 May 2017 10:34:28 +0200
Subject: [PATCH] Sort on repo size in admin panel (#1654)

* fix #1653 sort on repo size

* fix minor mistake in en-us locale
---
 options/locale/locale_en-US.ini  | 2 ++
 routers/home.go                  | 4 ++++
 templates/admin/base/search.tmpl | 2 ++
 3 files changed, 8 insertions(+)

diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index 515ce72a2..6f4866e37 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -667,6 +667,8 @@ issues.label_deletion_desc = Deleting this label will remove its information in
 issues.label_deletion_success = This label has been deleted successfully!
 issues.label.filter_sort.alphabetically = Alphabetically
 issues.label.filter_sort.reverse_alphabetically = Reverse alphabetically
+issues.label.filter_sort.by_size = Size
+issues.label.filter_sort.reverse_by_size = Reverse size
 issues.num_participants = %d Participants
 issues.attachment.open_tab = `Click to see "%s" in a new tab`
 issues.attachment.download = `Click to download "%s"`
diff --git a/routers/home.go b/routers/home.go
index 9fa565b21..c02bd813f 100644
--- a/routers/home.go
+++ b/routers/home.go
@@ -94,6 +94,10 @@ func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) {
 		orderBy = "name DESC"
 	case "alphabetically":
 		orderBy = "name ASC"
+	case "reversesize":
+		orderBy = "size DESC"
+	case "size":
+		orderBy = "size ASC"
 	default:
 		orderBy = "created_unix DESC"
 	}
diff --git a/templates/admin/base/search.tmpl b/templates/admin/base/search.tmpl
index 9e450ee36..5491d6b94 100644
--- a/templates/admin/base/search.tmpl
+++ b/templates/admin/base/search.tmpl
@@ -12,6 +12,8 @@
 			<a class="{{if eq .SortType "reversealphabetically"}}active{{end}} item" href="{{$.Link}}?sort=reversealphabetically&q={{$.Keyword}}">{{.i18n.Tr "repo.issues.label.filter_sort.reverse_alphabetically"}}</a>
 			<a class="{{if eq .SortType "recentupdate"}}active{{end}} item" href="{{$.Link}}?sort=recentupdate&q={{$.Keyword}}">{{.i18n.Tr "repo.issues.filter_sort.recentupdate"}}</a>
 			<a class="{{if eq .SortType "leastupdate"}}active{{end}} item" href="{{$.Link}}?sort=leastupdate&q={{$.Keyword}}">{{.i18n.Tr "repo.issues.filter_sort.leastupdate"}}</a>
+			<a class="{{if eq .SortType "size"}}active{{end}} item" href="{{$.Link}}?sort=size&q={{$.Keyword}}">{{.i18n.Tr "repo.issues.label.filter_sort.by_size"}}</a>
+			<a class="{{if eq .SortType "reversesize"}}active{{end}} item" href="{{$.Link}}?sort=reversesize&q={{$.Keyword}}">{{.i18n.Tr "repo.issues.label.filter_sort.reverse_by_size"}}</a>
 		</div>
 	</div>
 </div>