File tree 3 files changed +23
-6
lines changed
3 files changed +23
-6
lines changed Original file line number Diff line number Diff line change @@ -257,12 +257,19 @@ function flagCommitted(committer) {
257
257
}
258
258
259
259
function sortpatches ( sortby ) {
260
- if ( $ ( "#id_sortkey" ) . val ( ) === sortby ) {
261
- $ ( "#id_sortkey" ) . val ( 0 ) ;
262
- } else {
263
- $ ( "#id_sortkey" ) . val ( sortby ) ;
264
- }
265
- $ ( "#filterform" ) . submit ( ) ;
260
+ if ( $ ( '#id_sortkey' ) . val ( ) == sortby ) {
261
+ if ( $ ( '#id_sortorder' ) . val ( ) == 1 ) {
262
+ $ ( '#id_sortkey' ) . val ( 0 ) ;
263
+ $ ( '#id_sortorder' ) . val ( 0 ) ; // reset order
264
+ } else if ( $ ( '#id_sortorder' ) . val ( ) == - 1 ) {
265
+ $ ( '#id_sortkey' ) . val ( sortby ) ;
266
+ $ ( '#id_sortorder' ) . val ( 1 ) ; // ascending order -> oldest first
267
+ }
268
+ } else {
269
+ $ ( '#id_sortkey' ) . val ( sortby ) ;
270
+ $ ( '#id_sortorder' ) . val ( - 1 ) ; // descending order -> latest first
271
+ }
272
+ $ ( '#filterform' ) . submit ( ) ;
266
273
267
274
return false ;
268
275
}
Original file line number Diff line number Diff line change @@ -17,11 +17,13 @@ class CommitFestFilterForm(forms.Form):
17
17
author = forms .ChoiceField (required = False )
18
18
reviewer = forms .ChoiceField (required = False )
19
19
sortkey = forms .IntegerField (required = False )
20
+ sortorder = forms .IntegerField (required = False ) # 0 -> no order, 1 -> asc, -1 -> desc
20
21
21
22
def __init__ (self , cf , * args , ** kwargs ):
22
23
super (CommitFestFilterForm , self ).__init__ (* args , ** kwargs )
23
24
24
25
self .fields ["sortkey" ].widget = forms .HiddenInput ()
26
+ self .fields ["sortorder" ].widget = forms .HiddenInput ()
25
27
26
28
c = [(- 1 , "* All" )] + list (PatchOnCommitFest ._STATUS_CHOICES )
27
29
self .fields ["status" ] = forms .ChoiceField (choices = c , required = False )
Original file line number Diff line number Diff line change @@ -233,6 +233,7 @@ def commitfest(request, cfid):
233
233
has_filter = len (whereclauses ) > 0
234
234
235
235
# Figure out custom ordering
236
+
236
237
if request .GET .get ("sortkey" , "" ) != "" :
237
238
try :
238
239
sortkey = int (request .GET ["sortkey" ])
@@ -260,6 +261,12 @@ def commitfest(request, cfid):
260
261
orderby_str = "topic, created"
261
262
sortkey = 0
262
263
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
+
263
270
if not has_filter and sortkey == 0 and request .GET :
264
271
# Redirect to get rid of the ugly url
265
272
return HttpResponseRedirect ("/%s/" % cf .id )
@@ -346,6 +353,7 @@ def commitfest(request, cfid):
346
353
"title" : cf .title ,
347
354
"grouping" : sortkey == 0 ,
348
355
"sortkey" : sortkey ,
356
+ "sortorder" : sortorder ,
349
357
"openpatchids" : [p ["id" ] for p in patches if p ["is_open" ]],
350
358
"header_activity" : "Activity log" ,
351
359
"header_activity_link" : "activity/" ,
You can’t perform that action at this time.
0 commit comments