mirror of
				https://github.com/zulip/zulip.git
				synced 2025-10-31 12:03:46 +00:00 
			
		
		
		
	message: Refactor has_message_access parameters.
This commit is contained in:
		| @@ -671,7 +671,7 @@ def access_message( | ||||
|  | ||||
|     user_message = get_usermessage_by_message_id(user_profile, message_id) | ||||
|  | ||||
|     if has_message_access(user_profile, message, user_message): | ||||
|     if has_message_access(user_profile, message, has_user_message=user_message is not None): | ||||
|         return (message, user_message) | ||||
|     raise JsonableError(_("Invalid message(s)")) | ||||
|  | ||||
| @@ -679,8 +679,8 @@ def access_message( | ||||
| def has_message_access( | ||||
|     user_profile: UserProfile, | ||||
|     message: Message, | ||||
|     user_message: Optional[UserMessage], | ||||
|     *, | ||||
|     has_user_message: bool, | ||||
|     stream: Optional[Stream] = None, | ||||
|     is_subscribed: Optional[bool] = None, | ||||
| ) -> bool: | ||||
| @@ -693,7 +693,7 @@ def has_message_access( | ||||
|     """ | ||||
|  | ||||
|     # If you have a user_message object, you have access. | ||||
|     if user_message is not None: | ||||
|     if has_user_message: | ||||
|         return True | ||||
|  | ||||
|     if message.recipient.type != Recipient.STREAM: | ||||
| @@ -731,7 +731,7 @@ def bulk_access_messages(user_profile: UserProfile, messages: Sequence[Message]) | ||||
|  | ||||
|     for message in messages: | ||||
|         user_message = get_usermessage_by_message_id(user_profile, message.id) | ||||
|         if has_message_access(user_profile, message, user_message): | ||||
|         if has_message_access(user_profile, message, has_user_message=user_message is not None): | ||||
|             filtered_messages.append(message) | ||||
|     return filtered_messages | ||||
|  | ||||
|   | ||||
| @@ -1359,18 +1359,27 @@ class EditMessageTest(ZulipTestCase): | ||||
|             user_profile, old_stream.name, topic_name="test", content="fourth" | ||||
|         ) | ||||
|  | ||||
|         self.assertEqual( | ||||
|             has_message_access(guest_user, Message.objects.get(id=msg_id_to_test_acesss), None), | ||||
|             True, | ||||
|         ) | ||||
|         self.assertEqual( | ||||
|             has_message_access( | ||||
|                 guest_user, Message.objects.get(id=msg_id_to_test_acesss), None, stream=old_stream | ||||
|                 guest_user, Message.objects.get(id=msg_id_to_test_acesss), has_user_message=False | ||||
|             ), | ||||
|             True, | ||||
|         ) | ||||
|         self.assertEqual( | ||||
|             has_message_access(non_guest_user, Message.objects.get(id=msg_id_to_test_acesss), None), | ||||
|             has_message_access( | ||||
|                 guest_user, | ||||
|                 Message.objects.get(id=msg_id_to_test_acesss), | ||||
|                 has_user_message=False, | ||||
|                 stream=old_stream, | ||||
|             ), | ||||
|             True, | ||||
|         ) | ||||
|         self.assertEqual( | ||||
|             has_message_access( | ||||
|                 non_guest_user, | ||||
|                 Message.objects.get(id=msg_id_to_test_acesss), | ||||
|                 has_user_message=False, | ||||
|             ), | ||||
|             True, | ||||
|         ) | ||||
|  | ||||
| @@ -1386,11 +1395,19 @@ class EditMessageTest(ZulipTestCase): | ||||
|         self.assert_json_success(result) | ||||
|  | ||||
|         self.assertEqual( | ||||
|             has_message_access(guest_user, Message.objects.get(id=msg_id_to_test_acesss), None), | ||||
|             has_message_access( | ||||
|                 guest_user, | ||||
|                 Message.objects.get(id=msg_id_to_test_acesss), | ||||
|                 has_user_message=False, | ||||
|             ), | ||||
|             False, | ||||
|         ) | ||||
|         self.assertEqual( | ||||
|             has_message_access(non_guest_user, Message.objects.get(id=msg_id_to_test_acesss), None), | ||||
|             has_message_access( | ||||
|                 non_guest_user, | ||||
|                 Message.objects.get(id=msg_id_to_test_acesss), | ||||
|                 has_user_message=False, | ||||
|             ), | ||||
|             True, | ||||
|         ) | ||||
|         self.assertEqual( | ||||
| @@ -1400,7 +1417,7 @@ class EditMessageTest(ZulipTestCase): | ||||
|             has_message_access( | ||||
|                 guest_user, | ||||
|                 Message.objects.get(id=msg_id_to_test_acesss), | ||||
|                 None, | ||||
|                 has_user_message=False, | ||||
|                 stream=new_stream, | ||||
|                 is_subscribed=True, | ||||
|             ), | ||||
| @@ -1409,14 +1426,20 @@ class EditMessageTest(ZulipTestCase): | ||||
|  | ||||
|         self.assertEqual( | ||||
|             has_message_access( | ||||
|                 guest_user, Message.objects.get(id=msg_id_to_test_acesss), None, stream=new_stream | ||||
|                 guest_user, | ||||
|                 Message.objects.get(id=msg_id_to_test_acesss), | ||||
|                 has_user_message=False, | ||||
|                 stream=new_stream, | ||||
|             ), | ||||
|             False, | ||||
|         ) | ||||
|         with self.assertRaises(AssertionError): | ||||
|             # Raises assertion if you pass an invalid stream. | ||||
|             has_message_access( | ||||
|                 guest_user, Message.objects.get(id=msg_id_to_test_acesss), None, stream=old_stream | ||||
|                 guest_user, | ||||
|                 Message.objects.get(id=msg_id_to_test_acesss), | ||||
|                 has_user_message=False, | ||||
|                 stream=old_stream, | ||||
|             ) | ||||
|  | ||||
|         self.assertEqual( | ||||
| @@ -1428,7 +1451,9 @@ class EditMessageTest(ZulipTestCase): | ||||
|         ) | ||||
|         self.assertEqual( | ||||
|             has_message_access( | ||||
|                 self.example_user("iago"), Message.objects.get(id=msg_id_to_test_acesss), None | ||||
|                 self.example_user("iago"), | ||||
|                 Message.objects.get(id=msg_id_to_test_acesss), | ||||
|                 has_user_message=False, | ||||
|             ), | ||||
|             True, | ||||
|         ) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user