Skip to content

Commit fff11a1

Browse files
committed
fix: Preview did not show the redirect page (#8175)
* docs: Update release notes * fix: Preview did not show the redirect page * Merge upstream * Undo unwanted changes * No loop in tests
1 parent f272d25 commit fff11a1

File tree

2 files changed

+19
-17
lines changed

2 files changed

+19
-17
lines changed

cms/tests/test_views.py

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -107,20 +107,23 @@ def test_redirect_preview_in_edit_mode(self):
107107
page_content = create_page_content("en", "home", page, redirect="https://example.com")
108108

109109
page.set_as_homepage()
110-
110+
expected = f"""
111+
<div class="cms-screenblock">
112+
<div class="cms-screenblock-inner">
113+
<h1>This page has no preview!</h1>
114+
<p>It is being redirected to: <a href="{page_content.redirect}">{page_content.redirect}</a></p>
115+
</div>
116+
</div>
117+
"""
111118
with self.login_user_context(user), force_language('fr'):
112-
edit_url = get_object_edit_url(page_content, language='fr')
113-
response = self.client.get(edit_url, follow=True)
114-
115-
expected = f"""
116-
<div class="cms-screenblock">
117-
<div class="cms-screenblock-inner">
118-
<h1>This page has no preview!</h1>
119-
<p>It is being redirected to: <a href="{page_content.redirect}">{page_content.redirect}</a></p>
120-
</div>
121-
</div>
122-
"""
123-
self.assertContains(response, expected, count=1, html=True)
119+
with self.subTest("Edit endpoint shows redirect message"):
120+
url = get_object_edit_url(page_content, language='fr')
121+
response = self.client.get(url)
122+
self.assertContains(response, expected, count=1, html=True)
123+
with self.subTest("Preview endpoint shows redirect message"):
124+
url = get_object_preview_url(page_content, language='fr')
125+
response = self.client.get(url)
126+
self.assertContains(response, expected, count=1, html=True)
124127

125128
def test_external_redirect(self):
126129
# test external redirect

cms/views.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -321,10 +321,9 @@ def render_object_endpoint(request, content_type_id, object_id, require_editable
321321
toolbar = get_toolbar_from_request(request)
322322
toolbar.set_object(content_type_obj)
323323

324-
if request.user.is_staff and toolbar.edit_mode_active:
325-
redirect = getattr(content_type_obj, "redirect", None)
326-
if isinstance(redirect, str):
327-
toolbar.redirect_url = redirect
324+
redirect = getattr(content_type_obj, "redirect", None)
325+
if isinstance(redirect, str):
326+
toolbar.redirect_url = redirect
328327

329328
if require_editable and not toolbar.object_is_editable():
330329
# If not editable, switch from edit to preview endpoint

0 commit comments

Comments
 (0)