web/request.py
changeset 9037 6fd0ac6506cb
parent 9022 a1cee6915ea3
child 9038 1b972d81eda4
equal deleted inserted replaced
9036:cf519fd876c6 9037:6fd0ac6506cb
   117             self._headers_in.addRawHeader(k, v)
   117             self._headers_in.addRawHeader(k, v)
   118         #: form parameters
   118         #: form parameters
   119         self.setup_params(form)
   119         self.setup_params(form)
   120         #: received body
   120         #: received body
   121         self.content = StringIO()
   121         self.content = StringIO()
       
   122         # use header to set default language (may ne overwriten by user one later)
       
   123         if vreg.config.get('language-negociation', False):
       
   124             # http negociated language
       
   125             accepted_languages = self.header_accept_language()
       
   126         else:
       
   127             accepted_languages = ()
       
   128         for lang in accepted_languages:
       
   129             if lang in self.translations:
       
   130                 self.set_language(lang)
       
   131                 break
       
   132         else:
       
   133             self.set_default_language(vreg)
       
   134         # 3. default language
   122         #: dictionary that may be used to store request data that has to be
   135         #: dictionary that may be used to store request data that has to be
   123         #: shared among various components used to publish the request (views,
   136         #: shared among various components used to publish the request (views,
   124         #: controller, application...)
   137         #: controller, application...)
   125         self.data = {}
   138         self.data = {}
   126         #:  search state: 'normal' or 'linksearch' (eg searching for an object
   139         #:  search state: 'normal' or 'linksearch' (eg searching for an object
   220                                         self.user.properties['ui.language'])
   233                                         self.user.properties['ui.language'])
   221                 self.set_language(lang)
   234                 self.set_language(lang)
   222                 return
   235                 return
   223             except KeyError:
   236             except KeyError:
   224                 pass
   237                 pass
   225         if vreg.config['language-negociation']:
       
   226             # 2. http negociated language
       
   227             for lang in self.header_accept_language():
       
   228                 if lang in self.translations:
       
   229                     self.set_language(lang)
       
   230                     return
       
   231         # 3. default language
       
   232         self.set_default_language(vreg)
       
   233 
   238 
   234     # input form parameters management ########################################
   239     # input form parameters management ########################################
   235 
   240 
   236     # common form parameters which should be protected against html values
   241     # common form parameters which should be protected against html values
   237     # XXX can't add 'eid' for instance since it may be multivalued
   242     # XXX can't add 'eid' for instance since it may be multivalued