From 5e8a830505eb622772e289ee577dbe75aa082efa Mon Sep 17 00:00:00 2001
From: Bartlomiej Komendarczuk <bkomendarczuk@gmail.com>
Date: Tue, 16 Jul 2024 10:08:54 +0200
Subject: [PATCH] [PORT] Added default sorting milestones by name (gitea#27084)

Resolves https://github.com/go-gitea/gitea/issues/26996
Added default sorting for milestones by name.

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>

---

Conflict resolution: trivial, was due to the improvement made to 'the due
date sorting' strings.

(cherry picked from commit e8d4b7a8b198eca3b0bd117efb422d7d7cac93fe)
---
 models/issues/milestone_list.go                 | 4 +++-
 options/locale/locale_en-US.ini                 | 1 +
 templates/repo/issue/milestone/filter_list.tmpl | 1 +
 templates/user/dashboard/milestones.tmpl        | 1 +
 4 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/models/issues/milestone_list.go b/models/issues/milestone_list.go
index d1b3f0301b..955ab2356d 100644
--- a/models/issues/milestone_list.go
+++ b/models/issues/milestone_list.go
@@ -70,8 +70,10 @@ func (opts FindMilestoneOptions) ToOrders() string {
 		return "num_issues DESC"
 	case "id":
 		return "id ASC"
+	case "name":
+		return "name DESC"
 	default:
-		return "deadline_unix ASC, id ASC"
+		return "deadline_unix ASC, name ASC"
 	}
 }
 
diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index 4da9a9afd8..2c34025bef 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -1996,6 +1996,7 @@ milestones.edit_success = Milestone "%s" has been updated.
 milestones.deletion = Delete milestone
 milestones.deletion_desc = Deleting a milestone removes it from all related issues. Continue?
 milestones.deletion_success = The milestone has been deleted.
+milestones.filter_sort.name = Name
 milestones.filter_sort.earliest_due_data = Nearest due date
 milestones.filter_sort.latest_due_date = Farthest due date
 milestones.filter_sort.least_complete = Least complete
diff --git a/templates/repo/issue/milestone/filter_list.tmpl b/templates/repo/issue/milestone/filter_list.tmpl
index ecfb95bb13..fe6e1a2211 100644
--- a/templates/repo/issue/milestone/filter_list.tmpl
+++ b/templates/repo/issue/milestone/filter_list.tmpl
@@ -11,5 +11,6 @@
 		<a class="{{if eq .SortType "mostcomplete"}}active {{end}}item" href="?sort=mostcomplete&state={{$.State}}&q={{$.Keyword}}">{{ctx.Locale.Tr "repo.milestones.filter_sort.most_complete"}}</a>
 		<a class="{{if eq .SortType "mostissues"}}active {{end}}item" href="?sort=mostissues&state={{$.State}}&q={{$.Keyword}}">{{ctx.Locale.Tr "repo.milestones.filter_sort.most_issues"}}</a>
 		<a class="{{if eq .SortType "leastissues"}}active {{end}}item" href="?sort=leastissues&state={{$.State}}&q={{$.Keyword}}">{{ctx.Locale.Tr "repo.milestones.filter_sort.least_issues"}}</a>
+		<a class="{{if eq .SortType "name"}}active {{end}}item" href="{{$.Link}}?sort=name&state={{$.State}}&q={{$.Keyword}}">{{ctx.Locale.Tr "repo.milestones.filter_sort.name"}}</a>
 	</div>
 </div>
diff --git a/templates/user/dashboard/milestones.tmpl b/templates/user/dashboard/milestones.tmpl
index 0f1e866a21..71ff8dba3f 100644
--- a/templates/user/dashboard/milestones.tmpl
+++ b/templates/user/dashboard/milestones.tmpl
@@ -65,6 +65,7 @@
 							<a class="{{if eq .SortType "mostcomplete"}}active {{end}}item" href="?repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort=mostcomplete&state={{$.State}}&q={{$.Keyword}}">{{ctx.Locale.Tr "repo.milestones.filter_sort.most_complete"}}</a>
 							<a class="{{if eq .SortType "mostissues"}}active {{end}}item" href="?repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort=mostissues&state={{$.State}}&q={{$.Keyword}}">{{ctx.Locale.Tr "repo.milestones.filter_sort.most_issues"}}</a>
 							<a class="{{if eq .SortType "leastissues"}}active {{end}}item" href="?repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort=leastissues&state={{$.State}}&q={{$.Keyword}}">{{ctx.Locale.Tr "repo.milestones.filter_sort.least_issues"}}</a>
+							<a class="{{if eq .SortType "name"}}active {{end}}item" href="{{$.Link}}?sort=name&state={{$.State}}&q={{$.Keyword}}">{{ctx.Locale.Tr "repo.milestones.filter_sort.name"}}</a>
 						</div>
 					</div>
 				</div>