332 self.set_default_language(vreg) |
332 self.set_default_language(vreg) |
333 |
333 |
334 def get_option_value(self, option, foreid=None): |
334 def get_option_value(self, option, foreid=None): |
335 return self.cnx.get_option_value(option, foreid) |
335 return self.cnx.get_option_value(option, foreid) |
336 |
336 |
337 def set_session(self, session, user=None): |
337 def set_session(self, session): |
338 """method called by the session handler when the user is authenticated |
338 """method called by the session handler when the user is authenticated |
339 or an anonymous connection is open |
339 or an anonymous connection is open |
340 """ |
340 """ |
341 self.session = session |
341 self.session = session |
342 if session.cnx: |
342 if session.cnx: |
343 self.cnx = session.cnx |
343 self.cnx = session.cnx |
344 self.execute = session.cnx.cursor(self).execute |
344 self.execute = session.cnx.cursor(self).execute |
345 if user is None: |
345 self.user = self.cnx.user(self) |
346 user = self.cnx.user(self) |
346 self.set_entity_cache(self.user) |
347 if user is not None: |
|
348 self.user = user |
|
349 self.set_entity_cache(user) |
|
350 |
347 |
351 def execute(self, *args, **kwargs): # pylint: disable=E0202 |
348 def execute(self, *args, **kwargs): # pylint: disable=E0202 |
352 """overriden when session is set. By default raise authentication error |
349 """overriden when session is set. By default raise authentication error |
353 so authentication is requested. |
350 so authentication is requested. |
354 """ |
351 """ |
655 def request(self): |
652 def request(self): |
656 if self._web_request: |
653 if self._web_request: |
657 from cubicweb.web.request import CubicWebRequestBase |
654 from cubicweb.web.request import CubicWebRequestBase |
658 req = CubicWebRequestBase(self.vreg, False) |
655 req = CubicWebRequestBase(self.vreg, False) |
659 req.get_header = lambda x, default=None: default |
656 req.get_header = lambda x, default=None: default |
660 req.set_session = lambda session, user=None: DBAPIRequest.set_session( |
657 req.set_session = lambda session: DBAPIRequest.set_session( |
661 req, session, user) |
658 req, session) |
662 req.relative_path = lambda includeparams=True: '' |
659 req.relative_path = lambda includeparams=True: '' |
663 else: |
660 else: |
664 req = DBAPIRequest(self.vreg) |
661 req = DBAPIRequest(self.vreg) |
665 req.set_session(DBAPISession(self)) |
662 req.set_session(DBAPISession(self)) |
666 return req |
663 return req |