mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 13:33:24 +00:00
settings: Add full members and moderators options in custom emoji setting.
This commit is contained in:
@@ -192,6 +192,11 @@ test_policy(
|
||||
"realm_user_group_edit_policy",
|
||||
settings_data.user_can_edit_user_groups,
|
||||
);
|
||||
test_policy(
|
||||
"user_can_add_custom_emoji",
|
||||
"realm_add_custom_emoji_policy",
|
||||
settings_data.user_can_add_custom_emoji,
|
||||
);
|
||||
|
||||
function test_message_policy(label, policy, validation_func) {
|
||||
run_test(label, () => {
|
||||
|
||||
@@ -165,8 +165,7 @@ function test_submit_settings_form(override, submit_form) {
|
||||
realm_bot_creation_policy: settings_bots.bot_creation_policy_values.restricted.code,
|
||||
realm_email_address_visibility:
|
||||
settings_config.email_address_visibility_values.admins_only.code,
|
||||
realm_add_custom_emoji_policy:
|
||||
settings_config.add_custom_emoji_policy_values.by_admins_only.code,
|
||||
realm_add_custom_emoji_policy: settings_config.common_policy_values.by_admins_only.code,
|
||||
realm_create_stream_by_admins_only: true,
|
||||
realm_waiting_period_threshold: 1,
|
||||
realm_default_language: '"es"',
|
||||
|
||||
@@ -10,7 +10,6 @@ import * as settings from "./settings";
|
||||
import * as settings_bots from "./settings_bots";
|
||||
import * as settings_config from "./settings_config";
|
||||
import * as settings_data from "./settings_data";
|
||||
import * as settings_emoji from "./settings_emoji";
|
||||
import * as settings_org from "./settings_org";
|
||||
import * as settings_panel_menu from "./settings_panel_menu";
|
||||
import * as settings_sections from "./settings_sections";
|
||||
@@ -77,9 +76,7 @@ export function build_page() {
|
||||
realm_email_changes_disabled: page_params.realm_email_changes_disabled,
|
||||
realm_avatar_changes_disabled: page_params.realm_avatar_changes_disabled,
|
||||
realm_add_custom_emoji_policy: page_params.realm_add_custom_emoji_policy,
|
||||
can_add_emojis: settings_emoji.can_add_emoji(),
|
||||
ADD_CUSTOM_EMOJI_POLICY_ADMINS_ONLY:
|
||||
settings_config.add_custom_emoji_policy_values.by_admins_only.code,
|
||||
can_add_emojis: settings_data.user_can_add_custom_emoji(),
|
||||
realm_message_content_edit_limit_minutes: settings_org.get_realm_time_limits_in_minutes(
|
||||
"realm_message_content_edit_limit_seconds",
|
||||
),
|
||||
|
||||
@@ -158,19 +158,6 @@ export const invite_to_realm_policy_values = {
|
||||
},
|
||||
};
|
||||
|
||||
export const add_custom_emoji_policy_values = {
|
||||
by_admins_only: {
|
||||
order: 1,
|
||||
code: 2,
|
||||
description: $t({defaultMessage: "Admins"}),
|
||||
},
|
||||
by_members: {
|
||||
order: 2,
|
||||
code: 1,
|
||||
description: $t({defaultMessage: "Admins and members"}),
|
||||
},
|
||||
};
|
||||
|
||||
export const private_message_policy_values = {
|
||||
by_anyone: {
|
||||
order: 1,
|
||||
|
||||
@@ -166,6 +166,10 @@ export function user_can_edit_user_groups() {
|
||||
return user_has_permission(page_params.realm_user_group_edit_policy);
|
||||
}
|
||||
|
||||
export function user_can_add_custom_emoji() {
|
||||
return user_has_permission(page_params.realm_add_custom_emoji_policy);
|
||||
}
|
||||
|
||||
export function user_can_edit_topic_of_any_message() {
|
||||
if (
|
||||
page_params.realm_edit_topic_policy ===
|
||||
|
||||
@@ -14,6 +14,7 @@ import * as loading from "./loading";
|
||||
import {page_params} from "./page_params";
|
||||
import * as people from "./people";
|
||||
import * as settings_config from "./settings_config";
|
||||
import * as settings_data from "./settings_data";
|
||||
import * as ui from "./ui";
|
||||
import * as ui_report from "./ui_report";
|
||||
import * as upload_widget from "./upload_widget";
|
||||
@@ -22,22 +23,6 @@ const meta = {
|
||||
loaded: false,
|
||||
};
|
||||
|
||||
export function can_add_emoji() {
|
||||
if (page_params.is_guest) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (page_params.is_admin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// for normal users, we depend on the setting
|
||||
return (
|
||||
page_params.realm_add_custom_emoji_policy ===
|
||||
settings_config.add_custom_emoji_policy_values.by_members.code
|
||||
);
|
||||
}
|
||||
|
||||
function can_delete_emoji(emoji) {
|
||||
if (page_params.is_admin) {
|
||||
return true;
|
||||
@@ -54,15 +39,11 @@ function can_delete_emoji(emoji) {
|
||||
|
||||
export function update_custom_emoji_ui() {
|
||||
const rendered_tip = render_settings_emoji_settings_tip({
|
||||
ADD_CUSTOM_EMOJI_POLICY_ADMINS_ONLY:
|
||||
settings_config.add_custom_emoji_policy_values.by_admins_only.code,
|
||||
realm_add_custom_emoji_policy: page_params.realm_add_custom_emoji_policy,
|
||||
policy_values: settings_config.common_policy_values,
|
||||
});
|
||||
$("#emoji-settings").find(".emoji-settings-tip-container").html(rendered_tip);
|
||||
if (
|
||||
page_params.realm_add_custom_emoji_policy ===
|
||||
settings_config.add_custom_emoji_policy_values.by_admins_only.code &&
|
||||
!page_params.is_admin
|
||||
) {
|
||||
if (!settings_data.user_can_add_custom_emoji()) {
|
||||
$(".add-emoji-text").hide();
|
||||
$(".admin-emoji-form").hide();
|
||||
} else {
|
||||
|
||||
@@ -108,9 +108,6 @@ export function get_organization_settings_options() {
|
||||
options.invite_to_realm_policy_values = get_sorted_options_list(
|
||||
settings_config.invite_to_realm_policy_values,
|
||||
);
|
||||
options.add_custom_emoji_policy_values = get_sorted_options_list(
|
||||
settings_config.add_custom_emoji_policy_values,
|
||||
);
|
||||
return options;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
{{#if is_guest}}
|
||||
<div class='tip'>{{t "Guests cannot edit custom emoji." }}</div>
|
||||
{{else}}
|
||||
{{#if (eq realm_add_custom_emoji_policy ADD_CUSTOM_EMOJI_POLICY_ADMINS_ONLY) }}
|
||||
{{#if (eq realm_add_custom_emoji_policy policy_values.by_admins_only.code) }}
|
||||
<div class='tip'>{{t "Only organization administrators can add custom emoji in this organization." }}</div>
|
||||
{{else if (eq realm_add_custom_emoji_policy policy_values.by_moderators_only.code)}}
|
||||
<div class='tip'>{{t 'Only organization administrators and moderators can add custom emoji in this organization.'}}</div>
|
||||
{{else if (eq realm_add_custom_emoji_policy policy_values.by_full_members.code)}}
|
||||
<div class='tip'>{{t 'Only organization full members can add custom emoji in this organization.'}}</div>
|
||||
{{else}}
|
||||
<div class='tip'>{{t "Any member of this organization can add custom emoji." }}</div>
|
||||
{{/if}}
|
||||
|
||||
@@ -214,7 +214,7 @@
|
||||
<div class="input-group">
|
||||
<label for="realm_add_custom_emoji_policy" class="dropdown-title">{{t "Who can add custom emoji" }}</label>
|
||||
<select name="realm_add_cutsom_emoji_policy" class="setting-widget prop-element" id="id_realm_add_custom_emoji_policy" data-setting-widget-type="number">
|
||||
{{> dropdown_options_widget option_values=add_custom_emoji_policy_values}}
|
||||
{{> dropdown_options_widget option_values=common_policy_values}}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user