2020-02-25 12:46:14 +01:00
|
|
|
const settings_config = require("./settings_config");
|
|
|
|
|
|
|
|
/*
|
|
|
|
This is a close cousin of settings_config,
|
|
|
|
but this has a bit more logic, and we
|
|
|
|
ensure 100% line coverage on it.
|
|
|
|
|
|
|
|
Our main goal with this code is to isolate
|
|
|
|
some key modules from having to know
|
|
|
|
about page_params and settings_config details.
|
|
|
|
*/
|
|
|
|
|
|
|
|
exports.show_email = function () {
|
2020-07-15 00:34:28 +02:00
|
|
|
if (
|
|
|
|
page_params.realm_email_address_visibility ===
|
|
|
|
settings_config.email_address_visibility_values.everyone.code
|
|
|
|
) {
|
2020-02-25 12:46:14 +01:00
|
|
|
return true;
|
|
|
|
}
|
2020-07-15 00:34:28 +02:00
|
|
|
if (
|
|
|
|
page_params.realm_email_address_visibility ===
|
|
|
|
settings_config.email_address_visibility_values.admins_only.code
|
|
|
|
) {
|
2020-02-25 12:46:14 +01:00
|
|
|
return page_params.is_admin;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
exports.email_for_user_settings = function (person) {
|
|
|
|
if (!exports.show_email()) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2020-07-15 00:34:28 +02:00
|
|
|
if (
|
|
|
|
page_params.is_admin &&
|
|
|
|
person.delivery_email &&
|
|
|
|
page_params.realm_email_address_visibility ===
|
|
|
|
settings_config.email_address_visibility_values.admins_only.code
|
|
|
|
) {
|
2020-02-25 12:46:14 +01:00
|
|
|
return person.delivery_email;
|
|
|
|
}
|
|
|
|
|
|
|
|
return person.email;
|
|
|
|
};
|
|
|
|
|
|
|
|
exports.get_time_preferences = function (user_timezone) {
|
|
|
|
if (page_params.twenty_four_hour_time) {
|
|
|
|
return {
|
|
|
|
timezone: user_timezone,
|
|
|
|
format: "H:mm",
|
|
|
|
};
|
|
|
|
}
|
|
|
|
return {
|
|
|
|
timezone: user_timezone,
|
|
|
|
format: "h:mm A",
|
|
|
|
};
|
|
|
|
};
|
2020-06-17 07:43:53 +02:00
|
|
|
|
|
|
|
exports.user_can_change_logo = function () {
|
|
|
|
return page_params.is_admin && page_params.zulip_plan_is_not_limited;
|
|
|
|
};
|