mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	Remove do_send_missedmessage_events function.
This commit is contained in:
		@@ -284,70 +284,6 @@ def do_send_missedmessage_events_reply_in_zulip(user_profile, missed_messages, m
 | 
			
		||||
    user_profile.last_reminder = datetime.datetime.now()
 | 
			
		||||
    user_profile.save(update_fields=['last_reminder'])
 | 
			
		||||
 | 
			
		||||
@statsd_increment("missed_message_reminders")
 | 
			
		||||
def do_send_missedmessage_events(user_profile, missed_messages, message_count):
 | 
			
		||||
    # type: (UserProfile, List[Message], int) -> None
 | 
			
		||||
    """
 | 
			
		||||
    Send a reminder email and/or push notifications to a user if she's missed some PMs by being offline
 | 
			
		||||
 | 
			
		||||
    `user_profile` is the user to send the reminder to
 | 
			
		||||
    `missed_messages` is a list of Message objects to remind about
 | 
			
		||||
    """
 | 
			
		||||
    # Disabled missedmessage emails internally
 | 
			
		||||
    if not user_profile.enable_offline_email_notifications:
 | 
			
		||||
        return
 | 
			
		||||
 | 
			
		||||
    senders = set(m.sender.full_name for m in missed_messages)
 | 
			
		||||
    sender_str = ", ".join(senders)
 | 
			
		||||
    plural_messages = 's' if len(missed_messages) > 1 else ''
 | 
			
		||||
    template_payload = {'name': user_profile.full_name,
 | 
			
		||||
                        'messages': build_message_list(user_profile, missed_messages),
 | 
			
		||||
                        'message_count': message_count,
 | 
			
		||||
                        'url': 'https://%s' % (settings.EXTERNAL_HOST,),
 | 
			
		||||
                        'reply_warning': False,
 | 
			
		||||
                        'external_host': settings.EXTERNAL_HOST}
 | 
			
		||||
    headers = {}
 | 
			
		||||
    if all(msg.recipient.type in (Recipient.HUDDLE, Recipient.PERSONAL)
 | 
			
		||||
            for msg in missed_messages):
 | 
			
		||||
        # If we have one huddle, set a reply-to to all of the members
 | 
			
		||||
        # of the huddle except the user herself
 | 
			
		||||
        disp_recipients = [", ".join(recipient['email']
 | 
			
		||||
                                for recipient in cast(Sequence[Mapping[str, Any]], get_display_recipient(mesg.recipient))
 | 
			
		||||
                                    if recipient['email'] != user_profile.email)
 | 
			
		||||
                                 for mesg in missed_messages]
 | 
			
		||||
        if all(msg.recipient.type == Recipient.HUDDLE for msg in missed_messages) and \
 | 
			
		||||
            len(set(disp_recipients)) == 1:
 | 
			
		||||
            headers['Reply-To'] = disp_recipients[0]
 | 
			
		||||
        elif len(senders) == 1:
 | 
			
		||||
            headers['Reply-To'] = missed_messages[0].sender.email
 | 
			
		||||
        else:
 | 
			
		||||
            template_payload['reply_warning'] = True
 | 
			
		||||
    else:
 | 
			
		||||
        # There are some @-mentions mixed in with personals
 | 
			
		||||
        template_payload['mention'] = True
 | 
			
		||||
        template_payload['reply_warning'] = True
 | 
			
		||||
        headers['Reply-To'] = "Nobody <%s>" % (settings.NOREPLY_EMAIL_ADDRESS,)
 | 
			
		||||
 | 
			
		||||
    # Give users a one-click unsubscribe link they can use to stop getting
 | 
			
		||||
    # missed message emails without having to log in first.
 | 
			
		||||
    unsubscribe_link = one_click_unsubscribe_link(user_profile, "missed_messages")
 | 
			
		||||
    template_payload["unsubscribe_link"] = unsubscribe_link
 | 
			
		||||
 | 
			
		||||
    subject = "Missed Zulip%s from %s" % (plural_messages, sender_str)
 | 
			
		||||
    from_email = "%s (via Zulip) <%s>" % (sender_str, settings.NOREPLY_EMAIL_ADDRESS)
 | 
			
		||||
 | 
			
		||||
    text_content = loader.render_to_string('zerver/missed_message_email.txt', template_payload)
 | 
			
		||||
    html_content = loader.render_to_string('zerver/missed_message_email_html.txt', template_payload)
 | 
			
		||||
 | 
			
		||||
    msg = EmailMultiAlternatives(subject, text_content, from_email, [user_profile.email],
 | 
			
		||||
                                 headers = headers)
 | 
			
		||||
    msg.attach_alternative(html_content, "text/html")
 | 
			
		||||
    msg.send()
 | 
			
		||||
 | 
			
		||||
    user_profile.last_reminder = datetime.datetime.now()
 | 
			
		||||
    user_profile.save(update_fields=['last_reminder'])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def handle_missedmessage_emails(user_profile_id, missed_email_events):
 | 
			
		||||
    # type: (int, Iterable[Dict[str, Any]]) -> None
 | 
			
		||||
    message_ids = [event.get('message_id') for event in missed_email_events]
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user