mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 05:23:35 +00:00
message_edit: Fix "(deleted)" not showing for empty edited DMs.
This commit fixes a bug introduced in commit `37f2c5bc788`, where a message in DM is not updated to "(deleted)" when left empty after editing. Fixes: #33305
This commit is contained in:
committed by
Tim Abbott
parent
21412b9f79
commit
8a64940868
@@ -1262,16 +1262,6 @@ def build_message_edit_request(
|
|||||||
topic_name: str | None = None,
|
topic_name: str | None = None,
|
||||||
content: str | None = None,
|
content: str | None = None,
|
||||||
) -> StreamMessageEditRequest | DirectMessageEditRequest:
|
) -> StreamMessageEditRequest | DirectMessageEditRequest:
|
||||||
if not message.is_stream_message():
|
|
||||||
# We have already validated the code to have content
|
|
||||||
# as not None.
|
|
||||||
assert content is not None
|
|
||||||
return DirectMessageEditRequest(
|
|
||||||
content=content,
|
|
||||||
orig_content=message.content,
|
|
||||||
is_content_edited=True,
|
|
||||||
)
|
|
||||||
|
|
||||||
is_content_edited = False
|
is_content_edited = False
|
||||||
new_content = message.content
|
new_content = message.content
|
||||||
if content is not None:
|
if content is not None:
|
||||||
@@ -1280,6 +1270,15 @@ def build_message_edit_request(
|
|||||||
content = "(deleted)"
|
content = "(deleted)"
|
||||||
new_content = normalize_body(content)
|
new_content = normalize_body(content)
|
||||||
|
|
||||||
|
if not message.is_stream_message():
|
||||||
|
# We have already validated that at least one of content, topic, or stream
|
||||||
|
# must be modified, and for DMs, only the content can be edited.
|
||||||
|
return DirectMessageEditRequest(
|
||||||
|
content=new_content,
|
||||||
|
orig_content=message.content,
|
||||||
|
is_content_edited=True,
|
||||||
|
)
|
||||||
|
|
||||||
is_topic_edited = False
|
is_topic_edited = False
|
||||||
topic_resolved = False
|
topic_resolved = False
|
||||||
topic_unresolved = False
|
topic_unresolved = False
|
||||||
|
|||||||
@@ -396,6 +396,7 @@ class EditMessageTest(ZulipTestCase):
|
|||||||
|
|
||||||
def test_edit_message_no_content(self) -> None:
|
def test_edit_message_no_content(self) -> None:
|
||||||
self.login("hamlet")
|
self.login("hamlet")
|
||||||
|
# Check message edit in stream for no content.
|
||||||
msg_id = self.send_stream_message(
|
msg_id = self.send_stream_message(
|
||||||
self.example_user("hamlet"), "Denmark", topic_name="editing", content="before edit"
|
self.example_user("hamlet"), "Denmark", topic_name="editing", content="before edit"
|
||||||
)
|
)
|
||||||
@@ -409,6 +410,20 @@ class EditMessageTest(ZulipTestCase):
|
|||||||
content = Message.objects.filter(id=msg_id).values_list("content", flat=True)[0]
|
content = Message.objects.filter(id=msg_id).values_list("content", flat=True)[0]
|
||||||
self.assertEqual(content, "(deleted)")
|
self.assertEqual(content, "(deleted)")
|
||||||
|
|
||||||
|
# Check message edit in DMs for no content.
|
||||||
|
msg_id = self.send_personal_message(
|
||||||
|
from_user=self.example_user("hamlet"), to_user=self.example_user("cordelia")
|
||||||
|
)
|
||||||
|
result = self.client_patch(
|
||||||
|
f"/json/messages/{msg_id}",
|
||||||
|
{
|
||||||
|
"content": " ",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
self.assert_json_success(result)
|
||||||
|
content = Message.objects.filter(id=msg_id).values_list("content", flat=True)[0]
|
||||||
|
self.assertEqual(content, "(deleted)")
|
||||||
|
|
||||||
def test_edit_message_in_unsubscribed_private_stream(self) -> None:
|
def test_edit_message_in_unsubscribed_private_stream(self) -> None:
|
||||||
hamlet = self.example_user("hamlet")
|
hamlet = self.example_user("hamlet")
|
||||||
self.login("hamlet")
|
self.login("hamlet")
|
||||||
|
|||||||
Reference in New Issue
Block a user