static/js/stream_data: Deduplicate notification setting updates.

Commit also add `stream_data.js` to full test covered
enforced files for `test-js-with-node` tests.
This commit is contained in:
Yashashvi Dave 2019-06-14 22:38:36 +05:30 committed by Tim Abbott
parent e0a78af494
commit 5c88475378
2 changed files with 11 additions and 23 deletions

View File

@ -300,6 +300,13 @@ exports.receives_notifications = function (stream_name, notification_name) {
return page_params["enable_stream_" + notification_name]; return page_params["enable_stream_" + notification_name];
}; };
var stream_notification_settings = [
"desktop_notifications",
"audible_notifications",
"push_notifications",
"email_notifications",
];
exports.update_calculated_fields = function (sub) { exports.update_calculated_fields = function (sub) {
sub.is_admin = page_params.is_admin; sub.is_admin = page_params.is_admin;
// Admin can change any stream's name & description either stream is public or // Admin can change any stream's name & description either stream is public or
@ -326,26 +333,9 @@ exports.update_calculated_fields = function (sub) {
exports.update_subscribers_count(sub); exports.update_subscribers_count(sub);
// Apply the defaults for our notification settings for rendering. // Apply the defaults for our notification settings for rendering.
if (sub.email_notifications === null) { _.each(stream_notification_settings, function (setting) {
sub.email_notifications_display = page_params.enable_stream_email_notifications; sub[setting + "_display"] = exports.receives_notifications(sub.name, setting);
} else { });
sub.email_notifications_display = sub.email_notifications;
}
if (sub.push_notifications === null) {
sub.push_notifications_display = page_params.enable_stream_push_notifications;
} else {
sub.push_notifications_display = sub.push_notifications;
}
if (sub.desktop_notifications === null) {
sub.desktop_notifications_display = page_params.enable_stream_desktop_notifications;
} else {
sub.desktop_notifications_display = sub.desktop_notifications;
}
if (sub.audible_notifications === null) {
sub.audible_notifications_display = page_params.enable_stream_audible_notifications;
} else {
sub.audible_notifications_display = sub.audible_notifications;
}
}; };
exports.all_subscribed_streams_are_in_home_view = function () { exports.all_subscribed_streams_are_in_home_view = function () {

View File

@ -70,9 +70,7 @@ enforce_fully_covered = {
# 'static/js/settings_ui.js', # 'static/js/settings_ui.js',
'static/js/settings_muting.js', 'static/js/settings_muting.js',
'static/js/settings_user_groups.js', 'static/js/settings_user_groups.js',
# Removed because of an intermediate state of the subscription 'static/js/stream_data.js',
# notifications migration.
# 'static/js/stream_data.js',
'static/js/stream_events.js', 'static/js/stream_events.js',
'static/js/stream_sort.js', 'static/js/stream_sort.js',
'static/js/top_left_corner.js', 'static/js/top_left_corner.js',