Skip to content

Commit d03b59e

Browse files
committed
feat: added reverse sorting to commitfest form
1 parent ac70e3d commit d03b59e

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

media/commitfest/js/commitfest.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,12 +220,18 @@ function flagCommitted(committer) {
220220
return false;
221221
}
222222

223-
224223
function sortpatches(sortby) {
225224
if ($('#id_sortkey').val() == sortby) {
226-
$('#id_sortkey').val(0);
225+
if($('#id_sortorder').val() == 1){
226+
$('#id_sortkey').val(0);
227+
$('#id_sortorder').val(0); // reset order
228+
}else if($('#id_sortorder').val() == -1){
229+
$('#id_sortkey').val(sortby);
230+
$('#id_sortorder').val(1); // ascending order -> oldest first
231+
}
227232
} else {
228233
$('#id_sortkey').val(sortby);
234+
$('#id_sortorder').val(-1); // descending order -> latest first
229235
}
230236
$('#filterform').submit();
231237

pgcommitfest/commitfest/forms.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,13 @@ class CommitFestFilterForm(forms.Form):
1717
author = forms.ChoiceField(required=False)
1818
reviewer = forms.ChoiceField(required=False)
1919
sortkey = forms.IntegerField(required=False)
20+
sortorder = forms.IntegerField(required=False) # 0 -> no order, 1 -> asc, -1 -> desc
2021

2122
def __init__(self, cf, *args, **kwargs):
2223
super(CommitFestFilterForm, self).__init__(*args, **kwargs)
2324

2425
self.fields["sortkey"].widget = forms.HiddenInput()
26+
self.fields["sortorder"].widget = forms.HiddenInput()
2527

2628
c = [(-1, "* All")] + list(PatchOnCommitFest._STATUS_CHOICES)
2729
self.fields["status"] = forms.ChoiceField(choices=c, required=False)

pgcommitfest/commitfest/views.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ def commitfest(request, cfid):
233233
has_filter = len(whereclauses) > 0
234234

235235
# Figure out custom ordering
236+
236237
if request.GET.get("sortkey", "") != "":
237238
try:
238239
sortkey = int(request.GET["sortkey"])
@@ -260,6 +261,12 @@ def commitfest(request, cfid):
260261
orderby_str = "topic, created"
261262
sortkey = 0
262263

264+
sortorder = int(request.GET.get("sortorder", "0"))
265+
if sortorder == 1:
266+
orderby_str += " ASC"
267+
elif sortorder == -1:
268+
orderby_str += " DESC"
269+
263270
if not has_filter and sortkey == 0 and request.GET:
264271
# Redirect to get rid of the ugly url
265272
return HttpResponseRedirect("/%s/" % cf.id)
@@ -346,6 +353,7 @@ def commitfest(request, cfid):
346353
"title": cf.title,
347354
"grouping": sortkey == 0,
348355
"sortkey": sortkey,
356+
"sortorder": sortorder,
349357
"openpatchids": [p["id"] for p in patches if p["is_open"]],
350358
"header_activity": "Activity log",
351359
"header_activity_link": "activity/",

0 commit comments

Comments
 (0)