PY: fix admin error (#16827)

### Summary

Sync code from EE

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
Jin Hai
2026-07-11 14:57:26 +08:00
committed by GitHub
parent 4060cd1440
commit e6e99b86a6
3 changed files with 6 additions and 4 deletions

View File

@@ -8,7 +8,7 @@ readme = "README.md"
requires-python = ">=3.13,<3.14"
dependencies = [
"requests>=2.30.0,<3.0.0",
"beartype>=0.20.0,<1.0.0",
"beartype>=0.22.9,<1.0.0",
"pycryptodomex>=3.10.0",
"lark>=1.1.0",
"requests-toolbelt>=1.0.0",

View File

@@ -152,13 +152,13 @@ def check_admin_auth(func):
def login_admin(email: str, password: str):
"""
:param email: admin email
:param password: string before decrypt
:param password: string before decrypt (RSA encrypted + base64 encoded)
"""
users = UserService.query(email=email)
if not users:
raise UserNotFoundError(email)
psw = decrypt(password)
user = UserService.query_user(email, psw)
decrypted = decrypt(password)
user = UserService.query_user(email, decrypted)
if not user:
raise AdminException("Email and password do not match!")
if not user.is_superuser:

View File

@@ -153,6 +153,8 @@ def change_password(username):
def alter_user_activate_status(username):
try:
data = request.get_json()
if current_user.email == username:
return error_response(f"can't alter current user status: {username}", 409)
if not data or "activate_status" not in data:
return error_response("Activation status is required", 400)
activate_status = data["activate_status"]