Skip to content

Commit 2846080

Browse files
committed
feat: Use get_full_url on versioned content if available
This allows viewing versioned content on different sites
1 parent d0c928c commit 2846080

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

djangocms_versioning/admin.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1101,9 +1101,14 @@ def publish_view(self, request, object_id):
11011101
self.message_user(request, _("Version published"))
11021102

11031103
# Redirect to published?
1104-
if conf.ON_PUBLISH_REDIRECT == "published":
1105-
if hasattr(version.content, "get_absolute_url"):
1106-
requested_redirect = requested_redirect or version.content.get_absolute_url()
1104+
if not requested_redirect and conf.ON_PUBLISH_REDIRECT == "published":
1105+
if hasattr(version.content, "get_full_url"):
1106+
full_url = version.content.get_full_url()
1107+
if full_url:
1108+
# Can't resolve full_url, redirect directly to it
1109+
return redirect(full_url)
1110+
elif hasattr(version.content, "get_absolute_url"):
1111+
requested_redirect = version.content.get_absolute_url()
11071112

11081113
return self._internal_redirect(requested_redirect, redirect_url)
11091114

djangocms_versioning/cms_toolbars.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,9 @@ def _add_view_published_button(self):
258258
if not published_version:
259259
return
260260

261-
url = published_version.get_absolute_url() if hasattr(published_version, "get_absolute_url") else None
261+
url = published_version.get_full_url() if hasattr(published_version, "get_full_url") else None
262+
if not url and hasattr(published_version, "get_absolute_url"):
263+
url = published_version.get_absolute_url()
262264
if url and (self.toolbar.edit_mode_active or self.toolbar.preview_mode_active):
263265
item = ButtonList(side=self.toolbar.RIGHT)
264266
item.add_button(

0 commit comments

Comments
 (0)