SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 83217088 authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

More to-the-point filter for reports needed

parent 2b2e041a
No related branches found
No related tags found
No related merge requests found
......@@ -138,7 +138,7 @@ class SubmissionSearchForm(forms.Form):
)
if self.reports_needed:
submissions = submissions.actively_refereeing(
).open_for_reporting().order_by('submission_date')
).open_for_reporting().reports_needed().order_by('submission_date')
return submissions
......
......@@ -204,9 +204,20 @@ class SubmissionQuerySet(models.QuerySet):
return self._newest_version_only(self.filter(status=constants.STATUS_WITHDRAWN))
def open_for_reporting(self):
"""Return Submission that allow for reporting."""
"""Return Submissions open for reporting."""
return self.filter(open_for_reporting=True)
def reports_needed(self):
"""
Return Submissions for which the nr of Reports is less than required by target Journal.
"""
qs = self.prefetch_related(
'reports', 'submitted_to'
).annotate(nr_reports=models.Count('reports'))
ids_list = [s.id for s in qs.all() if (
s.nr_reports < s.submitted_to.minimal_nr_of_reports)]
return self.filter(id__in=ids_list)
def open_for_commenting(self):
"""Return Submission that allow for commenting."""
return self.filter(open_for_commenting=True)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment