summaryrefslogtreecommitdiff
path: root/service/pixelated/resources/login_resource.py
diff options
context:
space:
mode:
authorNavaL <mnandri@thoughtworks.com>2016-02-03 13:44:13 +0100
committerNavaL <mnandri@thoughtworks.com>2016-02-03 13:49:54 +0100
commit4873b25259b7ec1c060e32993857a183314eaa66 (patch)
tree90c1d0c0e3ccf72074b75a21c307a581fcc381f7 /service/pixelated/resources/login_resource.py
parenta57953de3be89533be11c5d346fb98ab210954bc (diff)
checks to load leap sessions and services or not
Issue #590
Diffstat (limited to 'service/pixelated/resources/login_resource.py')
-rw-r--r--service/pixelated/resources/login_resource.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/service/pixelated/resources/login_resource.py b/service/pixelated/resources/login_resource.py
index dd5563a5..9e47fd3c 100644
--- a/service/pixelated/resources/login_resource.py
+++ b/service/pixelated/resources/login_resource.py
@@ -131,9 +131,11 @@ class LoginResource(BaseResource):
@defer.inlineCallbacks
def _setup_user_services(self, srp_auth, request):
- leap_session = yield self._init_leap_session(srp_auth)
- yield self._initialize_services(leap_session)
- self._init_http_session(request, leap_session)
+ user_id = srp_auth.uuid
+ if not self._services_factory.is_logged_in(user_id):
+ leap_session = yield self._init_leap_session(srp_auth)
+ yield self._initialize_services(leap_session)
+ self._init_http_session(request, user_id)
@defer.inlineCallbacks
def _init_leap_session(self, srp_auth):
@@ -147,6 +149,6 @@ class LoginResource(BaseResource):
if leap_session.fresh_account:
yield add_welcome_mail(leap_session.mail_store)
- def _init_http_session(self, request, leap_session):
+ def _init_http_session(self, request, user_id):
session = IPixelatedSession(request.getSession())
- session.user_uuid = leap_session.user_auth.uuid
+ session.user_uuid = user_id