mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 21:43:21 +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);
|
||||
|
||||
// update members list if currently rendered.
|
||||
const members = [...group.members];
|
||||
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())) {
|
||||
update_group_membership_button(group_id);
|
||||
}
|
||||
|
||||
@@ -36,9 +36,15 @@ function get_potential_members() {
|
||||
return people.filter_all_users(is_potential_member);
|
||||
}
|
||||
|
||||
export function update_member_list_widget(group_id, member_ids) {
|
||||
assert(group_id === current_group_id, "Unexpected group rerendering members list");
|
||||
const users = people.get_users_from_ids(member_ids);
|
||||
function get_user_group_members(group) {
|
||||
const member_ids = [...group.members];
|
||||
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);
|
||||
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}) {
|
||||
const users = people.get_users_from_ids(user_ids);
|
||||
function make_list_widget({$parent_container, name, users}) {
|
||||
people.sort_but_pin_current_user_on_top(users);
|
||||
|
||||
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({
|
||||
$parent_container,
|
||||
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) {
|
||||
return member_ids
|
||||
.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) => ({
|
||||
...p,
|
||||
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),
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -10,13 +10,11 @@
|
||||
<ul class="nav nav-list member-list" data-simplebar data-simplebar-auto-hide="false">
|
||||
{{#each members}}
|
||||
<li>
|
||||
{{#if is_active }}
|
||||
{{#if is_bot}}
|
||||
<i class="zulip-icon zulip-icon-bot" aria-hidden="true"></i>
|
||||
{{else}}
|
||||
<span class="user_circle {{user_circle_class}} popover_user_presence" title="{{user_last_seen_time_status}}"></span>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<span>{{full_name}}</span>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
Reference in New Issue
Block a user