From bd1d66a8b8dab859456fd05b15310e49058db91f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Thu, 28 Apr 2016 14:34:32 +0200 Subject: [PATCH] admin: redirect to anchored field after submit (#10759) --- tests/test_admin_pages.py | 8 ++++---- wcs/admin/fields.py | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/test_admin_pages.py b/tests/test_admin_pages.py index 6b8e187..3dd5d8d 100644 --- a/tests/test_admin_pages.py +++ b/tests/test_admin_pages.py @@ -827,7 +827,7 @@ def test_form_edit_field(pub): resp.forms[0]['label'] = 'changed field' resp.forms[0]['required'] = False resp = resp.forms[0].submit('submit') - assert resp.location == 'http://example.net/backoffice/forms/1/fields/' + assert resp.location == 'http://example.net/backoffice/forms/1/fields/#itemId_1' assert FormDef.get(1).fields[0].label == 'changed field' assert FormDef.get(1).fields[0].required == False @@ -859,7 +859,7 @@ def test_form_edit_field_advanced(pub): resp.forms[0]['prefill$type'] = 'String' resp.forms[0]['prefill$value_string'] = 'test' resp = resp.forms[0].submit('submit') - assert resp.location == 'http://example.net/backoffice/forms/1/fields/' + assert resp.location == 'http://example.net/backoffice/forms/1/fields/#itemId_1' resp = resp.follow() assert FormDef.get(formdef.id).fields[0].prefill == {'type': 'string', 'value': 'test'} @@ -906,7 +906,7 @@ def test_form_edit_item_field(pub): assert 'items$element1' in resp.form.fields # but don't fill anything resp = resp.forms[0].submit('submit') - assert resp.location == 'http://example.net/backoffice/forms/1/fields/' + assert resp.location == 'http://example.net/backoffice/forms/1/fields/#itemId_1' resp = resp.follow() assert FormDef.get(1).fields[0].label == 'changed field' @@ -918,7 +918,7 @@ def test_form_edit_item_field(pub): assert resp.forms[0]['label'].value == 'changed field' resp.forms[0]['items$element0'] = 'XXX' resp = resp.forms[0].submit('submit') - assert resp.location == 'http://example.net/backoffice/forms/1/fields/' + assert resp.location == 'http://example.net/backoffice/forms/1/fields/#itemId_1' assert FormDef.get(1).fields[0].items == ['XXX'] def test_form_edit_page_field(pub): diff --git a/wcs/admin/fields.py b/wcs/admin/fields.py index 8ef81ae..a1749c3 100644 --- a/wcs/admin/fields.py +++ b/wcs/admin/fields.py @@ -62,7 +62,7 @@ class FieldDefPage(Directory): redo = False if form.get_submit() == 'cancel': - return redirect('..') + return redirect('../#itemId_%s' % self.field.id) if form.get_widget('items') and form.get_widget('items').get_widget('add_element').parse(): form.clear_errors() @@ -86,7 +86,7 @@ class FieldDefPage(Directory): self.submit(form) if form.get_widget('items') is None and self.field.type == 'item': return redirect('.') - return redirect('..') + return redirect('../#itemId_%s' % self.field.id) def submit(self, form): for f in self.field.get_admin_attributes(): -- 2.8.1