From c4b022670f8ab4ddfb41298c13bf8d839e91b26b Mon Sep 17 00:00:00 2001 From: Jorran de Wit <jorrandewit@outlook.com> Date: Thu, 14 Jun 2018 15:22:01 +0200 Subject: [PATCH] Fix EIC assigned on rejection --- submissions/forms.py | 61 ++++++++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/submissions/forms.py b/submissions/forms.py index 90ca3abf9..7cf8bb5e7 100644 --- a/submissions/forms.py +++ b/submissions/forms.py @@ -551,39 +551,40 @@ class EditorialAssignmentForm(forms.ModelForm): self.instance.to = self.request.user.contributor recommendation = super().save() # Save already, in case it's a new recommendation. - if self.is_normal_cycle(): - # Default Refereeing process! - - deadline = timezone.now() + datetime.timedelta(days=28) - if recommendation.submission.submitted_to_journal == 'SciPostPhysLectNotes': - deadline += datetime.timedelta(days=28) - - # Update related Submission. - Submission.objects.filter(id=self.submission.id).update( - refereeing_cycle=CYCLE_DEFAULT, - status=STATUS_EIC_ASSIGNED, - reporting_deadline=deadline, - open_for_reporting=True, - open_for_commenting=True, - visible_public=True, - latest_activity=timezone.now()) - else: - # Formulate rejection recommendation instead - - # Update related Submission. - Submission.objects.filter(id=self.submission.id).update( - refereeing_cycle=CYCLE_DIRECT_REC, - status=STATUS_EIC_ASSIGNED, - reporting_deadline=timezone.now(), - open_for_reporting=False, - open_for_commenting=True, - visible_public=False, - latest_activity=timezone.now()) + if self.has_accepted_invite(): + if self.is_normal_cycle(): + # Default Refereeing process! + + deadline = timezone.now() + datetime.timedelta(days=28) + if recommendation.submission.submitted_to_journal == 'SciPostPhysLectNotes': + deadline += datetime.timedelta(days=28) + + # Update related Submission. + Submission.objects.filter(id=self.submission.id).update( + refereeing_cycle=CYCLE_DEFAULT, + status=STATUS_EIC_ASSIGNED, + editor_in_charge=self.request.user.contributor, + reporting_deadline=deadline, + open_for_reporting=True, + open_for_commenting=True, + visible_public=True, + latest_activity=timezone.now()) + else: + # Formulate rejection recommendation instead + + # Update related Submission. + Submission.objects.filter(id=self.submission.id).update( + refereeing_cycle=CYCLE_DIRECT_REC, + status=STATUS_EIC_ASSIGNED, + editor_in_charge=self.request.user.contributor, + reporting_deadline=timezone.now(), + open_for_reporting=False, + open_for_commenting=True, + visible_public=False, + latest_activity=timezone.now()) if self.has_accepted_invite(): # Implicitly or explicity accept the assignment and deprecate others. - Submission.objects.filter(id=self.submission.id).update( - editor_in_charge=self.request.user.contributor,) recommendation.accepted = True EditorialAssignment.objects.filter(submission=self.submission, accepted=None).exclude( id=recommendation.id).update(deprecated=True) -- GitLab