mirror of
https://github.com/zulip/zulip.git
synced 2025-11-09 16:37:23 +00:00
user settings: Extract human_info().
This commit is contained in:
@@ -232,6 +232,44 @@ function bot_info(bot_user) {
|
|||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_last_active(user) {
|
||||||
|
const last_active_date = presence.last_active_date(user.user_id);
|
||||||
|
|
||||||
|
if (!last_active_date) {
|
||||||
|
return i18n.t("Unknown");
|
||||||
|
}
|
||||||
|
return timerender.render_now(last_active_date).time_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
function human_info(person) {
|
||||||
|
const info = {};
|
||||||
|
const user = {};
|
||||||
|
|
||||||
|
user.is_bot = false;
|
||||||
|
user.is_admin = person.is_admin;
|
||||||
|
user.is_guest = person.is_guest;
|
||||||
|
user.is_active = person.is_active;
|
||||||
|
user.user_id = person.user_id;
|
||||||
|
user.full_name = person.full_name;
|
||||||
|
user.bot_owner_id = person.bot_owner_id;
|
||||||
|
|
||||||
|
info.can_modify = page_params.is_admin;
|
||||||
|
info.is_current_user = people.is_my_user_id(person.user_id);
|
||||||
|
info.display_email = settings_data.email_for_user_settings(person);
|
||||||
|
|
||||||
|
if (person.is_active) {
|
||||||
|
// TODO: We might just want to show this
|
||||||
|
// for deactivated users, too, even though
|
||||||
|
// it might usually just be undefined.
|
||||||
|
info.last_active_date = get_last_active(person);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: We want to flatten this.
|
||||||
|
info.user = user;
|
||||||
|
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
|
||||||
section.bots.create_table = (bots) => {
|
section.bots.create_table = (bots) => {
|
||||||
const $bots_table = $("#admin_bots_table");
|
const $bots_table = $("#admin_bots_table");
|
||||||
list_render.create($bots_table, bots, {
|
list_render.create($bots_table, bots, {
|
||||||
@@ -261,26 +299,12 @@ section.bots.create_table = (bots) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
section.active.create_table = (active_users) => {
|
section.active.create_table = (active_users) => {
|
||||||
function get_last_active(user) {
|
|
||||||
const last_active_date = presence.last_active_date(user.user_id);
|
|
||||||
|
|
||||||
if (!last_active_date) {
|
|
||||||
return i18n.t("Unknown");
|
|
||||||
}
|
|
||||||
return timerender.render_now(last_active_date).time_str;
|
|
||||||
}
|
|
||||||
|
|
||||||
const $users_table = $("#admin_users_table");
|
const $users_table = $("#admin_users_table");
|
||||||
list_render.create($users_table, active_users, {
|
list_render.create($users_table, active_users, {
|
||||||
name: "users_table_list",
|
name: "users_table_list",
|
||||||
modifier: function (item) {
|
modifier: function (item) {
|
||||||
return render_admin_user_list({
|
const info = human_info(item);
|
||||||
can_modify: page_params.is_admin,
|
return render_admin_user_list(info);
|
||||||
is_current_user: people.is_my_user_id(item.user_id),
|
|
||||||
display_email: settings_data.email_for_user_settings(item),
|
|
||||||
user: item,
|
|
||||||
last_active_date: get_last_active(item),
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
filter: {
|
filter: {
|
||||||
element: $users_table.closest(".settings-section").find(".search"),
|
element: $users_table.closest(".settings-section").find(".search"),
|
||||||
@@ -305,11 +329,8 @@ section.deactivated.create_table = (deactivated_users) => {
|
|||||||
list_render.create($deactivated_users_table, deactivated_users, {
|
list_render.create($deactivated_users_table, deactivated_users, {
|
||||||
name: "deactivated_users_table_list",
|
name: "deactivated_users_table_list",
|
||||||
modifier: function (item) {
|
modifier: function (item) {
|
||||||
return render_admin_user_list({
|
const info = human_info(item);
|
||||||
user: item,
|
return render_admin_user_list(info);
|
||||||
display_email: settings_data.email_for_user_settings(item),
|
|
||||||
can_modify: page_params.is_admin,
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
filter: {
|
filter: {
|
||||||
element: $deactivated_users_table.closest(".settings-section").find(".search"),
|
element: $deactivated_users_table.closest(".settings-section").find(".search"),
|
||||||
|
|||||||
Reference in New Issue
Block a user