-
-
Notifications
You must be signed in to change notification settings - Fork 75
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[fc] Repository: plone.app.multilingual
Branch: refs/heads/5.6.x Date: 2023-07-27T14:25:10+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.app.multilingual@9e8fabc Fix setting Indonesian language cookie on site root: must be id, not id-id. Files changed: A news/304.bugfix M src/plone/app/multilingual/browser/switcher.py M src/plone/app/multilingual/tests/test_switcher.py Repository: plone.app.multilingual Branch: refs/heads/5.6.x Date: 2023-07-31T16:17:13+02:00 Author: Fred van Dijk (fredvd) <fredvd@gmail.com> Commit: plone/plone.app.multilingual@9070a1a Merge pull request #428 from plone/maurits-indonesian-cookie-56x Fix setting Indonesian language cookie on site root [5.6.x] Files changed: A news/304.bugfix M src/plone/app/multilingual/browser/switcher.py M src/plone/app/multilingual/tests/test_switcher.py
- Loading branch information
Showing
1 changed file
with
28 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,36 @@ | ||
Repository: Products.CMFPlone | ||
Repository: plone.app.multilingual | ||
|
||
|
||
Branch: refs/heads/5.2.x | ||
Date: 2023-07-20T15:42:02+02:00 | ||
Branch: refs/heads/5.6.x | ||
Date: 2023-07-27T14:25:10+02:00 | ||
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> | ||
Commit: https://github.com/plone/Products.CMFPlone/commit/df54a4eda94f61a958ddeab0fb8eabcdf4cf8761 | ||
Commit: https://github.com/plone/plone.app.multilingual/commit/9e8fabca0b7857012d4243a110df26248b0a146c | ||
|
||
Update metadata version to 5222, Plone 5.2.14. | ||
Fix setting Indonesian language cookie on site root: must be id, not id-id. | ||
|
||
Files changed: | ||
A news/5222.bugfix | ||
M Products/CMFPlone/profiles/default/metadata.xml | ||
A news/304.bugfix | ||
M src/plone/app/multilingual/browser/switcher.py | ||
M src/plone/app/multilingual/tests/test_switcher.py | ||
|
||
b'diff --git a/Products/CMFPlone/profiles/default/metadata.xml b/Products/CMFPlone/profiles/default/metadata.xml\nindex 0fe2368b07..eba9c8f2ad 100644\n--- a/Products/CMFPlone/profiles/default/metadata.xml\n+++ b/Products/CMFPlone/profiles/default/metadata.xml\n@@ -1,4 +1,4 @@\n <?xml version="1.0"?>\n <metadata>\n- <version>5221</version>\n+ <version>5222</version>\n </metadata>\ndiff --git a/news/5222.bugfix b/news/5222.bugfix\nnew file mode 100644\nindex 0000000000..d38ed967fb\n--- /dev/null\n+++ b/news/5222.bugfix\n@@ -0,0 +1,2 @@\n+Update metadata version to 5222, Plone 5.2.14.\n+[maurits]\n' | ||
b'diff --git a/news/304.bugfix b/news/304.bugfix\nnew file mode 100644\nindex 000000000..1c7b509e6\n--- /dev/null\n+++ b/news/304.bugfix\n@@ -0,0 +1,2 @@\n+Fix setting Indonesian language cookie on site root: must be ``id``, not ``id-id``.\n+[maurits]\ndiff --git a/src/plone/app/multilingual/browser/switcher.py b/src/plone/app/multilingual/browser/switcher.py\nindex 88f8baeb6..44bc6f483 100644\n--- a/src/plone/app/multilingual/browser/switcher.py\n+++ b/src/plone/app/multilingual/browser/switcher.py\n@@ -1,7 +1,9 @@\n # -*- coding: utf-8 -*-\n from Acquisition import aq_inner\n+from plone.i18n.interfaces import ILanguageUtility\n from Products.CMFCore.utils import getToolByName\n from Products.Five import BrowserView\n+from zope.component import getUtility\n \n \n class LanguageSwitcher(BrowserView):\n@@ -28,8 +30,10 @@ def __call__(self):\n \n # We need to set the language cookie on the first response or it will\n # be set on the frontpage itself, making it uncachable\n- langCookie = self.request.cookies.get(\'I18N_LANGUAGE\')\n- if not langCookie or langCookie != target:\n- self.request.response.setCookie(\'I18N_LANGUAGE\', target, path=\'/\')\n+ # In case of Indonesian, we need to use \'id\', not \'id-id\'.\n+ target = "id" if target == "id-id" else target\n+ tool = getUtility(ILanguageUtility)\n+ # setLanguageCookie calls getLanguageCookie, and only sets a cookie when needed.\n+ tool.setLanguageCookie(target, request=self.request)\n \n self.request.response.redirect(url, status=302)\ndiff --git a/src/plone/app/multilingual/tests/test_switcher.py b/src/plone/app/multilingual/tests/test_switcher.py\nindex 14a8ac6db..b145f5ba9 100644\n--- a/src/plone/app/multilingual/tests/test_switcher.py\n+++ b/src/plone/app/multilingual/tests/test_switcher.py\n@@ -34,12 +34,14 @@ def setUp(self):\n def test_switcher_redirects_to_default_english(self):\n self.browser.open(self.portal_url)\n self.assertEqual(self.browser.url, self.portal_url + "/en")\n+ self.assertEqual(self.browser.cookies["I18N_LANGUAGE"], "en")\n \n def test_switcher_redirects_to_default_indonesian(self):\n self.language_tool.setDefaultLanguage("id")\n transaction.commit()\n self.browser.open(self.portal_url)\n self.assertEqual(self.browser.url, self.portal_url + "/id-id")\n+ self.assertEqual(self.browser.cookies["I18N_LANGUAGE"], "id")\n \n def test_switcher_redirects_to_preferred_catalan(self):\n # Tell Plone that we prefer Catalan.\n@@ -48,6 +50,7 @@ def test_switcher_redirects_to_preferred_catalan(self):\n self.browser.open(self.portal_url)\n # We get redirected to our preferred language root folder.\n self.assertEqual(self.browser.url, self.portal_url + "/ca")\n+ self.assertEqual(self.browser.cookies["I18N_LANGUAGE"], "ca")\n \n def test_switcher_redirects_to_preferred_indonesian(self):\n # Tell Plone that we prefer Indonesian.\n@@ -56,3 +59,4 @@ def test_switcher_redirects_to_preferred_indonesian(self):\n self.browser.open(self.portal_url)\n # We get redirected to our preferred language root folder.\n self.assertEqual(self.browser.url, self.portal_url + "/id-id")\n+ self.assertEqual(self.browser.cookies["I18N_LANGUAGE"], "id")\n' | ||
|
||
Repository: plone.app.multilingual | ||
|
||
|
||
Branch: refs/heads/5.6.x | ||
Date: 2023-07-31T16:17:13+02:00 | ||
Author: Fred van Dijk (fredvd) <fredvd@gmail.com> | ||
Commit: https://github.com/plone/plone.app.multilingual/commit/9070a1a9d39bf6cbfe6d30e470fbd3f4c3845097 | ||
|
||
Merge pull request #428 from plone/maurits-indonesian-cookie-56x | ||
|
||
Fix setting Indonesian language cookie on site root [5.6.x] | ||
|
||
Files changed: | ||
A news/304.bugfix | ||
M src/plone/app/multilingual/browser/switcher.py | ||
M src/plone/app/multilingual/tests/test_switcher.py | ||
|
||
b'diff --git a/news/304.bugfix b/news/304.bugfix\nnew file mode 100644\nindex 000000000..1c7b509e6\n--- /dev/null\n+++ b/news/304.bugfix\n@@ -0,0 +1,2 @@\n+Fix setting Indonesian language cookie on site root: must be ``id``, not ``id-id``.\n+[maurits]\ndiff --git a/src/plone/app/multilingual/browser/switcher.py b/src/plone/app/multilingual/browser/switcher.py\nindex 88f8baeb6..44bc6f483 100644\n--- a/src/plone/app/multilingual/browser/switcher.py\n+++ b/src/plone/app/multilingual/browser/switcher.py\n@@ -1,7 +1,9 @@\n # -*- coding: utf-8 -*-\n from Acquisition import aq_inner\n+from plone.i18n.interfaces import ILanguageUtility\n from Products.CMFCore.utils import getToolByName\n from Products.Five import BrowserView\n+from zope.component import getUtility\n \n \n class LanguageSwitcher(BrowserView):\n@@ -28,8 +30,10 @@ def __call__(self):\n \n # We need to set the language cookie on the first response or it will\n # be set on the frontpage itself, making it uncachable\n- langCookie = self.request.cookies.get(\'I18N_LANGUAGE\')\n- if not langCookie or langCookie != target:\n- self.request.response.setCookie(\'I18N_LANGUAGE\', target, path=\'/\')\n+ # In case of Indonesian, we need to use \'id\', not \'id-id\'.\n+ target = "id" if target == "id-id" else target\n+ tool = getUtility(ILanguageUtility)\n+ # setLanguageCookie calls getLanguageCookie, and only sets a cookie when needed.\n+ tool.setLanguageCookie(target, request=self.request)\n \n self.request.response.redirect(url, status=302)\ndiff --git a/src/plone/app/multilingual/tests/test_switcher.py b/src/plone/app/multilingual/tests/test_switcher.py\nindex 14a8ac6db..b145f5ba9 100644\n--- a/src/plone/app/multilingual/tests/test_switcher.py\n+++ b/src/plone/app/multilingual/tests/test_switcher.py\n@@ -34,12 +34,14 @@ def setUp(self):\n def test_switcher_redirects_to_default_english(self):\n self.browser.open(self.portal_url)\n self.assertEqual(self.browser.url, self.portal_url + "/en")\n+ self.assertEqual(self.browser.cookies["I18N_LANGUAGE"], "en")\n \n def test_switcher_redirects_to_default_indonesian(self):\n self.language_tool.setDefaultLanguage("id")\n transaction.commit()\n self.browser.open(self.portal_url)\n self.assertEqual(self.browser.url, self.portal_url + "/id-id")\n+ self.assertEqual(self.browser.cookies["I18N_LANGUAGE"], "id")\n \n def test_switcher_redirects_to_preferred_catalan(self):\n # Tell Plone that we prefer Catalan.\n@@ -48,6 +50,7 @@ def test_switcher_redirects_to_preferred_catalan(self):\n self.browser.open(self.portal_url)\n # We get redirected to our preferred language root folder.\n self.assertEqual(self.browser.url, self.portal_url + "/ca")\n+ self.assertEqual(self.browser.cookies["I18N_LANGUAGE"], "ca")\n \n def test_switcher_redirects_to_preferred_indonesian(self):\n # Tell Plone that we prefer Indonesian.\n@@ -56,3 +59,4 @@ def test_switcher_redirects_to_preferred_indonesian(self):\n self.browser.open(self.portal_url)\n # We get redirected to our preferred language root folder.\n self.assertEqual(self.browser.url, self.portal_url + "/id-id")\n+ self.assertEqual(self.browser.cookies["I18N_LANGUAGE"], "id")\n' | ||
|