diff --git a/submissions/constants.py b/submissions/constants.py index 706bc13334948f8df222a24e4054252b96f011f4..43ce5c8f1c4c3a4ce895e1f10cff3e803479b708 100644 --- a/submissions/constants.py +++ b/submissions/constants.py @@ -163,6 +163,7 @@ REPORT_ACTION_CHOICES = ( (REPORT_ACTION_REFUSE, 'refuse'), ) +STATUS_DRAFT = 'draft' STATUS_VETTED = 'vetted' STATUS_UNVETTED = 'unvetted' STATUS_UNCLEAR = 'unclear' @@ -179,6 +180,7 @@ REPORT_REFUSAL_CHOICES = ( ) REPORT_STATUSES = ( + (STATUS_DRAFT, 'Draft'), (STATUS_VETTED, 'Vetted'), (STATUS_UNVETTED, 'Unvetted'), (STATUS_INCORRECT, 'Rejected (incorrect)'), diff --git a/submissions/managers.py b/submissions/managers.py index d68abaa5b2f2204a3382ca096060b89638d1e577..016cd3284c0865c5ea1c73ccf806f5a028280846 100644 --- a/submissions/managers.py +++ b/submissions/managers.py @@ -4,7 +4,7 @@ from django.db.models import Q from .constants import SUBMISSION_STATUS_OUT_OF_POOL, SUBMISSION_STATUS_PUBLICLY_UNLISTED,\ SUBMISSION_STATUS_PUBLICLY_INVISIBLE, STATUS_UNVETTED, STATUS_VETTED,\ STATUS_UNCLEAR, STATUS_INCORRECT, STATUS_NOT_USEFUL, STATUS_NOT_ACADEMIC,\ - SUBMISSION_HTTP404_ON_EDITORIAL_PAGE#, STATUS_DRAFT + SUBMISSION_HTTP404_ON_EDITORIAL_PAGE, STATUS_DRAFT class SubmissionManager(models.Manager): @@ -119,5 +119,5 @@ class ReportManager(models.Manager): return self.filter(status__in=[STATUS_UNCLEAR, STATUS_INCORRECT, STATUS_NOT_USEFUL, STATUS_NOT_ACADEMIC]) - # def in_draft(self): - # return self.filter(status=STATUS_DRAFT) + def in_draft(self): + return self.filter(status=STATUS_DRAFT) diff --git a/submissions/models.py b/submissions/models.py index a5272e5ea651b8054afe00598af9bb0462e6d26f..17a3643441ffd49857f4e637262444881de02fb2 100644 --- a/submissions/models.py +++ b/submissions/models.py @@ -263,7 +263,7 @@ class Report(models.Model): verbose_name="Quality of paper formatting") grammar = models.SmallIntegerField(choices=QUALITY_SPEC, verbose_name="Quality of English grammar") - # + recommendation = models.SmallIntegerField(choices=REPORT_REC) remarks_for_editors = models.TextField(default='', blank=True, verbose_name='optional remarks for the Editors only') diff --git a/submissions/views.py b/submissions/views.py index 17f455338722e192532ce173ab0b16fac2a819b9..afc17c842eccc0fc61a97064508c0b6a43b8f36f 100644 --- a/submissions/views.py +++ b/submissions/views.py @@ -15,7 +15,7 @@ from django.utils.decorators import method_decorator from guardian.decorators import permission_required_or_403 from guardian.shortcuts import assign_perm -from .constants import SUBMISSION_STATUS_VOTING_DEPRECATED,\ +from .constants import SUBMISSION_STATUS_VOTING_DEPRECATED, STATUS_VETTED, STATUS_EIC_ASSIGNED,\ SUBMISSION_STATUS_PUBLICLY_INVISIBLE, SUBMISSION_STATUS, ED_COMM_CHOICES from .models import Submission, EICRecommendation, EditorialAssignment,\ RefereeInvitation, Report, EditorialCommunication @@ -861,9 +861,9 @@ def close_refereeing_round(request, arxiv_identifier_w_vn_nr): @permission_required('scipost.can_oversee_refereeing', raise_exception=True) def refereeing_overview(request): - submissions_under_refereeing = Submission.objects.filter( - status='EICassigned').order_by('submission_date') - context= {'submissions_under_refereeing': submissions_under_refereeing,} + submissions_under_refereeing = (Submission.objects.filter(status=STATUS_EIC_ASSIGNED) + .order_by('submission_date')) + context = {'submissions_under_refereeing': submissions_under_refereeing} return render(request, 'submissions/refereeing_overview.html', context) @@ -1060,7 +1060,7 @@ def vet_submitted_reports(request): @permission_required('scipost.can_take_charge_of_submissions', raise_exception=True) @transaction.atomic def vet_submitted_report_ack(request, report_id): - report = get_object_or_404(Report, pk=report_id, + report = get_object_or_404(Report.objects.awaiting_vetting(), pk=report_id, submission__editor_in_charge=request.user.contributor) form = VetReportForm(request.POST or None) if form.is_valid():