popovers: Refactor showmessage_info_popover.

We now rely on getting the sender object from people.js, rather than
hackishly trying to handle the case that it doesn't exist.
This commit is contained in:
Tim Abbott
2017-09-30 08:31:49 -07:00
parent 16b47a86e4
commit 3c7e470cfb

View File

@@ -83,26 +83,24 @@ function show_message_info_popover(element, id) {
elt.closest(".message_row").find(".message_time")); elt.closest(".message_row").find(".message_time"));
var message = current_msg_list.get(id); var message = current_msg_list.get(id);
var sender = people.get_person_from_user_id(message.sender_id); var user = people.get_person_from_user_id(message.sender_id);
var sender_avatar_url = sender.avatar_url; if (user === undefined) {
var sender_email; // This case should not happen, because
// people.extract_people_from_message should have added
if (sender) { // the message sender to the people.js data set.
sender_email = sender.email; blueslip.error('Bad sender in message' + message.sender_id);
} else { return;
blueslip.debug('Bad sender in message' + message.sender_id);
sender_email = message.sender_email;
} }
var args = { var args = {
user_full_name: message.sender_full_name, user_full_name: user.full_name,
user_email: sender_email, user_email: user.email,
user_id: message.sender_id, user_id: user.user_id,
user_time: people.get_user_time(message.sender_id), user_time: people.get_user_time(user.user_id),
presence_status: presence.get_status(message.sender_id), presence_status: presence.get_status(user.user_id),
user_last_seen_time_status: user_last_seen_time_status(message.sender_id), user_last_seen_time_status: user_last_seen_time_status(user.user_id),
pm_with_uri: narrow.pm_with_uri(sender_email), pm_with_uri: narrow.pm_with_uri(user.email),
sent_by_uri: narrow.by_sender_uri(sender_email), sent_by_uri: narrow.by_sender_uri(user.email),
narrowed: narrow_state.active(), narrowed: narrow_state.active(),
private_message_class: "respond_personal_button", private_message_class: "respond_personal_button",
}; };
@@ -123,13 +121,14 @@ function show_message_info_popover(element, id) {
elt.popover({ elt.popover({
placement: placement, placement: placement,
template: templates.render('user_info_popover', {class: "message-info-popover"}), template: templates.render('user_info_popover', {class: "message-info-popover"}),
title: templates.render('user_info_popover_title', {user_avatar: "avatar/" + sender_email}), title: templates.render('user_info_popover_title',
{user_avatar: "avatar/" + user.email}),
content: templates.render('user_info_popover_content', args), content: templates.render('user_info_popover_content', args),
trigger: "manual", trigger: "manual",
}); });
elt.popover("show"); elt.popover("show");
load_medium_avatar(sender_avatar_url); load_medium_avatar(user.avatar_url);
current_message_info_popover_elem = elt; current_message_info_popover_elem = elt;
} }