aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbwarsaw <>2004-04-25 00:18:57 +0000
committerbwarsaw <>2004-04-25 00:18:57 +0000
commit0620ba733dcdb1327ce5a9b092bc1b9ef078214f (patch)
tree0aa8a6c689fdfafebfcdb2d89fb4777ce49c59b1
parent562aa6c5dadd2245671275bd84153b26b1ed264b (diff)
downloadmailman2-0620ba733dcdb1327ce5a9b092bc1b9ef078214f.tar.gz
mailman2-0620ba733dcdb1327ce5a9b092bc1b9ef078214f.tar.xz
mailman2-0620ba733dcdb1327ce5a9b092bc1b9ef078214f.zip
main(), process_form(): Due to popular demand, added SF patch # 810675 which
adds a "discard all messages marked Defer" for quicker admindb maintenance. Patch by Eddie Kohler, SF id xexd.
-rw-r--r--Mailman/Cgi/admindb.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/Mailman/Cgi/admindb.py b/Mailman/Cgi/admindb.py
index ab8c2af0..3a4a1ebb 100644
--- a/Mailman/Cgi/admindb.py
+++ b/Mailman/Cgi/admindb.py
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2003 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2004 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -189,6 +189,11 @@ def main():
+ ' <em>%s</em>' % mlist.real_name))
if not details:
form.AddItem(Center(SubmitButton('submit', _('Submit All Data'))))
+ form.AddItem(Center(
+ CheckBox('discardalldefersp', 0).Format() +
+ '&nbsp;' +
+ _('Discard all messages marked <em>Defer</em>')
+ ))
# Add a link back to the overview, if we're not viewing the overview!
adminurl = mlist.GetScriptURL('admin', absolute=1)
d = {'listname' : mlist.real_name,
@@ -674,6 +679,11 @@ def process_form(mlist, doc, cgidata):
sender = unquote_plus(k[len(prefix):])
value = cgidata.getvalue(k)
senderactions.setdefault(sender, {})[action] = value
+ # discard-all-defers
+ try:
+ discardalldefersp = cgidata.getvalue('discardalldefersp', 0)
+ except ValueError:
+ discardalldefersp = 0
for sender in senderactions.keys():
actions = senderactions[sender]
# Handle what to do about all this sender's held messages
@@ -681,6 +691,8 @@ def process_form(mlist, doc, cgidata):
action = int(actions.get('senderaction', mm_cfg.DEFER))
except ValueError:
action = mm_cfg.DEFER
+ if action == mm_cfg.DEFER and discardalldefersp:
+ action = mm_cfg.DISCARD
if action in (mm_cfg.DEFER, mm_cfg.APPROVE,
mm_cfg.REJECT, mm_cfg.DISCARD):
preserve = actions.get('senderpreserve', 0)