diff --git a/submissions/forms.py b/submissions/forms.py index eb582fe3f90e0e6b988271dd66f6c2a31ce96f98..f6374b473b953a6dd53b3c0ea72183617fb1039a 100644 --- a/submissions/forms.py +++ b/submissions/forms.py @@ -823,18 +823,21 @@ class WithdrawSubmissionForm(forms.Form): status=STATUS_COMPLETED) # Deprecate any outstanding recommendations - EICRecommendation.objects.filter(submission=self.submission).active().update( - status=DEPRECATED) - self.submission.refresh_from_db() + if EICRecommendation.objects.filter(submission=self.submission).exists(): + EICRecommendation.objects.filter(submission=self.submission).active().update( + status=DEPRECATED) # Update editorial decision - EditorialDecision.objects.filter(submission=self.submission).last().update( - status=EditorialDecision.PUBOFFER_REFUSED_BY_AUTHORS) + if EditorialDecision.objects.filter(submission=self.submission).exists(): + EditorialDecision.objects.filter(submission=self.submission).last().update( + status=EditorialDecision.PUBOFFER_REFUSED_BY_AUTHORS) # Delete any production stream if self.submission.production_stream: self.submission.production_stream.delete() + self.submission.refresh_from_db() + return self.submission diff --git a/submissions/models.py b/submissions/models.py index 95c831ed8ed96cffc763eeb59bcd51f4b80d0182..08a0f0340638be671dd5291a6ff08db38a27ccde 100644 --- a/submissions/models.py +++ b/submissions/models.py @@ -413,7 +413,9 @@ class Submission(models.Model): @property def editorial_decision(self): """Returns the EditorialDecision (if exists and not deprecated).""" - return self.editorialdecision_set.last() + if self.editorialdecision_set.exists(): + return self.editorialdecision_set.last() + return None class SubmissionEvent(SubmissionRelatedObjectMixin, TimeStampedModel):