diff options
author | zsloan | 2021-07-12 17:49:09 +0000 |
---|---|---|
committer | zsloan | 2021-07-12 17:49:09 +0000 |
commit | 48ac21fda375b8255bec86e83496d730bb57ffff (patch) | |
tree | 58eefdae09fdf0fcbdc1395eafab6407ba8657bf | |
parent | 0055c6d4680e7ab465034a4c2f2020fb5266952d (diff) | |
download | genenetwork2-48ac21fda375b8255bec86e83496d730bb57ffff.tar.gz |
Encode user_id as bytestring if not already bytestring to account for some user_ids being stored as different encoding
-rw-r--r-- | wqflask/utility/authentication_tools.py | 10 |
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) |