diff --git a/static/js/admin_sections.js b/static/js/admin_sections.js index 9d648c9e2b..9f9dff6426 100644 --- a/static/js/admin_sections.js +++ b/static/js/admin_sections.js @@ -5,29 +5,10 @@ var exports = {}; var is_loaded = new Dict(); // section -> bool exports.maybe_disable_widgets = function () { - if (page_params.is_admin) { - return; - } - - // Ideally we'd do this on a per-page basis, but there - // are some tactical advantages of having all this code - // in the same place. - - $(".organization-box [data-name='organization-profile']") - .find("input, textarea, button, select").attr("disabled", true); - $(".organization-box [data-name='organization-settings']") - .find("input, textarea, button, select").attr("disabled", true); - $(".organization-box [data-name='organization-permissions']") - .find("input, textarea, button, select").attr("disabled", true); - $(".organization-box [data-name='auth-methods']") - .find("input, button, select, checked").attr("disabled", true); - $(".organization-box [data-name='default-streams-list']") - .find("input:not(.search), button, select").attr("disabled", true); - $(".organization-box [data-name='filter-settings']") - .find("input, button, select").attr("disabled", true); - $(".organization-box [data-name='profile-field-settings']") - .find("input, button, select").attr("disabled", true); - $(".control-label-disabled").addClass('enabled'); + settings_org.maybe_disable_widgets(); + settings_streams.maybe_disable_widgets(); + settings_filters.maybe_disable_widgets(); + settings_profile_fields.maybe_disable_widgets(); }; exports.load_admin_section = function (name) { diff --git a/static/js/settings_filters.js b/static/js/settings_filters.js index 606950312f..eead1accc7 100644 --- a/static/js/settings_filters.js +++ b/static/js/settings_filters.js @@ -10,6 +10,15 @@ exports.reset = function () { meta.loaded = false; }; +exports.maybe_disable_widgets = function () { + if (page_params.is_admin) { + return; + } + + $(".organization-box [data-name='filter-settings']") + .find("input, button, select").attr("disabled", true); +}; + exports.populate_filters = function (filters_data) { if (!meta.loaded) { return; diff --git a/static/js/settings_org.js b/static/js/settings_org.js index 981680329f..9b39e1ab28 100644 --- a/static/js/settings_org.js +++ b/static/js/settings_org.js @@ -81,6 +81,30 @@ var org_permissions = { }, }; +exports.maybe_disable_widgets = function () { + if (page_params.is_admin) { + return; + } + + $(".organization-box [data-name='organization-profile']") + .find("input, textarea, button, select").attr("disabled", true); + + $(".organization-box [data-name='organization-settings']") + .find("input, textarea, button, select").attr("disabled", true); + + $(".organization-box [data-name='organization-settings']") + .find(".control-label-disabled").addClass('enabled'); + + $(".organization-box [data-name='organization-permissions']") + .find("input, textarea, button, select").attr("disabled", true); + + $(".organization-box [data-name='organization-permissions']") + .find(".control-label-disabled").addClass('enabled'); + + $(".organization-box [data-name='auth-methods']") + .find("input, button, select, checked").attr("disabled", true); +}; + exports.email_address_visibility_values = { everyone: { code: 1, diff --git a/static/js/settings_profile_fields.js b/static/js/settings_profile_fields.js index 0c5e8f37ac..0734185e85 100644 --- a/static/js/settings_profile_fields.js +++ b/static/js/settings_profile_fields.js @@ -6,6 +6,15 @@ var meta = { loaded: false, }; +exports.maybe_disable_widgets = function () { + if (page_params.is_admin) { + return; + } + + $(".organization-box [data-name='profile-field-settings']") + .find("input, button, select").attr("disabled", true); +}; + var order = []; var field_types = page_params.custom_profile_field_types; diff --git a/static/js/settings_streams.js b/static/js/settings_streams.js index 38256f09b0..48b17ba7d3 100644 --- a/static/js/settings_streams.js +++ b/static/js/settings_streams.js @@ -10,6 +10,15 @@ exports.reset = function () { meta.loaded = false; }; +exports.maybe_disable_widgets = function () { + if (page_params.is_admin) { + return; + } + + $(".organization-box [data-name='default-streams-list']") + .find("input:not(.search), button, select").attr("disabled", true); +}; + exports.build_default_stream_table = function (streams_data) { var self = {};