mirror of
https://github.com/zulip/zulip.git
synced 2025-11-05 06:23:38 +00:00
setting: Add dropdown for managing who can move messages between streams.
This commit adds the dropdown in 'Stream settings' section of organization permissions page to control who can move messages between streams and also hides the stream-edit UI in message-edit form accordingly. Fixes #14499.
This commit is contained in:
@@ -157,3 +157,8 @@ test_policy(
|
|||||||
"realm_invite_to_realm_policy",
|
"realm_invite_to_realm_policy",
|
||||||
settings_data.user_can_invite_others_to_realm,
|
settings_data.user_can_invite_others_to_realm,
|
||||||
);
|
);
|
||||||
|
test_policy(
|
||||||
|
"user_can_move_messages_between_streams",
|
||||||
|
"realm_move_messages_between_streams_policy",
|
||||||
|
settings_data.user_can_move_messages_between_streams,
|
||||||
|
);
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import * as message_viewport from "./message_viewport";
|
|||||||
import {page_params} from "./page_params";
|
import {page_params} from "./page_params";
|
||||||
import * as resize from "./resize";
|
import * as resize from "./resize";
|
||||||
import * as rows from "./rows";
|
import * as rows from "./rows";
|
||||||
|
import * as settings_data from "./settings_data";
|
||||||
import * as stream_bar from "./stream_bar";
|
import * as stream_bar from "./stream_bar";
|
||||||
import * as stream_data from "./stream_data";
|
import * as stream_data from "./stream_data";
|
||||||
import * as ui_report from "./ui_report";
|
import * as ui_report from "./ui_report";
|
||||||
@@ -346,7 +347,8 @@ function edit_message(row, raw_content) {
|
|||||||
file_upload_enabled = true;
|
file_upload_enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const show_edit_stream = message.is_stream && page_params.is_admin;
|
const show_edit_stream =
|
||||||
|
message.is_stream && settings_data.user_can_move_messages_between_streams();
|
||||||
// current message's stream has been already been added and selected in handlebar
|
// current message's stream has been already been added and selected in handlebar
|
||||||
const available_streams = show_edit_stream
|
const available_streams = show_edit_stream
|
||||||
? stream_data.subscribed_subs().filter((s) => s.stream_id !== message.stream_id)
|
? stream_data.subscribed_subs().filter((s) => s.stream_id !== message.stream_id)
|
||||||
|
|||||||
@@ -126,3 +126,7 @@ export function user_can_subscribe_other_users() {
|
|||||||
export function user_can_create_streams() {
|
export function user_can_create_streams() {
|
||||||
return user_has_permission(page_params.realm_create_stream_policy);
|
return user_has_permission(page_params.realm_create_stream_policy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function user_can_move_messages_between_streams() {
|
||||||
|
return user_has_permission(page_params.realm_move_messages_between_streams_policy);
|
||||||
|
}
|
||||||
|
|||||||
@@ -247,6 +247,7 @@ const simple_dropdown_properties = [
|
|||||||
"realm_add_emoji_by_admins_only",
|
"realm_add_emoji_by_admins_only",
|
||||||
"realm_user_invite_restriction",
|
"realm_user_invite_restriction",
|
||||||
"realm_wildcard_mention_policy",
|
"realm_wildcard_mention_policy",
|
||||||
|
"realm_move_messages_between_streams_policy",
|
||||||
];
|
];
|
||||||
|
|
||||||
function set_property_dropdown_value(property_name) {
|
function set_property_dropdown_value(property_name) {
|
||||||
|
|||||||
@@ -115,6 +115,13 @@
|
|||||||
{{> dropdown_options_widget option_values=wildcard_mention_policy_values}}
|
{{> dropdown_options_widget option_values=wildcard_mention_policy_values}}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="input-group">
|
||||||
|
<label for="realm_move_messages_between_streams_policy">{{t "Who can move messages between streams" }}
|
||||||
|
</label>
|
||||||
|
<select name="realm_move_messages_between_streams_policy" class="setting-widget prop-element" id="id_realm_move_messages_between_streams_policy" data-setting-widget-type="number">
|
||||||
|
{{> dropdown_options_widget option_values=common_policy_values}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user