Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 1b4dbfc

Browse files
authored
fix: Only show language menu for more than one language (#457)
* Only show language menu for more than one language * fix ruff issues
1 parent c6a54e6 commit 1b4dbfc

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

‎djangocms_versioning/cms_toolbars.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,10 +446,14 @@ def add_language_menu(self):
446446
super().add_language_menu()
447447
return
448448

449+
languages = get_language_tuple(self.current_site.pk)
450+
if len(languages) < 2:
451+
return # No need to show the language menu if there is only one language
452+
449453
language_menu = self.toolbar.get_or_create_menu(
450454
LANGUAGE_MENU_IDENTIFIER, _("Language"), position=-1
451455
)
452-
for code, name in get_language_tuple(self.current_site.pk):
456+
for code, name in languages:
453457
# Get the page content, it could be draft too!
454458
page_content = self.page.get_admin_content(language=code)
455459
if page_content:

‎tests/test_toolbars.py‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,20 @@ def _get_toolbar_item_by_name(self, menu, name):
495495
return item
496496
return None
497497

498+
@override_settings(CMS_LANGUAGES = {1: [{"code": "en", "name": "English"}]})
499+
def test_change_language_menu_page_toolbar_one_languages(self):
500+
page_content = PageContentWithVersionFactory()
501+
request = self.get_page_request(
502+
page=page_content.page,
503+
path=get_object_edit_url(page_content),
504+
user=self.get_superuser(),
505+
)
506+
request.toolbar.set_object(page_content)
507+
request.toolbar.populate()
508+
request.toolbar.post_template_populate()
509+
language_menu = request.toolbar.get_menu(LANGUAGE_MENU_IDENTIFIER)
510+
self.assertIsNone(language_menu)
511+
498512
def test_change_language_menu_page_toolbar(self):
499513
"""Check that patched PageToolbar.change_language_menu only provides
500514
Add Translation links if DJANGOCMS_ALLOW_DELETING_VERSIONS is False.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /