mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	user_groups: Do not show deactivated users in members list.
This commit adds code to now show deactivated users in the members list in "#groups" UI and the user group popover.
This commit is contained in:
		@@ -187,9 +187,8 @@ export function handle_member_edit_event(group_id, user_ids) {
 | 
				
			|||||||
    const group = user_groups.get_user_group_from_id(group_id);
 | 
					    const group = user_groups.get_user_group_from_id(group_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // update members list if currently rendered.
 | 
					    // update members list if currently rendered.
 | 
				
			||||||
    const members = [...group.members];
 | 
					 | 
				
			||||||
    if (is_editing_group(group_id)) {
 | 
					    if (is_editing_group(group_id)) {
 | 
				
			||||||
        user_group_edit_members.update_member_list_widget(group_id, members);
 | 
					        user_group_edit_members.update_member_list_widget(group);
 | 
				
			||||||
        if (user_ids.includes(people.my_current_user_id())) {
 | 
					        if (user_ids.includes(people.my_current_user_id())) {
 | 
				
			||||||
            update_group_membership_button(group_id);
 | 
					            update_group_membership_button(group_id);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,9 +36,15 @@ function get_potential_members() {
 | 
				
			|||||||
    return people.filter_all_users(is_potential_member);
 | 
					    return people.filter_all_users(is_potential_member);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function update_member_list_widget(group_id, member_ids) {
 | 
					function get_user_group_members(group) {
 | 
				
			||||||
    assert(group_id === current_group_id, "Unexpected group rerendering members list");
 | 
					    const member_ids = [...group.members];
 | 
				
			||||||
    const users = people.get_users_from_ids(member_ids);
 | 
					    const active_member_ids = member_ids.filter((user_id) => people.is_person_active(user_id));
 | 
				
			||||||
 | 
					    return people.get_users_from_ids(active_member_ids);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function update_member_list_widget(group) {
 | 
				
			||||||
 | 
					    assert(group.id === current_group_id, "Unexpected group rerendering members list");
 | 
				
			||||||
 | 
					    const users = get_user_group_members(group);
 | 
				
			||||||
    people.sort_but_pin_current_user_on_top(users);
 | 
					    people.sort_but_pin_current_user_on_top(users);
 | 
				
			||||||
    member_list_widget.replace_list_data(users);
 | 
					    member_list_widget.replace_list_data(users);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -54,8 +60,7 @@ function format_member_list_elem(person) {
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function make_list_widget({$parent_container, name, user_ids}) {
 | 
					function make_list_widget({$parent_container, name, users}) {
 | 
				
			||||||
    const users = people.get_users_from_ids(user_ids);
 | 
					 | 
				
			||||||
    people.sort_but_pin_current_user_on_top(users);
 | 
					    people.sort_but_pin_current_user_on_top(users);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const $list_container = $parent_container.find(".member_table");
 | 
					    const $list_container = $parent_container.find(".member_table");
 | 
				
			||||||
@@ -104,7 +109,7 @@ export function enable_member_management({group, $parent_container}) {
 | 
				
			|||||||
    member_list_widget = make_list_widget({
 | 
					    member_list_widget = make_list_widget({
 | 
				
			||||||
        $parent_container,
 | 
					        $parent_container,
 | 
				
			||||||
        name: "user_group_members",
 | 
					        name: "user_group_members",
 | 
				
			||||||
        user_ids: [...group.members],
 | 
					        users: get_user_group_members(group),
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -119,11 +119,10 @@ export function register_click_handlers() {
 | 
				
			|||||||
function fetch_group_members(member_ids) {
 | 
					function fetch_group_members(member_ids) {
 | 
				
			||||||
    return member_ids
 | 
					    return member_ids
 | 
				
			||||||
        .map((m) => people.maybe_get_user_by_id(m))
 | 
					        .map((m) => people.maybe_get_user_by_id(m))
 | 
				
			||||||
        .filter((m) => m !== undefined)
 | 
					        .filter((m) => m !== undefined && people.is_active_user_for_popover(m.user_id))
 | 
				
			||||||
        .map((p) => ({
 | 
					        .map((p) => ({
 | 
				
			||||||
            ...p,
 | 
					            ...p,
 | 
				
			||||||
            user_circle_class: buddy_data.get_user_circle_class(p.user_id),
 | 
					            user_circle_class: buddy_data.get_user_circle_class(p.user_id),
 | 
				
			||||||
            is_active: people.is_active_user_for_popover(p.user_id),
 | 
					 | 
				
			||||||
            user_last_seen_time_status: buddy_data.user_last_seen_time_status(p.user_id),
 | 
					            user_last_seen_time_status: buddy_data.user_last_seen_time_status(p.user_id),
 | 
				
			||||||
        }));
 | 
					        }));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,13 +10,11 @@
 | 
				
			|||||||
        <ul class="nav nav-list member-list" data-simplebar data-simplebar-auto-hide="false">
 | 
					        <ul class="nav nav-list member-list" data-simplebar data-simplebar-auto-hide="false">
 | 
				
			||||||
            {{#each members}}
 | 
					            {{#each members}}
 | 
				
			||||||
                <li>
 | 
					                <li>
 | 
				
			||||||
                    {{#if is_active }}
 | 
					 | 
				
			||||||
                    {{#if is_bot}}
 | 
					                    {{#if is_bot}}
 | 
				
			||||||
                    <i class="zulip-icon zulip-icon-bot" aria-hidden="true"></i>
 | 
					                    <i class="zulip-icon zulip-icon-bot" aria-hidden="true"></i>
 | 
				
			||||||
                    {{else}}
 | 
					                    {{else}}
 | 
				
			||||||
                    <span class="user_circle {{user_circle_class}}  popover_user_presence" title="{{user_last_seen_time_status}}"></span>
 | 
					                    <span class="user_circle {{user_circle_class}}  popover_user_presence" title="{{user_last_seen_time_status}}"></span>
 | 
				
			||||||
                    {{/if}}
 | 
					                    {{/if}}
 | 
				
			||||||
                    {{/if}}
 | 
					 | 
				
			||||||
                    <span>{{full_name}}</span>
 | 
					                    <span>{{full_name}}</span>
 | 
				
			||||||
                </li>
 | 
					                </li>
 | 
				
			||||||
            {{/each}}
 | 
					            {{/each}}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user