mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +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