mirror of
https://github.com/zulip/zulip.git
synced 2025-11-17 12:21:58 +00:00
user_groups: Add function for determining group creation permissions.
Earlier in frontend there was a single function to determine whether user can create and edit user groups. This commit adds a separate function for determining group creation permissions.
This commit is contained in:
@@ -182,6 +182,7 @@ export function build_page() {
|
|||||||
can_create_multiuse_invite: settings_data.user_can_create_multiuse_invite(),
|
can_create_multiuse_invite: settings_data.user_can_create_multiuse_invite(),
|
||||||
can_invite_users_by_email: settings_data.user_can_invite_users_by_email(),
|
can_invite_users_by_email: settings_data.user_can_invite_users_by_email(),
|
||||||
realm_invite_required: realm.realm_invite_required,
|
realm_invite_required: realm.realm_invite_required,
|
||||||
|
can_create_user_groups: settings_data.user_can_create_user_groups(),
|
||||||
policy_values: settings_config.common_policy_values,
|
policy_values: settings_config.common_policy_values,
|
||||||
realm_can_delete_any_message_group: realm.realm_can_delete_any_message_group,
|
realm_can_delete_any_message_group: realm.realm_can_delete_any_message_group,
|
||||||
realm_delete_own_message_policy: realm.realm_delete_own_message_policy,
|
realm_delete_own_message_policy: realm.realm_delete_own_message_policy,
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ export function validate_group_settings_hash(hash: string): string {
|
|||||||
const hash_components = hash.slice(1).split(/\//);
|
const hash_components = hash.slice(1).split(/\//);
|
||||||
const section = hash_components[1];
|
const section = hash_components[1];
|
||||||
|
|
||||||
const can_create_groups = settings_data.user_can_edit_user_groups();
|
const can_create_groups = settings_data.user_can_create_user_groups();
|
||||||
if (section === "new" && !can_create_groups) {
|
if (section === "new" && !can_create_groups) {
|
||||||
return "#groups/your";
|
return "#groups/your";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -185,6 +185,10 @@ export function can_edit_user_group(group_id: number): boolean {
|
|||||||
return user_groups.is_direct_member_of(current_user.user_id, group_id);
|
return user_groups.is_direct_member_of(current_user.user_id, group_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function user_can_create_user_groups(): boolean {
|
||||||
|
return user_has_permission(realm.realm_user_group_edit_policy);
|
||||||
|
}
|
||||||
|
|
||||||
export function user_can_add_custom_emoji(): boolean {
|
export function user_can_add_custom_emoji(): boolean {
|
||||||
return user_has_permission(realm.realm_add_custom_emoji_policy);
|
return user_has_permission(realm.realm_add_custom_emoji_policy);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -726,7 +726,7 @@ export function setup_page(callback) {
|
|||||||
|
|
||||||
function populate_and_fill() {
|
function populate_and_fill() {
|
||||||
const template_data = {
|
const template_data = {
|
||||||
can_create_or_edit_user_groups: settings_data.user_can_edit_user_groups(),
|
can_create_user_groups: settings_data.user_can_create_user_groups(),
|
||||||
max_user_group_name_length,
|
max_user_group_name_length,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<div class="left">
|
<div class="left">
|
||||||
<div class="list-toggler-container">
|
<div class="list-toggler-container">
|
||||||
<div id="add_new_user_group">
|
<div id="add_new_user_group">
|
||||||
{{#if can_create_or_edit_user_groups}}
|
{{#if can_create_user_groups}}
|
||||||
<button class="create_user_group_button create_user_group_plus_button">
|
<button class="create_user_group_button create_user_group_plus_button">
|
||||||
<span class="create_button_plus_sign">+</span>
|
<span class="create_button_plus_sign">+</span>
|
||||||
</button>
|
</button>
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
<div class="all_groups_tab_empty_text">
|
<div class="all_groups_tab_empty_text">
|
||||||
<span class="settings-empty-option-text">
|
<span class="settings-empty-option-text">
|
||||||
{{t 'There are no user groups you can view in this organization.'}}
|
{{t 'There are no user groups you can view in this organization.'}}
|
||||||
{{#if can_create_or_edit_user_groups}}
|
{{#if can_create_user_groups}}
|
||||||
<a href="#groups/new">{{t 'Create a user group'}}</a>
|
<a href="#groups/new">{{t 'Create a user group'}}</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</span>
|
</span>
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
<div id="user_group_settings_title" class="user-group-info-title">{{t 'User group settings' }}</div>
|
<div id="user_group_settings_title" class="user-group-info-title">{{t 'User group settings' }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="nothing-selected">
|
<div class="nothing-selected">
|
||||||
{{#if can_create_or_edit_user_groups}}
|
{{#if can_create_user_groups}}
|
||||||
<button type="button" class="create_user_group_button animated-purple-button">{{t 'Create user group' }}</button>
|
<button type="button" class="create_user_group_button animated-purple-button">{{t 'Create user group' }}</button>
|
||||||
<span class="settings-empty-option-text">
|
<span class="settings-empty-option-text">
|
||||||
{{#tr}}
|
{{#tr}}
|
||||||
|
|||||||
@@ -156,6 +156,11 @@ test_policy(
|
|||||||
"realm_move_messages_between_streams_policy",
|
"realm_move_messages_between_streams_policy",
|
||||||
settings_data.user_can_move_messages_between_streams,
|
settings_data.user_can_move_messages_between_streams,
|
||||||
);
|
);
|
||||||
|
test_policy(
|
||||||
|
"user_can_create_user_groups",
|
||||||
|
"realm_user_group_edit_policy",
|
||||||
|
settings_data.user_can_create_user_groups,
|
||||||
|
);
|
||||||
test_policy(
|
test_policy(
|
||||||
"user_can_edit_user_groups",
|
"user_can_edit_user_groups",
|
||||||
"realm_user_group_edit_policy",
|
"realm_user_group_edit_policy",
|
||||||
|
|||||||
Reference in New Issue
Block a user