SciPost Code Repository

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

Correct original submission date filtering in stats

parent 15c9492c
No related branches found
No related tags found
No related merge requests found
......@@ -17,7 +17,8 @@
<h1 class="highlight">Statistics</h1>
<h2>Aggregate statistics</h2>
<p>For each Journal, clicking on a year gives aggregate statistics for submissions (so including rejections). Clicking on a Journal/Volume/Issue gives aggregates for publications in this object.</p>
<p>For each Journal, clicking on a year gives aggregate statistics for Submissions (so including rejections and withdrawals) which were first submitted in that year.</p>
<p>Clicking on a Journal/Volume/Issue gives aggregates for all publications in that object.</p>
<ul>
{% for journal in journals|dictsort:"doi_label" %}
<li><a href="{% url 'stats:statistics' journal_doi_label=journal.doi_label %}">{{ journal }}</a></li>
......
import datetime
from django.contrib.auth.decorators import login_required, permission_required
from django.shortcuts import get_object_or_404, render
......@@ -17,10 +19,8 @@ def statistics(request, journal_doi_label=None, volume_nr=None, issue_nr=None, y
context['journal'] = journal
if year:
context['year'] = year
submissions = Submission.objects.filter(
submitted_to_journal=journal_doi_label,
submission_date__year=year,
)
submissions = Submission.objects.filter(submitted_to_journal=journal_doi_label
).originally_submitted(datetime.date(int(year), 1, 1), datetime.date(int(year), 12, 31))
context['submissions'] = submissions
nr_ref_inv = 0
nr_acc = 0
......
......@@ -110,6 +110,18 @@ class SubmissionQuerySet(models.QuerySet):
return self.filter(status__in=[STATUS_ACCEPTED, STATUS_REJECTED_VISIBLE, STATUS_PUBLISHED,
STATUS_RESUBMITTED, STATUS_RESUBMITTED_REJECTED_VISIBLE])
def originally_submitted(self, from_date, until_date):
"""
Returns the submissions originally received between from_date and until_date
(including subsequent resubmissions, even if those came in later).
"""
identifiers = []
for sub in self.filter(is_resubmission=False,
submission_date__range=(from_date, until_date)):
identifiers.append(sub.arxiv_identifier_wo_vn_nr)
return self.filter(arxiv_identifier_wo_vn_nr__in=identifiers)
def accepted(self):
return self.filter(status=STATUS_ACCEPTED)
......
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