File tree Expand file tree Collapse file tree 7 files changed +30
-5
lines changed
Expand file tree Collapse file tree 7 files changed +30
-5
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ Changelog
44
55Unreleased
66==========
7+ * fix: Only try modifying page language menu if it is present
78* fix: Added ``related_name `` attribute to the ``content_type `` foreign key of the ``Version `` model.
89* fix: burger menu adjusts to the design of django cms core dropdown
910* fix: bug that showed an archived version as unpublished in some cases in the state indicator
Original file line number Diff line number Diff line change @@ -2,4 +2,5 @@ include LICENSE.txt
22include README.rst
33recursive-include djangocms_versioning/static *
44recursive-include djangocms_versioning/templates *
5+ recursive-include djangocms_versioning/locale *
56recursive-exclude * *.pyc
Original file line number Diff line number Diff line change @@ -320,10 +320,9 @@ def override_language_menu(self):
320320 Override the default language menu for pages that are versioned.
321321 The default language menu is too generic so for pages we need to replace it.
322322 """
323- # Only override the menu if a page can be found
324- if settings .USE_I18N and self .page :
325- language_menu = self .toolbar .get_menu (LANGUAGE_MENU_IDENTIFIER , _ ("Language" ))
326-
323+ # Only override the menu if it exists and a page can be found
324+ language_menu = self .toolbar .get_menu (LANGUAGE_MENU_IDENTIFIER , _ ("Language" ))
325+ if settings .USE_I18N and language_menu and self .page :
327326 # remove_item uses `items` attribute so we have to copy object
328327 for _item in copy (language_menu .items ):
329328 language_menu .remove_item (item = _item )
Original file line number Diff line number Diff line change @@ -266,7 +266,7 @@ msgstr "Actie niet geldig. De laatste versie is gesloten door {user}"
266266#: models.py:33
267267#, python-brace-format
268268msgid "Action Denied. The draft version is locked by {user}"
269- msgstr "Actie niet geldig. De concept versie is gesloten door "
269+ msgstr "Actie niet geldig. De concept versie is gesloten door {user} "
270270
271271#: models.py:88
272272msgid "Created"
Original file line number Diff line number Diff line change @@ -578,3 +578,27 @@ def test_change_language_menu_page_toolbar_language_selector_version_link(self):
578578 self .assertEqual (en_item .url , en_preview_url )
579579 self .assertEqual (de_item .url , de_preview_url )
580580 self .assertEqual (it_item .url , it_preview_url )
581+
582+ def test_page_toolbar_wo_language_menu (self ):
583+ from django .utils .translation import gettext as _
584+
585+ pagecontent = PageContentWithVersionFactory (language = "en" )
586+ page = pagecontent .page
587+ # Get request
588+ request = self .get_page_request (
589+ page = page ,
590+ path = get_object_edit_url (pagecontent ),
591+ user = self .get_superuser (),
592+ )
593+ # Remove language menu from request's toolbar
594+ del request .toolbar .menus [LANGUAGE_MENU_IDENTIFIER ]
595+
596+ # find VersioningPageToolbar
597+ for cls , toolbar in request .toolbar .toolbars .items ():
598+ if cls == "djangocms_versioning.cms_toolbars.VersioningPageToolbar" :
599+ # and call override_language_menu
600+ toolbar .override_language_menu ()
601+ break
602+
603+ language_menu = request .toolbar .get_menu (LANGUAGE_MENU_IDENTIFIER , _ ("Language" ))
604+ self .assertIsNone (language_menu )
You can’t perform that action at this time.
0 commit comments