From 3f4d868db2c2e42a157bdc603f073d067b04534a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Tue, 13 Oct 2020 09:29:03 +0200 Subject: [PATCH] backoffice: go to "return url" after removal of draft (#47598) --- tests/test_backoffice_pages.py | 11 +++++++++++ wcs/backoffice/submission.py | 5 ++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/tests/test_backoffice_pages.py b/tests/test_backoffice_pages.py index 533860323..f47c7f694 100644 --- a/tests/test_backoffice_pages.py +++ b/tests/test_backoffice_pages.py @@ -2674,6 +2674,17 @@ def test_backoffice_submission_with_return_url(pub): resp = resp.form.submit('submit') # -> to submit assert resp.location == 'https://example.org' + # test removal of draft + resp = app.get('/backoffice/submission/form-title/?ReturnURL=https://example.org') + resp = resp.follow().follow() + resp.form['f1'] = 'test submission' + resp.form['f2'] = 'baz' + resp.form['f3'] = 'C' + resp = resp.form.submit('submit') # -> to validation + resp = resp.click('Delete this form') + resp = resp.form.submit('delete') + assert resp.location == 'https://example.org' + def test_backoffice_parallel_submission(pub): user = create_user(pub) diff --git a/wcs/backoffice/submission.py b/wcs/backoffice/submission.py index 6d49f0015..118241dca 100644 --- a/wcs/backoffice/submission.py +++ b/wcs/backoffice/submission.py @@ -71,8 +71,11 @@ class RemoveDraftDirectory(Directory): if formdata.tracking_code: get_publisher().tracking_code_class.remove_object(formdata.tracking_code) + return_url = '../..' + if formdata.submission_context: + return_url = formdata.submission_context.get('return_url', return_url) formdata.remove_self() - return redirect('../..') + return redirect(return_url) class SubmissionFormStatusPage(FormStatusPage):