Files
zulip/static/js/settings_data.js
Anders Kaseorg d72423ef21 eslint: Replace empty-returns with consistent-return.
Instead of prohibiting ‘return undefined’ (#8669), we require that a
function must return an explicit value always or never.  This prevents
you from forgetting to return a value in some cases.  It will also be
important for TypeScript, which distinguishes between undefined and
void.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-09-25 15:17:59 -07:00

64 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;
}
return undefined;
};
exports.email_for_user_settings = function (person) {
if (!exports.show_email()) {
return undefined;
}
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;
};