mirror of https://github.com/zulip/zulip.git
narrow_banner: Fix message view banner for dm with deactivated user.
Previously the empty view banner for DM with any recipients contained "Why not start the conversation". For deactivated users/bots, we are now not displaying it.
This commit is contained in:
parent
120cfa8987
commit
e23d863981
|
@ -346,12 +346,23 @@ export function pick_empty_narrow_banner(): NarrowBannerData {
|
|||
}),
|
||||
};
|
||||
}
|
||||
// If the recipient is deactivated, we cannot start the conversation.
|
||||
if (!people.is_person_active(recipient_user.user_id)) {
|
||||
return {
|
||||
title: $t(
|
||||
{
|
||||
defaultMessage: "You have no direct messages with {person}.",
|
||||
},
|
||||
{person: recipient_user.full_name},
|
||||
),
|
||||
};
|
||||
}
|
||||
return {
|
||||
title: $t(
|
||||
{
|
||||
defaultMessage: "You have no direct messages with {person} yet.",
|
||||
},
|
||||
{person: people.get_by_user_id(user_ids[0]).full_name},
|
||||
{person: recipient_user.full_name},
|
||||
),
|
||||
html: $t_html(
|
||||
{
|
||||
|
@ -366,6 +377,11 @@ export function pick_empty_narrow_banner(): NarrowBannerData {
|
|||
),
|
||||
};
|
||||
}
|
||||
if (people.get_non_active_user_ids_count(user_ids) !== 0) {
|
||||
return {
|
||||
title: $t({defaultMessage: "You have no direct messages with these users."}),
|
||||
};
|
||||
}
|
||||
return {
|
||||
title: $t({defaultMessage: "You have no direct messages with these users yet."}),
|
||||
html: $t_html(
|
||||
|
|
|
@ -1034,6 +1034,16 @@ export function get_non_active_human_ids(): number[] {
|
|||
return human_ids;
|
||||
}
|
||||
|
||||
export function get_non_active_user_ids_count(user_ids: number[]): number {
|
||||
let count = 0;
|
||||
for (const user_id of user_ids) {
|
||||
if (non_active_user_dict.has(user_id)) {
|
||||
count += 1;
|
||||
}
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
export function get_bot_ids(): number[] {
|
||||
const bot_ids = [];
|
||||
|
||||
|
|
|
@ -418,6 +418,17 @@ run_test("show_empty_narrow_message", ({mock_template}) => {
|
|||
),
|
||||
);
|
||||
|
||||
// sending direct messages to deactivated user
|
||||
realm.realm_direct_message_permission_group = everyone.id;
|
||||
people.deactivate(alice);
|
||||
set_filter([["dm", alice.email]]);
|
||||
narrow_banner.show_empty_narrow_message();
|
||||
assert.equal(
|
||||
$(".empty_feed_notice_main").html(),
|
||||
empty_narrow_html("translated: You have no direct messages with Alice Smith."),
|
||||
);
|
||||
people.add_active_user(alice);
|
||||
|
||||
people.add_active_user(me);
|
||||
people.initialize_current_user(me.user_id);
|
||||
set_filter([["dm", me.email]]);
|
||||
|
@ -440,6 +451,16 @@ run_test("show_empty_narrow_message", ({mock_template}) => {
|
|||
),
|
||||
);
|
||||
|
||||
// group dm with a deactivated user
|
||||
people.deactivate(alice);
|
||||
set_filter([["dm", ray.email + "," + alice.email]]);
|
||||
narrow_banner.show_empty_narrow_message();
|
||||
assert.equal(
|
||||
$(".empty_feed_notice_main").html(),
|
||||
empty_narrow_html("translated: You have no direct messages with these users."),
|
||||
);
|
||||
people.add_active_user(alice);
|
||||
|
||||
// organization has disabled sending direct messages
|
||||
realm.realm_direct_message_permission_group = nobody.id;
|
||||
|
||||
|
|
|
@ -335,6 +335,7 @@ test_people("basics", ({override}) => {
|
|||
// Now deactivate isaac
|
||||
people.deactivate(isaac);
|
||||
assert.equal(people.get_non_active_human_ids().length, 1);
|
||||
assert.equal(people.get_non_active_user_ids_count([isaac.user_id]), 1);
|
||||
assert.equal(people.get_active_human_count(), 1);
|
||||
assert.equal(people.is_active_user_for_popover(isaac.user_id), false);
|
||||
assert.equal(people.is_valid_email_for_compose(isaac.email), true);
|
||||
|
|
Loading…
Reference in New Issue