diff options
| author | msapiro | 2007-03-20 23:13:26 +0000 |
|---|---|---|
| committer | msapiro | 2007-03-20 23:13:26 +0000 |
| commit | cf950f7430ecabc8d4ff370c4f9e6e01f7b44fd4 (patch) | |
| tree | 7b4bd4fda22583c0d95e0f4b25d07aabc8204102 | |
| parent | 03db19fb63df5b4adf525361640743d90a7e10e1 (diff) | |
| download | mailman-cf950f7430ecabc8d4ff370c4f9e6e01f7b44fd4.tar.gz mailman-cf950f7430ecabc8d4ff370c4f9e6e01f7b44fd4.tar.zst mailman-cf950f7430ecabc8d4ff370c4f9e6e01f7b44fd4.zip | |
| -rw-r--r-- | Mailman/OldStyleMemberships.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Mailman/OldStyleMemberships.py b/Mailman/OldStyleMemberships.py index 3a69a2dfc..2a72b8928 100644 --- a/Mailman/OldStyleMemberships.py +++ b/Mailman/OldStyleMemberships.py @@ -213,7 +213,7 @@ class OldStyleMemberships(MemberAdaptor.MemberAdaptor): value = 0 else: value = member - member = member.lower() + member = member.lower() if digest: self.__mlist.digest_members[member] = value else: @@ -255,6 +255,8 @@ class OldStyleMemberships(MemberAdaptor.MemberAdaptor): password = self.__mlist.passwords.get(memberkey, Utils.MakeRandomPassword()) lang = self.getMemberLanguage(memberkey) + delivery = self.__mlist.delivery_status.get(member.lower(), + (MemberAdaptor.ENABLED,0)) # First, possibly delete the old member if not nodelete: self.removeMember(memberkey) @@ -264,6 +266,11 @@ class OldStyleMemberships(MemberAdaptor.MemberAdaptor): # Set the entire options bitfield if flags: self.__mlist.user_options[newaddress.lower()] = flags + # If this is a straightforward address change, i.e. nodelete = 0, + # preserve the delivery status and time if BYUSER or BYADMIN + if delivery[0] in (MemberAdaptor.BYUSER, MemberAdaptor.BYADMIN)\ + and not nodelete: + self.__mlist.delivery_status[newaddress.lower()] = delivery def setMemberPassword(self, memberkey, password): assert self.__mlist.Locked() |
