------------------------------------------------------------
revno: 1345
committer: Mark Sapiro <msap...@value.net>
branch nick: 2.1
timestamp: Sun 2012-03-25 13:45:51 -0700
message:
  Backported regular_exclude_ignore list attribute feature from 2.2 branch.
modified:
  Mailman/Defaults.py.in
  Mailman/Gui/NonDigest.py
  Mailman/Handlers/CalcRecips.py
  Mailman/Version.py
  Mailman/versions.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/Defaults.py.in'
--- Mailman/Defaults.py.in	2012-02-05 21:19:39 +0000
+++ Mailman/Defaults.py.in	2012-03-25 20:45:51 +0000
@@ -1027,6 +1027,7 @@
 # Exclude/include (sibling) lists for non-digest delivery.
 DEFAULT_REGULAR_EXCLUDE_LISTS = []
 DEFAULT_REGULAR_INCLUDE_LISTS = []
+DEFAULT_REGULAR_EXCLUDE_IGNORE = True
 ALLOW_CROSS_DOMAIN_SIBLING = False
 
 # This variable controls whether monthly password reminders are sent.

=== modified file 'Mailman/Gui/NonDigest.py'
--- Mailman/Gui/NonDigest.py	2010-09-10 22:17:01 +0000
+++ Mailman/Gui/NonDigest.py	2012-03-25 20:45:51 +0000
@@ -159,6 +159,17 @@
              Note also that the site administrator may prohibit cross domain
              siblings.""")),
 
+            ('regular_exclude_ignore', mm_cfg.Toggle, (_('No'), _('Yes')), 0,
+             _("""Ignore regular_exlude_lists of which the poster is not a
+             member."""),
+             _("""If a post is addressed to this list and to one or more of
+             the exclude lists, regular members of those lists will not be
+             sent the post from this list, but if the poster is not a member
+             of an excluded list, the post may not be accepted by that list
+             which leaves the members of that list with no copy of the post.
+             Setting this to Yes ignores any of the exclude lists of which the
+             poster is not a member.""")),
+
             ('regular_include_lists', mm_cfg.EmailList, (3, WIDTH), 0,
              _("""Other mailing lists on this site whose members are
              included in the regular (non-digest) delivery if those

=== modified file 'Mailman/Handlers/CalcRecips.py'
--- Mailman/Handlers/CalcRecips.py	2008-03-16 05:09:31 +0000
+++ Mailman/Handlers/CalcRecips.py	2012-03-25 20:45:51 +0000
@@ -179,6 +179,12 @@
             syslog('error', 'Exclude list %s is not in the same domain.',
                     listname)
             continue
+        if mlist.regular_exclude_ignore:
+            for sender in msg.get_senders():
+                if slist.isMember(sender):
+                    break
+            else:
+                continue
         srecips = set([slist.getMemberCPAddress(m)
                    for m in slist.getRegularMemberKeys()
                    if slist.getDeliveryStatus(m) == ENABLED])

=== modified file 'Mailman/Version.py'
--- Mailman/Version.py	2011-04-25 23:52:35 +0000
+++ Mailman/Version.py	2012-03-25 20:45:51 +0000
@@ -37,7 +37,7 @@
                (REL_LEVEL << 4)  | (REL_SERIAL << 0))
 
 # config.pck schema version number
-DATA_FILE_VERSION = 99
+DATA_FILE_VERSION = 100
 
 # qfile/*.db schema version number
 QFILE_SCHEMA_VERSION = 3

=== modified file 'Mailman/versions.py'
--- Mailman/versions.py	2011-04-25 23:52:35 +0000
+++ Mailman/versions.py	2012-03-25 20:45:51 +0000
@@ -416,6 +416,8 @@
                         mm_cfg.DEFAULT_REGULAR_EXCLUDE_LISTS)
     add_only_if_missing('regular_include_lists',
                         mm_cfg.DEFAULT_REGULAR_INCLUDE_LISTS)
+    add_only_if_missing('regular_exclude_ignore',
+                        mm_cfg.DEFAULT_REGULAR_EXCLUDE_IGNORE)
 
 
 

=== modified file 'NEWS'
--- NEWS	2012-03-25 01:23:57 +0000
+++ NEWS	2012-03-25 20:45:51 +0000
@@ -22,6 +22,13 @@
 
   New Features
 
+    - There is a new list attribute regular_exclude_ignore set from mm_cfg.py
+      DEFAULT_REGULAR_EXCLUDE_IGNORE.  This defaults to True even though the
+      prior behavior is equivalent to False.  A True setting will ignore an
+      exclude list if the poster is not a member of that list.  The False
+      setting can result in list members not receiving posts if the nonmember
+      post is not accepted by the exclude list.  Backported from 2.2 branch.
+
     - Eliminated the list cache from the qrunners.  Indirect self-references
       caused lists to never be dropped from the cache which in turn caused
       the qrunners to grow very large in installations with many lists or

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

Reply via email to