diff --git a/submissions/forms.py b/submissions/forms.py index 90ca3abf981ac90841625ac2df8a4c3eb2294a99..7cf8bb5e701e1fd3f1c5c123282e7efe03995f78 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)