Skip to content

Commit 68036fc

Browse files
authored
fix: Respect ?preview for menu views
This is a hot fix for #69: Respect the ?preview flag in menu views by manually setting toolbar.preview_mode_active accordingly.
2 parents 67c83fa + 0883ff6 commit 68036fc

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

djangocms_rest/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ def get_menu_structure(
328328

329329
request.api_endpoint = api_endpoint
330330
request.LANGUAGE_CODE = language
331-
request.current_page = get_object(self.site, path)
331+
request.current_page = get_object(self.site, path) # Used to identify the current page in menus
332332
self.check_object_permissions(request, request.current_page)
333333
menu_renderer = menu_pool.get_renderer(request)
334334
menu_renderer.site = self.site

djangocms_rest/views_base.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
)
2525
]
2626
)
27-
except ImportError: # pragma: no cover
27+
except ImportError: # pragma: no cover
28+
2829
class OpenApiTypes:
2930
BOOL = "boolean"
3031

@@ -40,11 +41,13 @@ def __init__(self, *args, **kwargs):
4041
def extend_schema(*_args, **_kwargs): # pragma: no cover
4142
def _decorator(obj: T) -> T:
4243
return obj
44+
4345
return _decorator
4446

45-
def preview_schema(obj: T) -> T: # pragma: no cover
47+
def preview_schema(obj: T) -> T: # pragma: no cover
4648
return obj
4749

50+
4851
@preview_schema
4952
class BaseAPIMixin:
5053
"""
@@ -62,9 +65,12 @@ def site(self):
6265
return site if site is not None else get_current_site(self.request)
6366

6467
def _preview_requested(self):
65-
return "preview" in self.request.GET and self.request.GET.get(
66-
"preview", ""
67-
).lower() not in ("0", "false")
68+
preview_mode = "preview" in self.request.GET and self.request.GET.get("preview", "").lower() not in (
69+
"0",
70+
"false",
71+
)
72+
self.request.toolbar.preview_mode_active = preview_mode
73+
return preview_mode
6874

6975
@property
7076
def content_getter(self):

0 commit comments

Comments
 (0)