push_notifications: Start using get_mobile_push_content() function.

This commit is contained in:
Harshit Bansal
2017-10-06 22:19:01 +00:00
committed by Tim Abbott
parent 28628eeaeb
commit 5a6584890d
2 changed files with 10 additions and 8 deletions

View File

@@ -412,10 +412,12 @@ def truncate_content(content):
def get_apns_payload(message): def get_apns_payload(message):
# type: (Message) -> Dict[str, Any] # type: (Message) -> Dict[str, Any]
text_content = get_mobile_push_content(message.rendered_content)
truncated_content = truncate_content(text_content)
return { return {
'alert': { 'alert': {
'title': get_alert_from_message(message), 'title': get_alert_from_message(message),
'body': message.content[:200], 'body': truncated_content,
}, },
# TODO: set badge count in a better way # TODO: set badge count in a better way
'badge': 0, 'badge': 0,
@@ -428,10 +430,8 @@ def get_apns_payload(message):
def get_gcm_payload(user_profile, message): def get_gcm_payload(user_profile, message):
# type: (UserProfile, Message) -> Dict[str, Any] # type: (UserProfile, Message) -> Dict[str, Any]
content = message.content text_content = get_mobile_push_content(message.rendered_content)
content_truncated = (len(content) > 200) truncated_content = truncate_content(text_content)
if content_truncated:
content = content[:200] + "..."
android_data = { android_data = {
'user': user_profile.email, 'user': user_profile.email,
@@ -439,8 +439,8 @@ def get_gcm_payload(user_profile, message):
'alert': get_alert_from_message(message), 'alert': get_alert_from_message(message),
'zulip_message_id': message.id, # message_id is reserved for CCS 'zulip_message_id': message.id, # message_id is reserved for CCS
'time': datetime_to_timestamp(message.pub_date), 'time': datetime_to_timestamp(message.pub_date),
'content': content, 'content': truncated_content,
'content_truncated': content_truncated, 'content_truncated': len(text_content) > 200,
'sender_email': message.sender.email, 'sender_email': message.sender.email,
'sender_full_name': message.sender.full_name, 'sender_full_name': message.sender.full_name,
'sender_avatar_url': absolute_avatar_url(message.sender), 'sender_avatar_url': absolute_avatar_url(message.sender),

View File

@@ -294,6 +294,7 @@ class PushNotificationTest(BouncerTestCase):
recipient=recipient, recipient=recipient,
subject='Test Message', subject='Test Message',
content='This is test content', content='This is test content',
rendered_content='This is test content',
pub_date=now(), pub_date=now(),
sending_client=self.sending_client, sending_client=self.sending_client,
) )
@@ -682,6 +683,7 @@ class TestGetGCMPayload(PushNotificationTest):
stream = Stream.objects.filter(name='Verona').get() stream = Stream.objects.filter(name='Verona').get()
message = self.get_message(Recipient.STREAM, stream.id) message = self.get_message(Recipient.STREAM, stream.id)
message.content = 'a' * 210 message.content = 'a' * 210
message.rendered_content = 'a' * 210
message.save() message.save()
message.triggers = { message.triggers = {
'private_message': False, 'private_message': False,
@@ -697,7 +699,7 @@ class TestGetGCMPayload(PushNotificationTest):
"alert": "New mention from King Hamlet", "alert": "New mention from King Hamlet",
"zulip_message_id": message.id, "zulip_message_id": message.id,
"time": apn.datetime_to_timestamp(message.pub_date), "time": apn.datetime_to_timestamp(message.pub_date),
"content": 'a' * 200 + '...', "content": 'a' * 200 + '',
"content_truncated": True, "content_truncated": True,
"sender_email": self.example_email("hamlet"), "sender_email": self.example_email("hamlet"),
"sender_full_name": "King Hamlet", "sender_full_name": "King Hamlet",