aboutsummaryrefslogtreecommitdiff
path: root/wqflask/utility/authentication_tools.py
diff options
context:
space:
mode:
authorzsloan2021-07-12 17:49:09 +0000
committerzsloan2021-07-12 17:49:09 +0000
commit48ac21fda375b8255bec86e83496d730bb57ffff (patch)
tree58eefdae09fdf0fcbdc1395eafab6407ba8657bf /wqflask/utility/authentication_tools.py
parent0055c6d4680e7ab465034a4c2f2020fb5266952d (diff)
downloadgenenetwork2-48ac21fda375b8255bec86e83496d730bb57ffff.tar.gz
Encode user_id as bytestring if not already bytestring to account for some user_ids being stored as different encoding
Diffstat (limited to 'wqflask/utility/authentication_tools.py')
-rw-r--r--wqflask/utility/authentication_tools.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/wqflask/utility/authentication_tools.py b/wqflask/utility/authentication_tools.py
index 57dbf8ba..6802d689 100644
--- a/wqflask/utility/authentication_tools.py
+++ b/wqflask/utility/authentication_tools.py
@@ -11,7 +11,6 @@ from utility.redis_tools import (get_redis_conn,
add_resource)
Redis = get_redis_conn()
-
def check_resource_availability(dataset, trait_id=None):
# At least for now assume temporary entered traits are accessible
if type(dataset) == str or dataset.type == "Temp":
@@ -133,12 +132,17 @@ def check_owner_or_admin(dataset=None, trait_id=None, resource_id=None):
else:
resource_id = get_resource_id(dataset, trait_id)
- if g.user_session.user_id in Redis.smembers("super_users"):
+ try:
+ user_id = g.user_session.user_id.encode('utf-8')
+ except:
+ user_id = g.user_session.user_id
+
+ if user_id in Redis.smembers("super_users"):
return "owner"
resource_info = get_resource_info(resource_id)
if resource_info:
- if g.user_session.user_id == resource_info['owner_id']:
+ if user_id == resource_info['owner_id']:
return "owner"
else:
return check_admin(resource_id)