From ff7f6a086d75668b7ef256eb54257423a27511be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Caux?= <git@jscaux.org> Date: Fri, 18 Nov 2022 16:25:05 +0100 Subject: [PATCH] Add ordering field to `SubmissionPoolSearchForm` --- scipost_django/submissions/forms.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/scipost_django/submissions/forms.py b/scipost_django/submissions/forms.py index 452180514..8605dc2cc 100644 --- a/scipost_django/submissions/forms.py +++ b/scipost_django/submissions/forms.py @@ -276,6 +276,18 @@ class SubmissionPoolSearchForm(forms.Form): ), initial="current", ) + ordering = forms.ChoiceField( + widget=forms.RadioSelect, + choices=( + ( + "Submission date", ( + ("recent", "most recent first"), + ("oldest", "oldest first"), + ), + ), + ), + initial="recent", + ) def __init__(self, *args, **kwargs): user = kwargs.pop("user") @@ -322,7 +334,11 @@ class SubmissionPoolSearchForm(forms.Form): ), css_class="row mb-0", ), - Div(Div(InlineRadios("search_set"), css_class="col"), css_class="row mb-0"), + Div( + Div(InlineRadios("search_set"), css_class="col"), + Div(InlineRadios("ordering"), css_class="col"), + css_class="row mb-0", + ), ) def search_results(self, user): @@ -437,6 +453,10 @@ class SubmissionPoolSearchForm(forms.Form): submissions = submissions.filter( editor_in_charge=self.cleaned_data.get("editor_in_charge").contributor ) + + if self.cleaned_data.get("ordering") == "oldest": + submissions = submissions.order_by("submission_date") + return submissions -- GitLab