Enhance admin management: improve username case handling and return status for admin updates
This commit is contained in:
+10
-10
@@ -553,9 +553,11 @@ def make_admin(username):
|
|||||||
client = MongoClient(cfg.MONGODB_HOST, cfg.MONGODB_PORT)
|
client = MongoClient(cfg.MONGODB_HOST, cfg.MONGODB_PORT)
|
||||||
db = client[cfg.MONGODB_DB]
|
db = client[cfg.MONGODB_DB]
|
||||||
users = db['users']
|
users = db['users']
|
||||||
users.update_one({'Username': username}, {'$set': {'Admin': True}})
|
result = users.update_one({'Username': username}, {'$set': {'Admin': True}})
|
||||||
|
if result.matched_count == 0:
|
||||||
|
result = users.update_one({'username': username}, {'$set': {'Admin': True}})
|
||||||
client.close()
|
client.close()
|
||||||
return True
|
return result.matched_count > 0
|
||||||
|
|
||||||
def remove_admin(username):
|
def remove_admin(username):
|
||||||
"""
|
"""
|
||||||
@@ -570,9 +572,11 @@ def remove_admin(username):
|
|||||||
client = MongoClient(cfg.MONGODB_HOST, cfg.MONGODB_PORT)
|
client = MongoClient(cfg.MONGODB_HOST, cfg.MONGODB_PORT)
|
||||||
db = client[cfg.MONGODB_DB]
|
db = client[cfg.MONGODB_DB]
|
||||||
users = db['users']
|
users = db['users']
|
||||||
users.update_one({'Username': username}, {'$set': {'Admin': False}})
|
result = users.update_one({'Username': username}, {'$set': {'Admin': False}})
|
||||||
|
if result.matched_count == 0:
|
||||||
|
result = users.update_one({'username': username}, {'$set': {'Admin': False}})
|
||||||
client.close()
|
client.close()
|
||||||
return True
|
return result.matched_count > 0
|
||||||
|
|
||||||
def get_user(username):
|
def get_user(username):
|
||||||
"""
|
"""
|
||||||
@@ -630,12 +634,8 @@ def check_admin(username):
|
|||||||
Returns:
|
Returns:
|
||||||
bool: True if user is an administrator, False otherwise
|
bool: True if user is an administrator, False otherwise
|
||||||
"""
|
"""
|
||||||
client = MongoClient(cfg.MONGODB_HOST, cfg.MONGODB_PORT)
|
user = get_user(username)
|
||||||
db = client[cfg.MONGODB_DB]
|
return bool(user and user.get('Admin', False))
|
||||||
users = db['users']
|
|
||||||
user = users.find_one({'Username': username})
|
|
||||||
client.close()
|
|
||||||
return user and user.get('Admin', False)
|
|
||||||
|
|
||||||
|
|
||||||
def update_active_ausleihung(username, id_item, ausleihung):
|
def update_active_ausleihung(username, id_item, ausleihung):
|
||||||
|
|||||||
Reference in New Issue
Block a user