mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
settings: Add two realm settings to restrict direct messages.
Fixes #24467.
This commit is contained in:
@@ -3,6 +3,7 @@ import type {z} from "zod";
|
||||
import * as blueslip from "./blueslip";
|
||||
import {FoldDict} from "./fold_dict";
|
||||
import * as group_permission_settings from "./group_permission_settings";
|
||||
import {$t} from "./i18n";
|
||||
import * as settings_config from "./settings_config";
|
||||
import type {StateData, user_group_schema} from "./state_data";
|
||||
import {current_user} from "./state_data";
|
||||
@@ -225,6 +226,14 @@ export function is_user_in_group(user_group_id: number, user_id: number): boolea
|
||||
return false;
|
||||
}
|
||||
|
||||
function get_display_name_for_system_group_option(setting_name: string, name: string): string {
|
||||
// We use a special label for the "Nobody" system group for clarity.
|
||||
if (setting_name === "direct_message_permission_group" && name === "Nobody") {
|
||||
return $t({defaultMessage: "Direct messages disabled"});
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
export function get_realm_user_groups_for_dropdown_list_widget(
|
||||
setting_name: string,
|
||||
setting_type: "realm" | "stream" | "group",
|
||||
@@ -277,7 +286,7 @@ export function get_realm_user_groups_for_dropdown_list_widget(
|
||||
throw new Error(`Unknown group name: ${group.name}`);
|
||||
}
|
||||
return {
|
||||
name: group.display_name,
|
||||
name: get_display_name_for_system_group_option(setting_name, group.display_name),
|
||||
unique_id: user_group.id,
|
||||
};
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user