Mark Sapiro pushed to branch master at GNU Mailman / Mailman Core
Commits:
aa6db0a5 by Mark Sapiro at 2021-11-30T21:10:39+00:00
Add list context an a few more replacements to expansion of goodbye template.
- - - - -
b5c15e4d by Mark Sapiro at 2021-11-30T21:10:39+00:00
Merge branch 'goodbye' into 'master'
Add list context an a few more replacements to expansion of goodbye template.
See merge request mailman/mailman!939
- - - - -
3 changed files:
- src/mailman/app/notifications.py
- src/mailman/app/tests/test_notifications.py
- src/mailman/docs/NEWS.rst
Changes:
=====================================
src/mailman/app/notifications.py
=====================================
@@ -116,7 +116,15 @@ def send_goodbye_message(mlist, address, language):
:type language: ILanguage
"""
goodbye_message = wrap(expand(getUtility(ITemplateLoader).get(
- 'list:user:notice:goodbye', mlist, language=language.code)))
+ 'list:user:notice:goodbye', mlist, language=language.code),
+ mlist, dict(
+ user_email=address,
+ # For backward compatibility.
+ user_address=address,
+ fqdn_listname=mlist.fqdn_listname,
+ list_name=mlist.display_name,
+ list_requests=mlist.request_address,
+ )))
msg = UserNotification(
address, mlist.bounces_address,
_('You have been unsubscribed from the $mlist.display_name '
=====================================
src/mailman/app/tests/test_notifications.py
=====================================
@@ -24,6 +24,7 @@ import unittest
from contextlib import ExitStack
from mailman.app.lifecycle import create_list
+from mailman.app.notifications import send_goodbye_message
from mailman.config import config
from mailman.interfaces.languages import ILanguageManager
from mailman.interfaces.member import MemberRole
@@ -70,6 +71,11 @@ Welcome to the $list_name mailing list.
Help and other requests: $list_requests
Your name: $user_name
Your address: $user_address""", file=fp)
+ # Write a goodbye message.
+ full_path = os.path.join(path, 'list:user:notice:goodbye.txt')
+ with open(full_path, 'w', encoding='utf-8') as fp:
+ print('$user_email just left the $list_name mailing list!',
+ file=fp)
# Write a list-specific welcome message.
path = os.path.join(self.var_dir, 'templates', 'lists',
'[email protected]', 'xx')
@@ -235,6 +241,23 @@ have any other questions, you may contact
message.get_payload(decode=True).decode('utf-8'),
'Wé need your confirmation\n')
+ def test_goodbye_message(self):
+ member = subscribe(self._mlist, 'Anne', email='[email protected]')
+ # Now there's one message in the virgin queue; get it and clear it.
+ items = get_queue_messages('virgin', expected_count=1)
+ # Send anne an unsubscribe message.
+ language = getUtility(ILanguageManager).get('en')
+ send_goodbye_message(self._mlist, member.address.email, language)
+ # There's a new message in the virgin queue.
+ items = get_queue_messages('virgin', expected_count=1)
+ message = items[0].msg
+ self.assertEqual(str(message['subject']),
+ 'You have been unsubscribed from the Test List '
+ 'mailing list')
+ self.assertMultiLineEqual(
+ message.get_payload(),
+ '[email protected] just left the Test List mailing list!')
+
def test_no_welcome_message_to_owners(self):
# Welcome messages go only to mailing list members, not to owners.
subscribe(self._mlist, 'Anne', MemberRole.owner, '[email protected]')
=====================================
src/mailman/docs/NEWS.rst
=====================================
@@ -24,6 +24,8 @@ Bugs fixed
are other requests for it. (Closes #955)
* ARC signing now signs after the message has been personalized and decorated.
(Closes #896)
+* The prior fix for expanding replacements in the ``list:user:notice:goodbye``
+ template was incomplete. This is fixed. (Closes #922)
.. _news-3.3.5:
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/d73d165d43c09c71e405696b5266e1db1e28de32...b5c15e4d493f3768738ac4449754a064293e21db
--
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/d73d165d43c09c71e405696b5266e1db1e28de32...b5c15e4d493f3768738ac4449754a064293e21db
You're receiving this email because of your account on gitlab.com.
_______________________________________________
Mailman-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/mailman-checkins.python.org/
Member address: [email protected]