From b97e1de2a72c28f2e43996471eed41a486bf4cd3 Mon Sep 17 00:00:00 2001 From: aaron <> Date: Sun, 12 Apr 2026 20:15:04 +0800 Subject: [PATCH] fix bug --- backend/app/api/users.py | 6 ++ frontend/src/app/(app)/admin/members/page.tsx | 36 +++++---- frontend/src/components/sidebar.tsx | 81 ++++++++++--------- 3 files changed, 70 insertions(+), 53 deletions(-) diff --git a/backend/app/api/users.py b/backend/app/api/users.py index 57f594d..991e685 100644 --- a/backend/app/api/users.py +++ b/backend/app/api/users.py @@ -95,6 +95,12 @@ async def change_user_status( status_code=403, detail="Cannot manage users outside your class" ) + # Only super_admin can change roles + if data.role and admin.role != "super_admin": + raise HTTPException( + status_code=403, detail="Only super admin can change user roles" + ) + updated = await update_user_status(db, user_id, data.status, data.role) # Send email notification diff --git a/frontend/src/app/(app)/admin/members/page.tsx b/frontend/src/app/(app)/admin/members/page.tsx index 43baa29..92ffc6b 100644 --- a/frontend/src/app/(app)/admin/members/page.tsx +++ b/frontend/src/app/(app)/admin/members/page.tsx @@ -481,23 +481,27 @@ export default function MembersPage() {