diff --git a/submissions/mixins.py b/submissions/mixins.py index 6f82693b101bc7bcad1e706d73f1c381ef4f36a2..44cc263a517ec01384419d4684333e9921954b6b 100644 --- a/submissions/mixins.py +++ b/submissions/mixins.py @@ -1,3 +1,4 @@ +from django.core.exceptions import ImproperlyConfigured from django.contrib.auth.mixins import PermissionRequiredMixin from django.views.generic.list import ListView @@ -22,6 +23,16 @@ class FriendlyPermissionMixin(PermissionRequiredMixin): class SubmissionFormViewMixin: + def get_success_url(self): + if not self.success_url: + try: + return str(self.get_object().get_absolute_url()) + except: + raise ImproperlyConfigured("No URL to redirect to. Provide a success_url.") + + return str(self.success_url) # success_url may be lazy + + def get_form_kwargs(self): """ Ideally all ModelForms on Submission-related objects have a required argument `submission`. diff --git a/submissions/views.py b/submissions/views.py index cda1c2fdc58343fa484fd3cb925b8fbd392f2974..8468bdf8cfd4cad5d017399f7bb895c2d551310d 100644 --- a/submissions/views.py +++ b/submissions/views.py @@ -1486,7 +1486,6 @@ class PlagiarismView(SubmissionAdminViewMixin, UpdateView): permission_required = 'scipost.can_do_plagiarism_checks' template_name = 'submissions/admin/plagiarism_report.html' editorial_page = True - success_url = reverse_lazy('submissions:plagiarism') form_class = iThenticateReportForm def get_object(self):