From 53a221dff96ccd6159565c1d9d8b931190205b36 Mon Sep 17 00:00:00 2001 From: Sahil Batra Date: Wed, 15 Oct 2025 21:27:41 +0530 Subject: [PATCH] user-profile: Redirect to profile panel when admin becomes non-admin. This commit adds code to redirect to profile panel when an admins changes their role to become a non-admin user from user profile modal. --- web/src/user_profile.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/web/src/user_profile.ts b/web/src/user_profile.ts index 348969d459..e73e962229 100644 --- a/web/src/user_profile.ts +++ b/web/src/user_profile.ts @@ -1126,6 +1126,21 @@ export function disable_user_role_dropdown_if_needed(user: User): void { } } +function maybe_redirect_to_profile_panel(user_id: number, role: number): void { + // Redirect to profile panel if an admin changes their own role so + // that they are no longer an admin. + if (current_user.user_id !== user_id) { + return; + } + + if ( + role !== settings_config.user_role_values.owner.code && + role !== settings_config.user_role_values.admin.code + ) { + browser_history.go_to_location("#settings/profile"); + } +} + export function show_edit_user_info_modal(user_id: number, $container: JQuery): void { const person = people.maybe_get_user_by_id(user_id); const is_active = people.is_person_active(user_id); @@ -1244,6 +1259,7 @@ export function show_edit_user_info_modal(user_id: number, $container: JQuery): $("#edit-user-form-error").hide(); hide_button_spinner($submit_button); original_values = get_current_values($("#edit-user-form")); + maybe_redirect_to_profile_panel(user_id, role); toggle_submit_button($("#edit-user-form")); ui_report.success( $t_html({defaultMessage: "Saved"}),