Enhance admin management: improve username case handling and return status for admin updates

This commit is contained in:
2026-04-28 23:35:58 +02:00
parent 3c5ee65b03
commit 35c4e9c6f6
+10 -10
View File
@@ -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):