Add realm-level settings to control inline image and url preview.

This gives users more control in case they don't want previews,
especially for the "previews of linked websites" feature.

Fixes: #2640.
This commit is contained in:
Ayush Jain
2017-03-13 19:12:03 +05:30
committed by Tim Abbott
parent a27f8f2f30
commit bddcfb1c96
17 changed files with 296 additions and 8 deletions

View File

@@ -381,6 +381,10 @@ function _setup_page() {
realm_restricted_to_domain: page_params.realm_restricted_to_domain,
realm_invite_required: page_params.realm_invite_required,
realm_invite_by_admins_only: page_params.realm_invite_by_admins_only,
realm_inline_image_preview: page_params.realm_inline_image_preview,
server_inline_image_preview: page_params.server_inline_image_preview,
realm_inline_url_embed_preview: page_params.realm_inline_url_embed_preview,
server_inline_url_embed_preview: page_params.server_inline_url_embed_preview,
realm_authentication_methods: page_params.realm_authentication_methods,
realm_create_stream_by_admins_only: page_params.realm_create_stream_by_admins_only,
realm_name_changes_disabled: page_params.realm_name_changes_disabled,
@@ -623,6 +627,8 @@ function _setup_page() {
var restricted_to_domain_status = $("#admin-realm-restricted-to-domain-status").expectOne();
var invite_required_status = $("#admin-realm-invite-required-status").expectOne();
var invite_by_admins_only_status = $("#admin-realm-invite-by-admins-only-status").expectOne();
var inline_image_preview_status = $("#admin-realm-inline-image-preview-status").expectOne();
var inline_url_embed_preview_status = $("#admin-realm-inline-url-embed-preview-status").expectOne();
var authentication_methods_status = $("#admin-realm-authentication-methods-status").expectOne();
var create_stream_by_admins_only_status = $("#admin-realm-create-stream-by-admins-only-status").expectOne();
var name_changes_disabled_status = $("#admin-realm-name-changes-disabled-status").expectOne();
@@ -636,6 +642,8 @@ function _setup_page() {
restricted_to_domain_status.hide();
invite_required_status.hide();
invite_by_admins_only_status.hide();
inline_image_preview_status.hide();
inline_url_embed_preview_status.hide();
authentication_methods_status.hide();
create_stream_by_admins_only_status.hide();
name_changes_disabled_status.hide();
@@ -653,6 +661,8 @@ function _setup_page() {
var new_restricted = $("#id_realm_restricted_to_domain").prop("checked");
var new_invite = $("#id_realm_invite_required").prop("checked");
var new_invite_by_admins_only = $("#id_realm_invite_by_admins_only").prop("checked");
var new_inline_image_preview = $("#id_realm_inline_image_preview").prop("checked");
var new_inline_url_embed_preview = $("#id_realm_inline_url_embed_preview").prop("checked");
var new_create_stream_by_admins_only = $("#id_realm_create_stream_by_admins_only").prop("checked");
var new_name_changes_disabled = $("#id_realm_name_changes_disabled").prop("checked");
var new_email_changes_disabled = $("#id_realm_email_changes_disabled").prop("checked");
@@ -685,6 +695,8 @@ function _setup_page() {
restricted_to_domain: JSON.stringify(new_restricted),
invite_required: JSON.stringify(new_invite),
invite_by_admins_only: JSON.stringify(new_invite_by_admins_only),
inline_image_preview: JSON.stringify(new_inline_image_preview),
inline_url_embed_preview: JSON.stringify(new_inline_url_embed_preview),
authentication_methods: JSON.stringify(new_auth_methods),
create_stream_by_admins_only: JSON.stringify(new_create_stream_by_admins_only),
name_changes_disabled: JSON.stringify(new_name_changes_disabled),
@@ -728,6 +740,20 @@ function _setup_page() {
ui_report.success(i18n.t("Any user may now invite new users!"), invite_by_admins_only_status);
}
}
if (response_data.inline_image_preview !== undefined) {
if (response_data.inline_image_preview) {
ui.report_success(i18n.t("Previews of uploaded and linked images will be shown!"), inline_image_preview_status);
} else {
ui.report_success(i18n.t("Previews of uploaded and linked images will not be shown!"), inline_image_preview_status);
}
}
if (response_data.inline_url_embed_preview !== undefined) {
if (response_data.inline_url_embed_preview) {
ui.report_success(i18n.t("Previews for linked websites will be shown!"), inline_url_embed_preview_status);
} else {
ui.report_success(i18n.t("Previews for linked websites will not be shown!"), inline_url_embed_preview_status);
}
}
if (response_data.create_stream_by_admins_only !== undefined) {
if (response_data.create_stream_by_admins_only) {
ui_report.success(i18n.t("Only administrators may now create new streams!"), create_stream_by_admins_only_status);