cubicweb/web/request.py
branch3.24
changeset 11825 52acf0dbf4cd
parent 11799 1bdfe9d4ab83
child 11826 e2c940c8c485
--- a/cubicweb/web/request.py	Thu Nov 17 10:53:04 2016 +0100
+++ b/cubicweb/web/request.py	Thu Nov 17 10:15:11 2016 +0100
@@ -146,10 +146,9 @@
         #: Header used for the final response
         self.headers_out = Headers()
         #: HTTP status use by the final response
-        self.status_out  = 200
-        # set up language based on request headers or site default (we don't
-        # have a user yet, and might not get one)
-        self.set_user_language(None)
+        self.status_out = 200
+        # set up language based on site default (we don't have a user yet, and might not get one)
+        self.set_language(vreg.property_value('ui.language'))
         #: dictionary that may be used to store request data that has to be
         #: shared among various components used to publish the request (views,
         #: controller, application...)
@@ -929,18 +928,6 @@
                 return lang
         return None
 
-    def set_user_language(self, user):
-        vreg = self.vreg
-        if user is not None:
-            try:
-                lang = vreg.typed_value('ui.language', user.properties['ui.language'])
-                self.set_language(lang)
-                return
-            except KeyError:
-                pass
-        # site's default language
-        self.set_default_language(vreg)
-
 
 def _cnx_func(name):
     def proxy(req, *args, **kwargs):
@@ -993,25 +980,15 @@
         self.cnx = cnx
         self.session = cnx.session
         self._set_user(cnx.user)
-        self.set_user_language(cnx.user)
+        # set language according to the one defined on the connection which consider user's
+        # preference
+        self.set_language(cnx.lang)
 
     def execute(self, *args, **kwargs):
         rset = self.cnx.execute(*args, **kwargs)
         rset.req = self
         return rset
 
-    def set_default_language(self, vreg):
-        try:
-            lang = vreg.property_value('ui.language')
-        except Exception: # property may not be registered
-            lang = 'en'
-        try:
-            self.set_language(lang)
-        except KeyError:
-            # this occurs usually during test execution
-            self._ = self.__ = text_type
-            self.pgettext = lambda x, y: text_type(y)
-
     entity_metas = _cnx_func('entity_metas')  # XXX deprecated
     entity_type = _cnx_func('entity_type')
     source_defs = _cnx_func('source_defs')