aboutsummaryrefslogtreecommitdiff
path: root/wqflask
diff options
context:
space:
mode:
Diffstat (limited to 'wqflask')
-rw-r--r--wqflask/wqflask/user_session.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/wqflask/wqflask/user_session.py b/wqflask/wqflask/user_session.py
index 5cc898ea..00b268a7 100644
--- a/wqflask/wqflask/user_session.py
+++ b/wqflask/wqflask/user_session.py
@@ -23,7 +23,7 @@ THIRTY_DAYS = 60 * 60 * 24 * 30
@app.before_request
def get_user_session():
g.user_session = UserSession()
- # ZS: I think this should solve the issue of deleting the cookie and redirecting to the home page when a user's session has expired
+ # I think this should solve the issue of deleting the cookie and redirecting to the home page when a user's session has expired
if not g.user_session:
response = make_response(redirect(url_for('login')))
response.set_cookie('session_id_v2', '', expires=0)
@@ -36,6 +36,8 @@ def set_user_session(response):
if not request.cookies.get(g.user_session.cookie_name):
response.set_cookie(g.user_session.cookie_name,
g.user_session.cookie)
+ else:
+ response.set_cookie('session_id_v2', '', expires=0)
return response
@@ -97,7 +99,7 @@ class UserSession:
self.session_id = session_id
self.record = Redis.hgetall(self.redis_key)
- # ZS: If user correctled logged in but their session expired
+ # ZS: If user correctly logged in but their session expired
# ZS: Need to test this by setting the time-out to be really short or something
if not self.record or self.record == []:
if user_cookie:
@@ -123,6 +125,9 @@ class UserSession:
if user_cookie:
self.logged_in = True
self.user_details = get_user_by_unique_column("user_id", self.user_id)
+ if not self.user_details:
+ self.logged_in = False
+ return None
if user_cookie:
session_time = THREE_DAYS
@@ -157,13 +162,13 @@ class UserSession:
def redis_user_id(self):
"""User id from Redis (need to check if this is the same as the id stored in self.records)"""
- # ZS: This part is a bit weird. Some accounts used to not have saved user ids, and in the process of testing I think I created some duplicate accounts for myself.
- # ZS: Accounts should automatically generate user_ids if they don't already have one now, so this might not be necessary for anything other than my account's collections
+ # This part is a bit weird. Some accounts used to not have saved user ids, and in the process of testing I think I created some duplicate accounts for myself.
+ # Accounts should automatically generate user_ids if they don't already have one now, so this might not be necessary for anything other than my account's collections
if 'user_email_address' in self.record:
user_email = self.record['user_email_address']
- # ZS: Get user's collections if they exist
+ # Get user's collections if they exist
user_id = None
user_id = get_user_id("email_address", user_email)
elif 'user_id' in self.record:
@@ -172,7 +177,7 @@ class UserSession:
user_github_id = self.record['github_id']
user_id = None
user_id = get_user_id("github_id", user_github_id)
- else: # ZS: Anonymous user
+ else: # Anonymous user
return None
return user_id
@@ -189,11 +194,11 @@ class UserSession:
def user_collections(self):
"""List of user's collections"""
- # ZS: Get user's collections if they exist
+ # Get user's collections if they exist
collections = get_user_collections(self.user_id)
collections = [item for item in collections if item['name'] != "Your Default Collection"] + \
[item for item in collections if item['name']
- == "Your Default Collection"] # ZS: Ensure Default Collection is last in list
+ == "Your Default Collection"] # Ensure Default Collection is last in list
return collections
@property