From a15564007473d08305892b71eb3b49f5aed2ed84 Mon Sep 17 00:00:00 2001 From: bwarsaw Date: Thu, 11 Jul 2002 16:18:39 +0000 Subject: ApprovedChangeMemberAddress(): Watch out for situations where the new address is already a member and don't make the address change in that case. However, if the old address is still a member, we'll just delete it. --- Mailman/MailList.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Mailman/MailList.py b/Mailman/MailList.py index 8d0e11c51..0e15511e5 100644 --- a/Mailman/MailList.py +++ b/Mailman/MailList.py @@ -996,7 +996,12 @@ class MailList(HTMLFormatter, Deliverer, ListAdmin, def ApprovedChangeMemberAddress(self, oldaddr, newaddr, globally): # Change the membership for the current list first. We don't lock and # save ourself since we assume that the list is already locked. - self.changeMemberAddress(oldaddr, newaddr) + if self.isMember(newaddr): + # Just delete the old address + if self.isMember(oldaddr): + self.ApprovedDeleteMember(oldaddr, admin_notif=1, userack=1) + else: + self.changeMemberAddress(oldaddr, newaddr) # If globally is true, then we also include every list for which # oldaddr is a member. if not globally: -- cgit v1.2.3-70-g09d2