mirror of
https://github.com/zulip/zulip.git
synced 2025-10-28 18:43:52 +00:00
ES and TypeScript modules are strict by default and don’t need this directive. ESLint will remind us to add it to new CommonJS files and remove it from ES and TypeScript modules. Signed-off-by: Anders Kaseorg <anders@zulip.com>
63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
"use strict";
|
|
|
|
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 () {
|
|
if (
|
|
page_params.realm_email_address_visibility ===
|
|
settings_config.email_address_visibility_values.everyone.code
|
|
) {
|
|
return true;
|
|
}
|
|
if (
|
|
page_params.realm_email_address_visibility ===
|
|
settings_config.email_address_visibility_values.admins_only.code
|
|
) {
|
|
return page_params.is_admin;
|
|
}
|
|
};
|
|
|
|
exports.email_for_user_settings = function (person) {
|
|
if (!exports.show_email()) {
|
|
return;
|
|
}
|
|
|
|
if (
|
|
page_params.is_admin &&
|
|
person.delivery_email &&
|
|
page_params.realm_email_address_visibility ===
|
|
settings_config.email_address_visibility_values.admins_only.code
|
|
) {
|
|
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",
|
|
};
|
|
};
|
|
|
|
exports.user_can_change_logo = function () {
|
|
return page_params.is_admin && page_params.zulip_plan_is_not_limited;
|
|
};
|