------------------------------------------------------------
revno: 1186
committer: Mark Sapiro <msap...@value.net>
branch nick: 2.2
timestamp: Tue 2011-10-04 14:52:22 -0700
message:
  - Mailman/Gui/General.py
      Fixed the setting of new_member_options so that unprocessed bits are not
      changed.  Augmented the logic so that bin/config_list can set or reset
      any bits in mm_cfg.OPTINFO.  Bug #865825.
  - Mailman/Defaulys.py.in
      Added missing bits to OPTINFO.
modified:
  Mailman/Defaults.py.in
  Mailman/Gui/General.py
  NEWS


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

Your team Mailman Checkins is subscribed to branch lp:mailman/2.2.
To unsubscribe from this branch go to 
https://code.launchpad.net/~mailman-coders/mailman/2.2/+edit-subscription
=== modified file 'Mailman/Defaults.py.in'
--- Mailman/Defaults.py.in	2011-09-16 00:14:29 +0000
+++ Mailman/Defaults.py.in	2011-10-04 21:52:22 +0000
@@ -1394,6 +1394,9 @@
            'notmetoo': DontReceiveOwnPosts,
            'digest'  : 0,
            'plain'   : DisableMime,
+           'noremind': SuppressPasswordReminder,
+           'nmtopics': ReceiveNonmatchingTopics,
+           'mod'     : Moderate,
            'nodupes' : DontReceiveDuplicates
            }
 

=== modified file 'Mailman/Gui/General.py'
--- Mailman/Gui/General.py	2010-09-10 22:18:30 +0000
+++ Mailman/Gui/General.py	2011-10-04 21:52:22 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2010 by the Free Software Foundation, Inc.
+# Copyright (C) 2001-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
@@ -25,6 +25,7 @@
 from Mailman import Utils
 from Mailman import Errors
 from Mailman.i18n import _
+from Mailman.htmlformat import Document
 from Mailman.Gui.GUIBase import GUIBase
 
 OPTIONS = ('hide', 'ack', 'notmetoo', 'nodupes')
@@ -455,11 +456,22 @@
             changed!  It must differ from the list's name by case
             only."""))
         elif property == 'new_member_options':
-            newopts = 0
-            for opt in OPTIONS:
+            # Get current value because there are valid bits not in OPTIONS.
+            # If we're the admin CGI, we then process the bits in OPTIONS,
+            # turning them on or off as appropriate.  Otherwise we process all
+            # the bits in mm_cfg.OPTINFO so that config_list can set and reset
+            # them.
+            newopts = mlist.new_member_options
+            if isinstance(doc, Document):
+                opts = OPTIONS
+            else:
+                opts = mm_cfg.OPTINFO
+            for opt in opts:
                 bitfield = mm_cfg.OPTINFO[opt]
                 if opt in val:
                     newopts |= bitfield
+                else:
+                    newopts &= ~bitfield
             mlist.new_member_options = newopts
         elif property == 'subject_prefix':
             # Convert any html entities to Unicode

=== modified file 'NEWS'
--- NEWS	2011-09-30 00:37:58 +0000
+++ NEWS	2011-10-04 21:52:22 +0000
@@ -127,6 +127,11 @@
 
   Bug Fixes and other patches
 
+    - A bug that would cause reset of any new_member_options bits other than
+      the four displayed as checkboxes on the list admin General Options page
+      whenever the page was updated or bin/config_list attempted to update
+      new_member_options has been fixed.  Bug #865825.
+
     - A problem with the logic avoiding unnecessarily reloading a current list
       object from the config.pck arises if the list is updated by another
       process within the same second that it was last read/written.  That can

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

Reply via email to