------------------------------------------------------------
revno: 1326
committer: Mark Sapiro <msap...@value.net>
branch nick: 2.1
timestamp: Sun 2011-11-13 13:32:08 -0800
message:
  Fixed misleading response to an email approval of a held message.
  Bug #889968.
modified:
  Mailman/Commands/cmd_confirm.py
  Mailman/MailList.py
  NEWS


--
lp:mailman/2.1
https://code.launchpad.net/~mailman-coders/mailman/2.1

Your team Mailman Checkins is subscribed to branch lp:mailman/2.1.
To unsubscribe from this branch go to 
https://code.launchpad.net/~mailman-coders/mailman/2.1/+edit-subscription
=== modified file 'Mailman/Commands/cmd_confirm.py'
--- Mailman/Commands/cmd_confirm.py	2008-02-20 04:26:57 +0000
+++ Mailman/Commands/cmd_confirm.py	2011-11-13 21:32:08 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2005 by the Free Software Foundation, Inc.
+# Copyright (C) 2002-2011 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
@@ -84,14 +84,25 @@
             # We don't also need to send a confirmation succeeded message
             res.respond = 0
         else:
-            res.results.append(_('Confirmation succeeded'))
+            if results[0] == Pending.HELD_MESSAGE:
+                if results[1] == mm_cfg.APPROVE:
+                    res.results.append(_('Confirmation succeeded') + 
+                               ' (' + _('Approve') + ')')
+                else:
+                    res.results.append(_('Confirmation succeeded') + 
+                               ' (' + _('Discard') + ')')
+            else:
+                res.results.append(_('Confirmation succeeded'))
             # Consume any other confirmation strings with the same cookie so
             # the user doesn't get a misleading "unprocessed" message.
+            # Also consume any Approve(d): line as it was processed.
             match = 'confirm ' + cookie
             unprocessed = []
             for line in res.commands:
                 try:
-                    if line.lstrip() == match:
+                    if (line.lstrip() == match or
+                            line.lstrip().lower().startswith('approved:') or
+                            line.lstrip().lower().startswith('approve:')):
                         continue
                 except UnicodeError:
                     pass

=== modified file 'Mailman/MailList.py'
--- Mailman/MailList.py	2011-09-29 23:39:46 +0000
+++ Mailman/MailList.py	2011-11-13 21:32:08 +0000
@@ -1302,7 +1302,7 @@
                 # Most likely because the message has already been disposed of
                 # via the admindb page.
                 syslog('error', 'Could not process HELD_MESSAGE: %s', id)
-            return (op,)
+            return op, action
         elif op == Pending.RE_ENABLE:
             member = data[1]
             self.setDeliveryStatus(member, MemberAdaptor.ENABLED)

=== modified file 'NEWS'
--- NEWS	2011-11-12 23:52:27 +0000
+++ NEWS	2011-11-13 21:32:08 +0000
@@ -71,6 +71,9 @@
 
   Bug Fixes and other patches
 
+    - Fixed misleading response to an email approval of a held message.
+      Bug #889968.
+
     - Added masthead.txt to the list of templates that can be edited via the
       web admin interface.  Bug #266805.
 

_______________________________________________
Mailman-checkins mailing list
Mailman-checkins@python.org
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org

Reply via email to