mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
emails: Show proper message when email content is not shown.
This commit is contained in:
@@ -299,6 +299,10 @@ a.button:hover {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.content_disabled_help_link {
|
||||
color: #15c;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 620px) {
|
||||
table[class=body] h1 {
|
||||
font-size: 28px !important;
|
||||
|
@@ -11,6 +11,14 @@
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<div class="missed_message">
|
||||
{% if message_content_disabled_by_realm %}
|
||||
This email does not include message content because your organization has disabled <a class="content_disabled_help_link" href="{{ realm_uri }}/help/hide-message-content-in-emails">message content appearing in email notifications</a>.
|
||||
{% elif message_content_disabled_by_user %}
|
||||
This email does not include message content because you have disabled <a class="content_disabled_help_link" href="{{ realm_uri }}/help/pm-mention-alert-notifications">message content appearing in email notifications</a>.
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -24,6 +32,8 @@
|
||||
{% endif %}
|
||||
{% if reply_to_zulip %}
|
||||
Reply to this email directly, <a href="{{ narrow_url }}">view it in Zulip</a>, or <a href="{{ realm_uri }}/#settings/notifications">manage email preferences</a>.
|
||||
{% elif not show_message_content %}
|
||||
<a href="{{ narrow_url }}">View or reply in Zulip</a>, or <a href="{{ realm_uri }}/#settings/notifications">manage email preferences</a>.<br>
|
||||
{% else %}
|
||||
<a href="{{ narrow_url }}">Reply in Zulip</a>, or <a href="{{ realm_uri }}/#settings/notifications">manage email preferences</a>.<br>
|
||||
<br>
|
||||
|
@@ -6,6 +6,14 @@
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{% if message_content_disabled_by_realm %}
|
||||
This email does not include message content because your organization has disabled message content appearing in email notifications.
|
||||
See {{ realm_uri }}/help/hide-message-content-in-emails for more details.
|
||||
{% elif message_content_disabled_by_user %}
|
||||
This email does not include message content because you have disabled message content appearing in email notifications.
|
||||
See {{ realm_uri }}/help/pm-mention-alert-notifications for more details.
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
--
|
||||
@@ -18,6 +26,9 @@ You are receiving this because you have email notifications enabled for this str
|
||||
{% if reply_to_zulip %}
|
||||
Reply to this email directly, or view it in Zulip:
|
||||
{{ narrow_url }}
|
||||
{% elif not show_message_content %}
|
||||
View or reply in Zulip:
|
||||
{{ narrow_url }}
|
||||
{% else %}
|
||||
Reply in Zulip:
|
||||
{{ narrow_url }}
|
||||
|
@@ -396,12 +396,15 @@ def do_send_missedmessage_events_reply_in_zulip(user_profile: UserProfile,
|
||||
|
||||
# If message content is disabled, then flush all information we pass to email.
|
||||
if not message_content_allowed_in_missedmessage_emails(user_profile):
|
||||
realm = user_profile.realm
|
||||
context.update({
|
||||
'reply_to_zulip': False,
|
||||
'messages': [],
|
||||
'sender_str': "",
|
||||
'realm_str': user_profile.realm.name,
|
||||
'realm_str': realm.name,
|
||||
'huddle_display_name': "",
|
||||
'message_content_disabled_by_user': not user_profile.message_content_in_email_notifications,
|
||||
'message_content_disabled_by_realm': not realm.message_content_allowed_in_email_notifications,
|
||||
})
|
||||
else:
|
||||
context.update({
|
||||
|
@@ -203,7 +203,13 @@ class TestMissedMessages(ZulipTestCase):
|
||||
verify_body_does_not_include = [] # type: List[str]
|
||||
else:
|
||||
# Test in case if message content in missed email message are disabled.
|
||||
verify_body_include = ['Manage email preferences: http://zulip.testserver/#settings/notifications']
|
||||
verify_body_include = [
|
||||
"This email does not include message content because you have disabled message ",
|
||||
"http://zulip.testserver/help/pm-mention-alert-notifications ",
|
||||
"View or reply in Zulip",
|
||||
" Manage email preferences: http://zulip.testserver/#settings/notifications"
|
||||
]
|
||||
|
||||
email_subject = 'New missed messages'
|
||||
verify_body_does_not_include = ['Denmark > test', 'Othello, the Moor of Venice',
|
||||
'1 2 3 4 5 6 7 8 9 10 @**King Hamlet**', 'private', 'group',
|
||||
@@ -233,7 +239,12 @@ class TestMissedMessages(ZulipTestCase):
|
||||
verify_body_does_not_include = [] # type: List[str]
|
||||
else:
|
||||
# Test in case if message content in missed email message are disabled.
|
||||
verify_body_include = ['Manage email preferences: http://zulip.testserver/#settings/notifications']
|
||||
verify_body_include = [
|
||||
"This email does not include message content because you have disabled message ",
|
||||
"http://zulip.testserver/help/pm-mention-alert-notifications ",
|
||||
"View or reply in Zulip",
|
||||
" Manage email preferences: http://zulip.testserver/#settings/notifications"
|
||||
]
|
||||
email_subject = 'New missed messages'
|
||||
verify_body_does_not_include = ['Denmark > test', 'Othello, the Moor of Venice',
|
||||
'1 2 3 4 5 @**all**', 'private', 'group',
|
||||
@@ -273,7 +284,9 @@ class TestMissedMessages(ZulipTestCase):
|
||||
self._test_cases(msg_id, verify_body_include, email_subject, send_as_user, trigger='mentioned')
|
||||
|
||||
def _extra_context_in_personal_missed_stream_messages(self, send_as_user: bool,
|
||||
show_message_content: bool=True) -> None:
|
||||
show_message_content: bool=True,
|
||||
message_content_disabled_by_user: bool=False,
|
||||
message_content_disabled_by_realm: bool=False) -> None:
|
||||
msg_id = self.send_personal_message(
|
||||
self.example_email('othello'),
|
||||
self.example_email('hamlet'),
|
||||
@@ -285,7 +298,20 @@ class TestMissedMessages(ZulipTestCase):
|
||||
email_subject = 'PMs with Othello, the Moor of Venice'
|
||||
verify_body_does_not_include = [] # type: List[str]
|
||||
else:
|
||||
verify_body_include = ['Manage email preferences: http://zulip.testserver/#settings/notifications']
|
||||
if message_content_disabled_by_realm:
|
||||
verify_body_include = [
|
||||
"This email does not include message content because your organization has disabled",
|
||||
"http://zulip.testserver/help/hide-message-content-in-emails",
|
||||
"View or reply in Zulip",
|
||||
" Manage email preferences: http://zulip.testserver/#settings/notifications"
|
||||
]
|
||||
elif message_content_disabled_by_user:
|
||||
verify_body_include = [
|
||||
"This email does not include message content because you have disabled message ",
|
||||
"http://zulip.testserver/help/pm-mention-alert-notifications ",
|
||||
"View or reply in Zulip",
|
||||
" Manage email preferences: http://zulip.testserver/#settings/notifications"
|
||||
]
|
||||
email_subject = 'New missed messages'
|
||||
verify_body_does_not_include = ['Othello, the Moor of Venice', 'Extremely personal message!',
|
||||
'mentioned', 'group', 'Reply to this email directly, or view it in Zulip']
|
||||
@@ -329,7 +355,12 @@ class TestMissedMessages(ZulipTestCase):
|
||||
email_subject = 'Group PMs with Iago and Othello, the Moor of Venice'
|
||||
verify_body_does_not_include = [] # type: List[str]
|
||||
else:
|
||||
verify_body_include = ['Manage email preferences: http://zulip.testserver/#settings/notifications']
|
||||
verify_body_include = [
|
||||
"This email does not include message content because you have disabled message ",
|
||||
"http://zulip.testserver/help/pm-mention-alert-notifications ",
|
||||
"View or reply in Zulip",
|
||||
" Manage email preferences: http://zulip.testserver/#settings/notifications"
|
||||
]
|
||||
email_subject = 'New missed messages'
|
||||
verify_body_does_not_include = ['Iago', 'Othello, the Moor of Venice Othello, the Moor of Venice',
|
||||
'Group personal message!', 'mentioned',
|
||||
@@ -436,7 +467,8 @@ class TestMissedMessages(ZulipTestCase):
|
||||
mail.outbox = []
|
||||
self._extra_context_in_missed_stream_messages_wildcard_mention(False, show_message_content=False)
|
||||
mail.outbox = []
|
||||
self._extra_context_in_personal_missed_stream_messages(False, show_message_content=False)
|
||||
self._extra_context_in_personal_missed_stream_messages(False, show_message_content=False,
|
||||
message_content_disabled_by_user=True)
|
||||
mail.outbox = []
|
||||
self._extra_context_in_huddle_missed_stream_messages_two_others(False, show_message_content=False)
|
||||
|
||||
@@ -540,7 +572,8 @@ class TestMissedMessages(ZulipTestCase):
|
||||
# Emails don't have missed message content when message content is disabled by the user
|
||||
do_change_notification_settings(user, "message_content_in_email_notifications", False)
|
||||
mail.outbox = []
|
||||
self._extra_context_in_personal_missed_stream_messages(False, show_message_content=False)
|
||||
self._extra_context_in_personal_missed_stream_messages(False, show_message_content=False,
|
||||
message_content_disabled_by_user=True)
|
||||
|
||||
# When message content is not allowed at realm level
|
||||
# Emails don't have missed message irrespective of message content setting of the user
|
||||
@@ -550,11 +583,14 @@ class TestMissedMessages(ZulipTestCase):
|
||||
|
||||
do_change_notification_settings(user, "message_content_in_email_notifications", True)
|
||||
mail.outbox = []
|
||||
self._extra_context_in_personal_missed_stream_messages(False, show_message_content=False)
|
||||
self._extra_context_in_personal_missed_stream_messages(False, show_message_content=False,
|
||||
message_content_disabled_by_realm=True)
|
||||
|
||||
do_change_notification_settings(user, "message_content_in_email_notifications", False)
|
||||
mail.outbox = []
|
||||
self._extra_context_in_personal_missed_stream_messages(False, show_message_content=False)
|
||||
self._extra_context_in_personal_missed_stream_messages(False, show_message_content=False,
|
||||
message_content_disabled_by_user=True,
|
||||
message_content_disabled_by_realm=True)
|
||||
|
||||
def test_realm_emoji_in_missed_message(self) -> None:
|
||||
realm = get_realm("zulip")
|
||||
|
Reference in New Issue
Block a user