user_groups: Live update members list if a member is deactivated.

This commit is contained in:
Sahil Batra
2024-07-30 19:24:01 +05:30
committed by Tim Abbott
parent 4fe12c1860
commit 7b27948518
2 changed files with 17 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ import * as settings_streams from "./settings_streams";
import * as settings_users from "./settings_users";
import {current_user, realm} from "./state_data";
import * as stream_events from "./stream_events";
import * as user_group_edit from "./user_group_edit";
import * as user_profile from "./user_profile";
export const update_person = function update(person) {
@@ -179,6 +180,7 @@ export const update_person = function update(person) {
} else {
people.deactivate(person_obj);
stream_events.remove_deactivated_user_from_all_streams(person.user_id);
user_group_edit.remove_deactivated_user_from_all_groups(person.user_id);
settings_users.update_view_on_deactivate(person.user_id);
buddy_list.maybe_remove_user_id({user_id: person.user_id});
}

View File

@@ -801,6 +801,21 @@ export function update_empty_left_panel_message() {
$(".no-groups-to-show").show();
}
export function remove_deactivated_user_from_all_groups(user_id) {
const all_user_groups = user_groups.get_realm_user_groups(true);
for (const user_group of all_user_groups) {
if (user_groups.is_direct_member_of(user_id, user_group.id)) {
user_groups.remove_members(user_group.id, [user_id]);
}
// update members list if currently rendered.
if (overlays.groups_open() && is_editing_group(user_group.id)) {
user_group_edit_members.update_member_list_widget(user_group);
}
}
}
export function setup_page(callback) {
function initialize_components() {
group_list_toggler = components.toggle({