From 50b00993e9d474c7055ed89f68d7a808b236297a Mon Sep 17 00:00:00 2001
From: Fabian Braun <fsbraun@gmx.de>
Date: Mon, 15 May 2023 09:34:21 +0200
Subject: [PATCH 1/5] Compile messages

---
 .../locale/de/LC_MESSAGES/django.mo           | Bin 6856 -> 8257 bytes
 .../locale/nl/LC_MESSAGES/django.mo           | Bin 6681 -> 8121 bytes
 .../locale/nl/LC_MESSAGES/django.po           |   2 +-
 3 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/djangocms_versioning/locale/de/LC_MESSAGES/django.mo b/djangocms_versioning/locale/de/LC_MESSAGES/django.mo
index 51edfdce5e864b2546f10f0c4b3dfc3b7e367335..27db87fbc4a114dd544580744f6204144f62d588 100644
GIT binary patch
delta 3452
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
Naji3l5-%yo=6{PmW4-_Y

delta 2086
zcmZ|PTWnNC9LMq57HC;pmhQIHtxGAEDy`JARHR*ja#8LqSSU6aO_op!m{e)I-9$-_
zs3G`(HJLQp*g#^CCryM62#IMVpp=*>u^}kpC1`vScqocBG4TEE8D2=7?Eidb&TTIL
zIeTWw$b9eT@Pq+FX(wXD)jVT79Gb|1@_vCai*OJh#>?1%|6(=P75XNzh;}!I&_ix9
z{aA|c;Y|D(`I&DxEKpaMsm$X<XtFVlxD1=I4=3TLH~~LHz3_9Kj^{9f*KjKS?XDLD
z{dUM%g?cWI8ep?)ufUL|nxvu;zK9xO4{D|Zs6{x18o;n?pT%0*7u@+V)QtYYdJH_^
zuRsHaX}7p`E9$;&$XLxwx~`>8Q+Wsvpk{Iem5LLnk$>mBf_m^8YGwXJt-u(TVFA<I
zjnh%r51=N{@7e>X2@c^b97azs{EZ6lFxPQ2j-yr}S?mvN4{Bfsu>udd^QTd%xP;Si
z47E3cQ`i@nKwa-Zb^Ipky&qu-j!a?wHG?ah(9+yMe&#j@#$YC~lQfeE@@`Xsah&bW
zZ$-^Kg<7eMJMTI7V|RdoW0dRaRjIB(4Wyxj_16npIiVEnbT_<(57Hh)t;})M3x+X)
z-y`WZ5fc0qR^npZirTz`_yUfiQV?gB8sGxdb1gUr*LYOaQ3f@TcTqDw>e`=RIqkEk
z75WjCir-PG`wR8l9n^hgOs@&+aR%-{b-W+d@jIx^Jcx7AJ48hz{1$cNC5+=w$U9Al
zw=1{RsCEL?aT1l1cI0Pva8QSPkw?uCD(A;g10O{V{3?<Sa~(;sXa1w2Tm<PwIj_gp
zFoEjmBx*&zK)vWZ>W}9lK909go3fhe>#JFeBltY(zF91<Qo9PthS`qV{TZy)_di5s
z9w)v+erBA*atxDjo!^2w|2AqyAEG)uhg$MqP#xb!4Y-txR81vnC7MtxyB@WIZTJ}O
z!in^62B@$I<^$ABkD+FI%C*lRn>hC{=x@_Jp$bJSrjj5uOMPzYT+j2E$tUs%m8X4j
z`PW325}tPL8iEb|zh$GlvL2PHMnb#3ifABeiOs}HqKQ~SsA!p0RuTHFTZuYi1);rC
zqx{dNqK$NaQLeO6v}^B`)l}MD<Jo&BottnOF`v*Un@b&Psa4kb<Wi*SlSI7|qZ~eG
zQ-u*PNo@|Xh)~h?Qdvke6YMne456aE+?K2P2kn4LLf?))EERoMExDS%1GJ0Q6516i
zO15^|qXb*kpQ(1j279pZwA~o2$^IH#n`c)R@5z2$d@_(d8j1$&4^#iJ7fbr=-f)dQ
z9{w^vlgZduBaalVOLcXoQ=J`&s_h;2aO9?aqb!y!pBBuw3#0q8qtVhlJ2zIAt&3d<
u*rLjD+Zd~`@frK_m!^B|>)~j5-^*Q9H9e-SyXTeebXTX@)SK!}_n5njR>%<m

diff --git a/djangocms_versioning/locale/nl/LC_MESSAGES/django.mo b/djangocms_versioning/locale/nl/LC_MESSAGES/django.mo
index 0238b9adccf17bffd7bf7a6da2c3f0179abcce9b..a1ffd899b3435bb042b75fdd2779b2c8899e994c 100644
GIT binary patch
delta 3431
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
V9BF1cnO>%t#F43`L0Yew{{r)|UcCSS

delta 2039
zcmZ|PS!_&E9LMo9MO$S$)2Xec(^_iRY89=m*4m4zB@#;|UP#c^kRZ82&`7EeSJ7xB
z5<Gd34yBex!h<b>L@W^z5*`$hiZ#UdH}`mvxaogB=bU?c?*IJHnQ19*C~#hcI@TMm
z<wPIid7Lp0Hg@8J>u7>86R`pN;bY9jAJ`v<CVG})SNc^LKnHom)L}O~f_?D}@@MYx
zF;=g7Oe3FxKxbn{;Z!Wbtr(AIu_InUO?U+}@CK&hD-7Zndp{w`>j$h^sQ=4DC0Jzp
zB^c0BOKB*>Rj3TBQ7f%S72zT(fmYkUjzj3*vg7Tj6@9}I=<DKDAQwaQi*3IQ_1sz{
zSF=I)Rq6<h-dKZL$w|~!oJVE;(E1GZkFQXbX+u?@9lK)!%Uh2bsQWdj1=QJoJ!*lC
zH~?GG(S)yQFo$`M<@g;{fl|MhSS2d4T1>~|cDx0(6_2n7wxiBQQZnZP$D!`8L%nzp
zYTi?rf;W??zgF;!0hQ(h@@KyCK@KLKlcbfTB6FK`%)`NUd<AOd6{t#Wv*V6+AMWyz
zIO-55^H!~V9_q|hrcnQE8YdZ0hPP2GZA0zdFI0tsbd+d1>iHa0g5{Wp6<CNaj>NlI
zfWJ@+$mgH66-B7|ig6&$c4(+{n~`^!{iu~Rpbq5;?1|0D`7-xV&pky|>>cX4&(_X#
zM$r#r7M7vrt41ZV19g~pV-7m|?Lf2jGOAS9P+RdE^+G>&RzDN9f*jPA6rvVTf;zM-
zkzCAnR7DS>o<D27gsR*PPsco<(Tjl>s0qGe1iLY-GChFGybiUJ!<dQ3QKfE0CHB$!
z8*AzNDVq{FhB~xYQHec4{cyF#WdDP_U3*%9dT<45;s|PQPorM=1ohlE)WqR5Z^Fq)
z&ZZod;Cf`+O%*D!y>|Q%@=nu;`FIZFdB1sUZ+y@I{dls_%KfN*2z{vRb&VwoVlA(f
zYK|lH8=|ip)5OjO|7JQ6afGhv9<jN#fGLDCiH|vi_V|C-LVIIA>ieq$HlD~La)}{C
zIWdzcBqkHO26&iRs7jO(`dug?R8gwwn87r3kp8_?LcX@KQ~&qgY#PgLXVKq5>tdWr
zj3)GBrV=kDh7r2vdBhH*nq!C&+A!_OGPfcz)hVSloY48#mE&P1U=hK|GBfO05SQ4t
z(9sPOIx#vux;hcXv6go-I5=i5!B;AFX>+F$g9whKzTe(aTHw|uwzvzEvZF7P=Ek`*
z{gu%>{$^kFbRf;=J`KKc@26~acZRZ~O(AZt4)>2X^*9*ku1VVy{gL*`7ftUI@wulm
ae!5NJ8h3N%z^-enHf=Q3TPn6hs?8s4QM%0l

diff --git a/djangocms_versioning/locale/nl/LC_MESSAGES/django.po b/djangocms_versioning/locale/nl/LC_MESSAGES/django.po
index 36a464a4..fec58ac3 100644
--- a/djangocms_versioning/locale/nl/LC_MESSAGES/django.po
+++ b/djangocms_versioning/locale/nl/LC_MESSAGES/django.po
@@ -266,7 +266,7 @@ msgstr "Actie niet geldig. De laatste versie is gesloten door {user}"
 #: models.py:33
 #, python-brace-format
 msgid "Action Denied. The draft version is locked by {user}"
-msgstr "Actie niet geldig. De concept versie is gesloten door "
+msgstr "Actie niet geldig. De concept versie is gesloten door {user}"
 
 #: models.py:88
 msgid "Created"

From cf6dfb31ba148bce8d5578ecdbc72271365782e6 Mon Sep 17 00:00:00 2001
From: Fabian Braun <fsbraun@gmx.de>
Date: Mon, 15 May 2023 09:42:00 +0200
Subject: [PATCH 2/5] Add locale directory to manifest

---
 MANIFEST.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MANIFEST.in b/MANIFEST.in
index 2972e242..5189771b 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -2,4 +2,5 @@ include LICENSE.txt
 include README.rst
 recursive-include djangocms_versioning/static *
 recursive-include djangocms_versioning/templates *
+recursive-include djangocms_versioning/locale *
 recursive-exclude * *.pyc

From 2e86bb7fae656f92a0050f8d94c066d8e40e9740 Mon Sep 17 00:00:00 2001
From: Fabian Braun <fsbraun@gmx.de>
Date: Tue, 16 May 2023 17:50:45 +0200
Subject: [PATCH 3/5] fix:  Pages do not need to have. a language menu. Only
 try modifying if it is there.

---
 CHANGELOG.rst                        | 1 +
 djangocms_versioning/cms_toolbars.py | 7 +++----
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index b350088a..d95fe481 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -4,6 +4,7 @@ Changelog
 
 Unreleased
 ==========
+* fix: Only try modifying page language menu if it is present
 * fix: Added ``related_name`` attribute to the ``content_type`` foreign key of the ``Version`` model.
 * fix: burger menu adjusts to the design of django cms core dropdown
 * fix: bug that showed an archived version as unpublished in some cases in the state indicator
diff --git a/djangocms_versioning/cms_toolbars.py b/djangocms_versioning/cms_toolbars.py
index a2f16930..5ac50365 100644
--- a/djangocms_versioning/cms_toolbars.py
+++ b/djangocms_versioning/cms_toolbars.py
@@ -320,10 +320,9 @@ def override_language_menu(self):
         Override the default language menu for pages that are versioned.
         The default language menu is too generic so for pages we need to replace it.
         """
-        # Only override the menu if a page can be found
-        if settings.USE_I18N and self.page:
-            language_menu = self.toolbar.get_menu(LANGUAGE_MENU_IDENTIFIER, _("Language"))
-
+        # Only override the menu if it exists and a page can be found
+        language_menu = self.toolbar.get_menu(LANGUAGE_MENU_IDENTIFIER, _("Language"))
+        if settings.USE_I18N and language_menu and self.page:
             # remove_item uses `items` attribute so we have to copy object
             for _item in copy(language_menu.items):
                 language_menu.remove_item(item=_item)

From e8d5a4b8809973d2c6e0817b6909d69ef42f9ca7 Mon Sep 17 00:00:00 2001
From: Fabian Braun <fsbraun@gmx.de>
Date: Tue, 16 May 2023 18:12:23 +0200
Subject: [PATCH 4/5] Add test

---
 tests/test_toolbars.py | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/tests/test_toolbars.py b/tests/test_toolbars.py
index c7b77e3b..379ed726 100644
--- a/tests/test_toolbars.py
+++ b/tests/test_toolbars.py
@@ -578,3 +578,26 @@ def test_change_language_menu_page_toolbar_language_selector_version_link(self):
         self.assertEqual(en_item.url, en_preview_url)
         self.assertEqual(de_item.url, de_preview_url)
         self.assertEqual(it_item.url, it_preview_url)
+    def test_page_toolbar_wo_language_menu(self):
+        from django.utils.translation import gettext as _
+
+        pagecontent = PageContentWithVersionFactory(language="en")
+        page = pagecontent.page
+        # Get request
+        request = self.get_page_request(
+            page=page,
+            path=get_object_edit_url(pagecontent),
+            user=self.get_superuser(),
+        )
+        # Remove language menu from request's toolbar
+        del request.toolbar.menus[LANGUAGE_MENU_IDENTIFIER]
+
+        # find VersioningPageToolbar
+        for cls, toolbar in request.toolbar.toolbars.items():
+            if cls == "djangocms_versioning.cms_toolbars.VersioningPageToolbar":
+                # and call override_language_menu
+                toolbar.override_language_menu()
+                break
+
+        language_menu = request.toolbar.get_menu(LANGUAGE_MENU_IDENTIFIER, _("Language"))
+        self.assertIsNone(language_menu)

From f1d67370748730788cf7bc3a5430137380d958f6 Mon Sep 17 00:00:00 2001
From: Fabian Braun <fsbraun@gmx.de>
Date: Tue, 23 May 2023 00:34:52 +0200
Subject: [PATCH 5/5] Update tests/test_toolbars.py

Co-authored-by: Mark Walker <theshow@gmail.com>
---
 tests/test_toolbars.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/test_toolbars.py b/tests/test_toolbars.py
index 379ed726..8142d22f 100644
--- a/tests/test_toolbars.py
+++ b/tests/test_toolbars.py
@@ -578,6 +578,7 @@ def test_change_language_menu_page_toolbar_language_selector_version_link(self):
         self.assertEqual(en_item.url, en_preview_url)
         self.assertEqual(de_item.url, de_preview_url)
         self.assertEqual(it_item.url, it_preview_url)
+
     def test_page_toolbar_wo_language_menu(self):
         from django.utils.translation import gettext as _