From eed0594eb84c3141c2b389a359ce8b3483919198 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Caux?= <git@jscaux.org> Date: Mon, 18 Oct 2021 10:38:01 +0200 Subject: [PATCH] Add filtering by unassigned timescale --- scipost_django/submissions/forms.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/scipost_django/submissions/forms.py b/scipost_django/submissions/forms.py index 4e247e9df..1a42aa048 100644 --- a/scipost_django/submissions/forms.py +++ b/scipost_django/submissions/forms.py @@ -96,10 +96,13 @@ class SubmissionPoolSearchForm(forms.Form): )), ('Pre-screening', ( (STATUS_INCOMING, 'In pre-screening'), + (STATUS_FAILED_PRESCREENING, 'Failed pre-screening'), )), ('Screening', ( (STATUS_UNASSIGNED, 'Unassigned, awaiting editor assignment'), - (STATUS_FAILED_PRESCREENING, 'Failed pre-screening'), + ('unassigned_4', 'Unassigned for > 4 weeks'), + ('unassigned_2', 'Unassigned for > 2 weeks'), + ('unassigned_1', 'Unassigned for > 1 week'), (STATUS_EIC_ASSIGNED, 'Editor-in-charge assigned'), (STATUS_ASSIGNMENT_FAILED, 'Failed to assign Editor-in-charge; manuscript rejected'), )), @@ -172,7 +175,22 @@ class SubmissionPoolSearchForm(forms.Form): ) if self.cleaned_data.get('status'): status = self.cleaned_data.get('status') - if status == 'voting_prepare': + if status == 'unassigned_4': + submissions = submissions.filter( + status=STATUS_UNASSIGNED, + submission_date__lt=timezone.now() - datetime.timedelta(days=28) + ) + if status == 'unassigned_2': + submissions = submissions.filter( + status=STATUS_UNASSIGNED, + submission_date__lt=timezone.now() - datetime.timedelta(days=14) + ) + elif status == 'unassigned_1': + submissions = submissions.filter( + status=STATUS_UNASSIGNED, + submission_date__lt=timezone.now() - datetime.timedelta(days=7) + ) + elif status == 'voting_prepare': submissions = submissions.voting_in_preparation() elif status == 'voting_ongoing': submissions = submissions.undergoing_voting() -- GitLab