From de0b1774c1145c605fa9cfd2e450a34995c1ddc7 Mon Sep 17 00:00:00 2001 From: Xiaowu Zhang Date: Wed, 16 Feb 2022 09:15:16 +0000 Subject: [PATCH] Document/WebSite&erp5_web: introduce web site language priority convention to fix report language issue on renderjs ui 1. [Browser is supposed to send something between 0 and 1]( https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language ) 2. [Localizer will set 2 or 3 for cases where user selected language]( https://lab.nexedi.com/nexedi/erp5/blob/08be2f8cc936fbdc3d5bafb4355c3a475198abc1/product/Localizer/Localizer.py#L149-172 ) 3. all print scripts seems set selected language priority to 10 so here we introduce a convention that site language priority should be 8(>3 and < 10) to fix report language issue --- .../portal_components/document.erp5.WebSite.py | 2 +- product/ERP5/Document/WebSite.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bt5/erp5_web/DocumentTemplateItem/portal_components/document.erp5.WebSite.py b/bt5/erp5_web/DocumentTemplateItem/portal_components/document.erp5.WebSite.py index cc30fc8c24c..9feedcefcd5 100644 --- a/bt5/erp5_web/DocumentTemplateItem/portal_components/document.erp5.WebSite.py +++ b/bt5/erp5_web/DocumentTemplateItem/portal_components/document.erp5.WebSite.py @@ -79,7 +79,7 @@ class WebSite(WebSection): if name in language_list: default_language = self.getDefaultAvailableLanguage() if request.get('AcceptLanguage') is not None: - request['AcceptLanguage'].set(name, 100) + request['AcceptLanguage'].set(name, 10) request.set(WEBSITE_LANGUAGE_KEY, name) if self.isTempObject() or name == default_language: redirect_path_list = [self.getOriginalDocument().absolute_url()] diff --git a/product/ERP5/Document/WebSite.py b/product/ERP5/Document/WebSite.py index 3c70f08ad3e..dc407bdb024 100644 --- a/product/ERP5/Document/WebSite.py +++ b/product/ERP5/Document/WebSite.py @@ -114,13 +114,13 @@ class WebSiteTraversalHook(WebSectionTraversalHook): default_language = container.getDefaultAvailableLanguage() if default_language and container.isStaticLanguageSelection(): if request.get('AcceptLanguage') is not None: - request['AcceptLanguage'].set(default_language, 80) + request['AcceptLanguage'].set(default_language, 8) else: accept_language = request.get('AcceptLanguage') if accept_language is not None: selected_language = accept_language.select_language( container.getAvailableLanguageList()) if selected_language: - request['AcceptLanguage'].set(selected_language, 80) + request['AcceptLanguage'].set(selected_language, 8) elif default_language: - request['AcceptLanguage'].set(default_language, 80) + request['AcceptLanguage'].set(default_language, 8) -- 2.25.1