mirror of
https://github.com/zulip/zulip.git
synced 2025-11-07 23:43:43 +00:00
actions: Convert do_delete_messages to take a Realm.
The function only used the user's realm anyway, so this is a cleaner API. This should also make it more convenient to permanently delete messages manually, since one doesn't have to fetch a random user in the realm in order to delete a message using the management shell. No functional change.
This commit is contained in:
@@ -4564,7 +4564,7 @@ def do_update_message(user_profile: UserProfile, message: Message, topic_name: O
|
||||
return len(changed_messages)
|
||||
|
||||
|
||||
def do_delete_messages(user_profile: UserProfile, messages: Iterable[Message]) -> None:
|
||||
def do_delete_messages(realm: Realm, messages: Iterable[Message]) -> None:
|
||||
message_ids = []
|
||||
for message in messages:
|
||||
message_ids.append(message.id)
|
||||
@@ -4590,7 +4590,7 @@ def do_delete_messages(user_profile: UserProfile, messages: Iterable[Message]) -
|
||||
ums = [{'id': um.user_profile_id} for um in
|
||||
UserMessage.objects.filter(message=message.id)]
|
||||
move_messages_to_archive([message.id])
|
||||
send_event(user_profile.realm, event, ums)
|
||||
send_event(realm, event, ums)
|
||||
|
||||
def do_delete_messages_by_sender(user: UserProfile) -> None:
|
||||
message_ids = Message.objects.filter(sender=user).values_list('id', flat=True).order_by('id')
|
||||
|
||||
@@ -2653,7 +2653,7 @@ class EventsRegisterTest(ZulipTestCase):
|
||||
msg_id = self.send_stream_message("hamlet@zulip.com", "Verona")
|
||||
message = Message.objects.get(id=msg_id)
|
||||
events = self.do_test(
|
||||
lambda: do_delete_messages(self.user_profile, [message]),
|
||||
lambda: do_delete_messages(self.user_profile.realm, [message]),
|
||||
state_change_expected=True,
|
||||
)
|
||||
error = schema_checker('events[0]', events[0])
|
||||
@@ -2675,7 +2675,7 @@ class EventsRegisterTest(ZulipTestCase):
|
||||
)
|
||||
message = Message.objects.get(id=msg_id)
|
||||
events = self.do_test(
|
||||
lambda: do_delete_messages(self.user_profile, [message]),
|
||||
lambda: do_delete_messages(self.user_profile.realm, [message]),
|
||||
state_change_expected=True,
|
||||
)
|
||||
error = schema_checker('events[0]', events[0])
|
||||
@@ -2689,7 +2689,7 @@ class EventsRegisterTest(ZulipTestCase):
|
||||
msg_id = self.send_stream_message("hamlet@zulip.com", "Verona")
|
||||
message = Message.objects.get(id=msg_id)
|
||||
self.do_test(
|
||||
lambda: do_delete_messages(self.user_profile, [message]),
|
||||
lambda: do_delete_messages(self.user_profile.realm, [message]),
|
||||
state_change_expected=True,
|
||||
)
|
||||
result = fetch_initial_state_data(user_profile, None, "", client_gravatar=False)
|
||||
|
||||
@@ -730,7 +730,7 @@ class HandlePushNotificationTest(PushNotificationTest):
|
||||
'trigger': 'private_message',
|
||||
}
|
||||
# Now, delete the message the normal way
|
||||
do_delete_messages(user_profile, [message])
|
||||
do_delete_messages(user_profile.realm, [message])
|
||||
|
||||
with mock.patch('zerver.lib.push_notifications.uses_notification_bouncer') as mock_check, \
|
||||
mock.patch('logging.error') as mock_logging_error, \
|
||||
|
||||
@@ -1562,7 +1562,7 @@ def delete_message_backend(request: HttpRequest, user_profile: UserProfile,
|
||||
message, ignored_user_message = access_message(user_profile, message_id)
|
||||
validate_can_delete_message(user_profile, message)
|
||||
try:
|
||||
do_delete_messages(user_profile, [message])
|
||||
do_delete_messages(user_profile.realm, [message])
|
||||
except (Message.DoesNotExist, IntegrityError):
|
||||
raise JsonableError(_("Message already deleted"))
|
||||
return json_success()
|
||||
|
||||
@@ -506,7 +506,7 @@ def delete_in_topic(request: HttpRequest, user_profile: UserProfile,
|
||||
messages = [message for message in messages if message.id in
|
||||
deletable_message_ids]
|
||||
|
||||
do_delete_messages(user_profile, messages)
|
||||
do_delete_messages(user_profile.realm, messages)
|
||||
|
||||
return json_success()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user