8000 Fixed #6130 -- Set overwrite_url initial value on advanced settings f… · django-cms/django-cms@acfa688 · GitHub
[go: up one dir, main page]

Skip to content

Commit acfa688

Browse files
authored
Fixed #6130 -- Set overwrite_url initial value on advanced settings form (#6132)
1 parent 70b88a2 commit acfa688

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

cms/admin/forms.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,9 @@ def __init__(self, *args, **kwargs):
604604
self.fields['redirect'].widget.language = self._language
605605
self.fields['redirect'].initial = self.title_obj.redirect
606606

607+
if 'overwrite_url' in self.fields:
608+
self.fields['overwrite_url'].initial = self.title_obj.path
609+
607610
def get_navigation_extenders(self):
608611
return menu_pool.get_menus_by_attribute("cms_enabled", True)
609612

cms/tests/test_page_admin.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -828,7 +828,30 @@ def test_get_page_from_request_cached(self):
828828
self.assertEqual(page, mock_page)
829829

830830
@override_settings(CMS_PERMISSION=False)
831-
def test_existing_overwrite_url(self):
831+
def test_set_overwrite_url(self):
832+
superuser = self.get_superuser()
833+
cms_page = create_page('page', 'nav_playground.html', 'en', published=True)
834+
expected = (
835+
'<input id="id_overwrite_url" maxlength="255" '
836+
'value="new-url" name="overwrite_url" type="text" />'
837+
)
838+
changelist = self.get_admin_url(Page, 'changelist')
839+
endpoint = self.get_admin_url(Page, 'advanced', cms_page.pk)
840+
841+
with self.login_user_context(superuser):
842+
page_data = {
843+
'overwrite_url': '/new-url/',
844+
'template': cms_page.template,
845+
}
846+
response = self.client.post(endpoint, page_data)
847+
self.assertRedirects(response, changelist)
848+
849+
with self.login_user_context(superuser):
850+
response = self.client.get(endpoint)
851+
self.assertContains(response, expected, html=True)
852+
853+
@override_settings(CMS_PERMISSION=False)
854+
def test_set_existing_overwrite_url(self):
832855
superuser = self.get_superuser()
833856

834857
create_page('home', 'nav_playground.html', 'en', published=True)

0 commit comments

Comments
 (0)
0