mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
message_report: Use get_message_link_syntax.
This updates the message report module to use the `get_message_link_syntax` function.
This commit is contained in:
@@ -6,6 +6,7 @@ from zerver.lib.display_recipient import get_display_recipient
|
||||
from zerver.lib.markdown.fenced_code import get_unused_fence
|
||||
from zerver.lib.mention import silent_mention_syntax_for_user
|
||||
from zerver.lib.message import is_1_to_1_message, truncate_content
|
||||
from zerver.lib.topic_link_util import get_message_link_syntax
|
||||
from zerver.models import Message, Realm, UserProfile
|
||||
from zerver.models.recipients import Recipient
|
||||
from zerver.models.users import get_system_bot
|
||||
@@ -59,8 +60,14 @@ def send_message_report(
|
||||
else:
|
||||
assert reported_message.is_stream_message() is True
|
||||
topic_name = reported_message.topic_name()
|
||||
channel = reported_message.recipient.label()
|
||||
channel_message_link = f"#**{channel}>{topic_name}@{reported_message.id}**"
|
||||
channel_id = reported_message.recipient.type_id
|
||||
channel_name = reported_message.recipient.label()
|
||||
channel_message_link = get_message_link_syntax(
|
||||
channel_id,
|
||||
channel_name,
|
||||
topic_name,
|
||||
reported_message.id,
|
||||
)
|
||||
report_header = _(
|
||||
"{reporting_user_mention} reported {channel_message_link} sent by {reported_user_mention}."
|
||||
).format(
|
||||
|
||||
@@ -8,6 +8,7 @@ from zerver.lib.message import truncate_content
|
||||
from zerver.lib.message_report import MAX_REPORT_MESSAGE_SNIPPET_LENGTH
|
||||
from zerver.lib.test_classes import ZulipTestCase
|
||||
from zerver.lib.topic import DB_TOPIC_NAME
|
||||
from zerver.lib.topic_link_util import get_message_link_syntax
|
||||
from zerver.models import UserProfile
|
||||
from zerver.models.messages import Message
|
||||
from zerver.models.recipients import get_or_create_direct_message_group
|
||||
@@ -140,6 +141,32 @@ class ReportMessageTest(ZulipTestCase):
|
||||
result = self.report_message(reporting_user, private_message.id, report_type, description)
|
||||
self.assert_json_error(result, msg="Invalid message(s)")
|
||||
|
||||
# Check object IDs in message link syntax is accurate.
|
||||
# This channel name will generate a narrow URL for its link syntax.
|
||||
obscure_channel = self.make_stream("Sw*den", self.realm)
|
||||
self.subscribe(self.reported_user, obscure_channel.name, True)
|
||||
message_id = self.send_stream_message(
|
||||
self.reported_user,
|
||||
obscure_channel.name,
|
||||
topic_name="",
|
||||
content="foo baz",
|
||||
)
|
||||
|
||||
result = self.report_message(
|
||||
reporting_user,
|
||||
message_id,
|
||||
report_type,
|
||||
description,
|
||||
)
|
||||
expected_message_link_syntax = get_message_link_syntax(
|
||||
obscure_channel.id,
|
||||
obscure_channel.name,
|
||||
"",
|
||||
message_id,
|
||||
)
|
||||
reports = list(self.get_submitted_moderation_requests())
|
||||
self.assertIn(expected_message_link_syntax, reports[-1]["content"])
|
||||
|
||||
def test_dm_report(self) -> None:
|
||||
# Send a DM to be reported
|
||||
reported_dm_id = self.send_personal_message(
|
||||
|
||||
Reference in New Issue
Block a user