Skip to content

Commit 2b833b4

Browse files
author
Vanessa Bedzra
committed
Update PR per review
1 parent 7560fe4 commit 2b833b4

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

djangocms_versioning/cms_toolbars.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -338,12 +338,12 @@ def override_language_menu(self):
338338
language_menu.add_link_item(name, url=url, active=self.current_lang == code)
339339

340340
def change_language_menu(self):
341-
if self.toolbar.edit_mode_active and self.page:
342-
can_change = page_permissions.user_can_change_page(
341+
can_change = (
342+
self.page
343+
and page_permissions.user_can_change_page(
343344
user=self.request.user, page=self.page, site=self.current_site
344345
)
345-
else:
346-
can_change = False
346+
)
347347

348348
language_menu = self.toolbar.get_menu(LANGUAGE_MENU_IDENTIFIER)
349349
if not language_menu:
@@ -355,7 +355,9 @@ def change_language_menu(self):
355355
copy = [
356356
(code, name) for code, name in languages.items() if code != self.current_lang and (code, name) in remove
357357
]
358-
if add:
358+
359+
# ADD TRANSLATION — only if user has change permission
360+
if can_change and add:
359361
language_menu.add_break(ADD_PAGE_LANGUAGE_BREAK)
360362

361363
add_plugins_menu = language_menu.get_or_create_menu(f"{LANGUAGE_MENU_IDENTIFIER}-add", _("Add Translation"))
@@ -365,7 +367,9 @@ def change_language_menu(self):
365367
for code, name in add:
366368
url = add_url_parameters(page_add_url, cms_page=self.page.pk, language=code)
367369
add_plugins_menu.add_modal_item(name, url=url)
368-
if remove and ALLOW_DELETING_VERSIONS and CMS_SUPPORTS_DELETING_TRANSLATIONS: # fabian why?
370+
371+
# DELETE TRANSLATION — only if user has change permission
372+
if can_change and remove and ALLOW_DELETING_VERSIONS and CMS_SUPPORTS_DELETING_TRANSLATIONS: # fabian why?
369373
remove_plugins_menu = language_menu.get_or_create_menu(
370374
f"{LANGUAGE_MENU_IDENTIFIER}-del", _("Delete Translation")
371375
)
@@ -386,8 +390,9 @@ def change_language_menu(self):
386390
None,
387391
)
388392
on_close = get_object_preview_url(other_content)
389-
remove_plugins_menu.add_modal_item(name, url=url, disabled=disabled, on_close=on_close)
390-
if can_change and copy:
393+
remove_plugins_menu.add_modal_item(name, url=url, disabled=disabled, on_close=on_close)
394+
# COPY ALL PLUGINS — only if user can change AND in edit mode
395+
if can_change and self.toolbar.edit_mode_active and copy:
391396
copy_plugins_menu = language_menu.get_or_create_menu(
392397
f"{LANGUAGE_MENU_IDENTIFIER}-copy", _("Copy all plugins")
393398
)

tests/test_toolbars.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ def test_change_language_menu_page_toolbar_one_languages(self):
483483
request.toolbar.post_template_populate()
484484

485485
language_menu = request.toolbar.get_menu(LANGUAGE_MENU_IDENTIFIER)
486-
self.assertIsNone(language_menu, "Language menu should not be created if the page has only one language.")
486+
self.assertIsNone(language_menu)
487487

488488
def test_change_language_menu_page_toolbar(self):
489489
"""Check that patched PageToolbar.change_language_menu only provides

0 commit comments

Comments
 (0)