Mark Sapiro pushed to branch master at GNU Mailman / Mailman Core
Commits:
0521d9e6 by Mark Sapiro at 2021-06-18T21:22:25-07:00
Implement list:admin:notice:pending template.
- - - - -
0a5c5ec4 by Mark Sapiro at 2021-06-19T05:24:54+00:00
Merge branch 'notify' into 'master'
Implement list:admin:notice:pending template.
Closes #890
See merge request mailman/mailman!876
- - - - -
9 changed files:
- src/mailman/commands/cli_notify.py
- src/mailman/commands/tests/test_cli_notify.py
- src/mailman/docs/NEWS.rst
- src/mailman/interfaces/template.py
- src/mailman/rest/docs/templates.rst
- src/mailman/rest/tests/test_domains.py
- src/mailman/rest/tests/test_lists.py
- src/mailman/rest/tests/test_root.py
- + src/mailman/templates/en/list:admin:notice:pending.txt
Changes:
=====================================
src/mailman/commands/cli_notify.py
=====================================
@@ -27,7 +27,9 @@ from mailman.interfaces.command import ICLISubCommand
from mailman.interfaces.listmanager import IListManager
from mailman.interfaces.pending import IPendings
from mailman.interfaces.requests import IListRequests, RequestType
+from mailman.interfaces.template import ITemplateLoader
from mailman.utilities.options import I18nCommand
+from mailman.utilities.string import expand, wrap
from public import public
from zope.component import getUtility
from zope.interface import implementer
@@ -138,12 +140,12 @@ def _send_notice(mlist, count, detail):
"""Creates and sends the notice to the list administrators."""
subject = _('The {} list has {} moderation requests waiting.').format(
mlist.fqdn_listname, count)
- # XXX This should be a template.
- text = _("""The {} list has {} moderation requests waiting.
-
-{}
-Please attend to this at your earliest convenience.
-""").format(mlist.fqdn_listname, count, detail)
+ template = getUtility(ITemplateLoader).get(
+ 'list:admin:notice:pending', mlist)
+ text = wrap(expand(template, mlist, dict(
+ count=count,
+ data=detail,
+ )))
msg = OwnerNotification(mlist, subject, text, mlist.administrators)
msg.send(mlist)
=====================================
src/mailman/commands/tests/test_cli_notify.py
=====================================
@@ -120,8 +120,7 @@ Held Messages:
Reason: Some other reason
-Please attend to this at your earliest convenience.
-""")
+Please attend to this at your earliest convenience.""")
def test_notify_bogus_list(self):
result = self._command.invoke(notify,
@@ -159,8 +158,7 @@ Held Messages:
Reason: Some other reason
-Please attend to this at your earliest convenience.
-""")
+Please attend to this at your earliest convenience.""")
class TestBogusRFC2047(unittest.TestCase):
@@ -196,5 +194,4 @@ Held Messages:
Reason: Non-member post
-Please attend to this at your earliest convenience.
-""")
+Please attend to this at your earliest convenience.""")
=====================================
src/mailman/docs/NEWS.rst
=====================================
@@ -105,6 +105,8 @@ New Features
at intervals defined by the new ``run_tasks_every`` setting in the
``[mailman]`` section of mailman.cfg. Default is 1 hour. (Closes #467 and
#853)
+* There is a new ``list:admin:notice:pending`` template for the notice from
+ the ``mailman notify`` command. (Closes #890)
.. _news-3.3.4:
=====================================
src/mailman/interfaces/template.py
=====================================
@@ -175,6 +175,7 @@ ALL_TEMPLATES = {
'list:admin:notice:unsubscribe',
'list:admin:notice:disable',
'list:admin:notice:increment',
+ 'list:admin:notice:pending',
'list:admin:notice:removal',
'list:member:digest:footer',
'list:member:digest:header',
=====================================
src/mailman/rest/docs/templates.rst
=====================================
@@ -482,6 +482,13 @@ below. Here are all the supported template names:
* ``member`` - display name and email address of the subscriber
+* ``list:admin:notice:pending``
+ The notice of pending moderator requests sent to the list administrators
+ by the ``mailman notify`` command.
+
+ * ``count`` - the number of pending requests.
+ * ``data`` - the list of pending requests.
+
* ``list:admin:notice:removal``
Sent to the list administrators to notify them when a member is unsubscribed
from am mailing list due to excessive bounces.
=====================================
src/mailman/rest/tests/test_domains.py
=====================================
@@ -374,6 +374,7 @@ class TestDomainTemplates(unittest.TestCase):
'list:admin:action:unsubscribe': '',
'list:admin:notice:subscribe': '',
'list:admin:notice:unrecognized': '',
+ 'list:admin:notice:pending': '',
'list:admin:notice:increment': '',
'list:admin:notice:disable': '',
'list:admin:notice:unsubscribe': '',
=====================================
src/mailman/rest/tests/test_lists.py
=====================================
@@ -859,6 +859,7 @@ class TestListTemplates(unittest.TestCase):
'list:admin:notice:subscribe': '',
'list:admin:notice:unrecognized': '',
'list:admin:notice:unsubscribe': '',
+ 'list:admin:notice:pending': '',
'list:admin:notice:increment': '',
'list:admin:notice:disable': '',
'list:admin:notice:removal': '',
=====================================
src/mailman/rest/tests/test_root.py
=====================================
@@ -270,6 +270,7 @@ class TestSiteTemplates(unittest.TestCase):
'list:admin:notice:subscribe': '',
'list:admin:notice:unrecognized': '',
'list:admin:notice:unsubscribe': '',
+ 'list:admin:notice:pending': '',
'list:admin:notice:increment': '',
'list:admin:notice:disable': '',
'list:admin:notice:removal': '',
=====================================
src/mailman/templates/en/list:admin:notice:pending.txt
=====================================
@@ -0,0 +1,4 @@
+The $listname list has $count moderation requests waiting.
+
+$data
+Please attend to this at your earliest convenience.
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/79e7d618aeb9d7866795ad9c1cc0a25a0fdc0d22...0a5c5ec414e0aabb91d912b1f2636d38765affed
--
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/79e7d618aeb9d7866795ad9c1cc0a25a0fdc0d22...0a5c5ec414e0aabb91d912b1f2636d38765affed
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]