diff --git a/frontend_tests/node_tests/dispatch.js b/frontend_tests/node_tests/dispatch.js index 2a6de1fe8b..f84b42e56e 100644 --- a/frontend_tests/node_tests/dispatch.js +++ b/frontend_tests/node_tests/dispatch.js @@ -34,7 +34,6 @@ const dark_theme = mock_esm("../../static/js/dark_theme"); const emoji_picker = mock_esm("../../static/js/emoji_picker"); const hotspots = mock_esm("../../static/js/hotspots"); const linkifiers = mock_esm("../../static/js/linkifiers"); -const message_edit = mock_esm("../../static/js/message_edit"); const message_events = mock_esm("../../static/js/message_events"); const message_lists = mock_esm("../../static/js/message_lists"); const muted_topics_ui = mock_esm("../../static/js/muted_topics_ui"); @@ -469,7 +468,6 @@ run_test("realm settings", ({override}) => { page_params.realm_allow_message_editing = false; page_params.realm_message_content_edit_limit_seconds = 0; override(settings_org, "populate_auth_methods", noop); - override(message_edit, "update_message_topic_editing_pencil", noop); dispatch(event); assert_same(page_params.realm_allow_message_editing, true); assert_same(page_params.realm_message_content_edit_limit_seconds, 5); diff --git a/frontend_tests/node_tests/message_edit.js b/frontend_tests/node_tests/message_edit.js index 31a59f1609..dbac0af4f5 100644 --- a/frontend_tests/node_tests/message_edit.js +++ b/frontend_tests/node_tests/message_edit.js @@ -57,6 +57,9 @@ run_test("get_editability", ({override}) => { page_params.realm_allow_message_editing = false; assert.equal(get_editability(message), editability_types.NO); + message.type = "stream"; + assert.equal(get_editability(message), editability_types.TOPIC_ONLY); + page_params.realm_allow_message_editing = true; // Limit of 0 means no time limit on editing messages page_params.realm_message_content_edit_limit_seconds = null; @@ -143,7 +146,7 @@ run_test("is_topic_editable", ({override}) => { assert.equal(message_edit.is_topic_editable(message), true); page_params.realm_allow_message_editing = false; - assert.equal(message_edit.is_topic_editable(message), false); + assert.equal(message_edit.is_topic_editable(message), true); }); run_test("get_deletability", ({override}) => { diff --git a/static/js/message_edit.js b/static/js/message_edit.js index 9cfc9b2365..aa276fc4c3 100644 --- a/static/js/message_edit.js +++ b/static/js/message_edit.js @@ -61,11 +61,6 @@ export function is_topic_editable(message, edit_limit_seconds_buffer = 0) { return false; } - if (!page_params.realm_allow_message_editing) { - // If message editing is disabled, so is topic editing. - return false; - } - // message senders can edit message topics indefinitely. if (message.sent_by_me) { return true; @@ -140,6 +135,9 @@ export function get_editability(message, edit_limit_seconds_buffer = 0) { } if (!page_params.realm_allow_message_editing) { + if (message.type === "stream") { + return editability_types.TOPIC_ONLY; + } return editability_types.NO; } @@ -200,10 +198,6 @@ export function get_deletability(message) { } export function can_move_message(message) { - if (!page_params.realm_allow_message_editing) { - return false; - } - if (!message.is_stream) { return false; } @@ -265,14 +259,6 @@ export function stream_and_topic_exist_in_edit_history(message, stream_id, topic return false; } -export function update_message_topic_editing_pencil() { - if (page_params.realm_allow_message_editing) { - $(".on_hover_topic_edit, .always_visible_topic_edit").show(); - } else { - $(".on_hover_topic_edit, .always_visible_topic_edit").hide(); - } -} - export function hide_message_edit_spinner($row) { $row.find(".loader").hide(); $row.find(".message_edit_save span").show(); diff --git a/static/js/message_list_view.js b/static/js/message_list_view.js index 5b61f9371c..a5dbf16444 100644 --- a/static/js/message_list_view.js +++ b/static/js/message_list_view.js @@ -173,7 +173,6 @@ function set_timestr(message_container) { } function set_topic_edit_properties(group, message) { - group.realm_allow_message_editing = page_params.realm_allow_message_editing; group.always_visible_topic_edit = false; group.on_hover_topic_edit = false; // if a user who can edit a topic, can resolve it as well diff --git a/static/js/server_events_dispatch.js b/static/js/server_events_dispatch.js index 58feb23059..8125120355 100644 --- a/static/js/server_events_dispatch.js +++ b/static/js/server_events_dispatch.js @@ -18,7 +18,6 @@ import * as emoji_picker from "./emoji_picker"; import * as giphy from "./giphy"; import * as hotspots from "./hotspots"; import * as linkifiers from "./linkifiers"; -import * as message_edit from "./message_edit"; import * as message_events from "./message_events"; import * as message_flags from "./message_flags"; import * as message_lists from "./message_lists"; @@ -260,9 +259,6 @@ export function dispatch_normal_event(event) { case "default": for (const [key, value] of Object.entries(event.data)) { page_params["realm_" + key] = value; - if (key === "allow_message_editing") { - message_edit.update_message_topic_editing_pencil(); - } if (Object.hasOwn(realm_settings, key)) { settings_org.sync_realm_settings(key); } diff --git a/static/js/settings_org.js b/static/js/settings_org.js index 4a94c8d304..7a335dba6c 100644 --- a/static/js/settings_org.js +++ b/static/js/settings_org.js @@ -273,7 +273,6 @@ function update_message_edit_sub_settings(is_checked) { "id_realm_message_content_edit_limit_minutes", true, ); - settings_ui.disable_sub_setting_onchange(is_checked, "id_realm_edit_topic_policy", true); } function update_custom_value_input(property_name) { diff --git a/static/templates/recipient_row.hbs b/static/templates/recipient_row.hbs index 6d465cedbe..14f20d317e 100644 --- a/static/templates/recipient_row.hbs +++ b/static/templates/recipient_row.hbs @@ -50,9 +50,9 @@ {{! edit topic pencil icon }} {{#if always_visible_topic_edit}} - + {{else if on_hover_topic_edit}} - + {{/if}} {{#if user_can_resolve_topic}} diff --git a/static/templates/settings/organization_permissions_admin.hbs b/static/templates/settings/organization_permissions_admin.hbs index fa27d4eeda..ac461875be 100644 --- a/static/templates/settings/organization_permissions_admin.hbs +++ b/static/templates/settings/organization_permissions_admin.hbs @@ -176,7 +176,7 @@