From fd42b090543317b3d5aa0fbf7ee71f900d9f5979 Mon Sep 17 00:00:00 2001 From: bwarsaw Date: Thu, 20 Feb 2003 04:38:26 +0000 Subject: getMemberLanguage(): Check the language retrieved from the member's record and if it isn't in the mailing list's list of available languages, return the list's preferred language. This should go a long way towards fixing problems where a user's preferred language is disabled. addNewMember(): Use a slightly more efficient check of the address's membership. --- Mailman/OldStyleMemberships.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Mailman/OldStyleMemberships.py b/Mailman/OldStyleMemberships.py index 8ade3565e..44adc9bff 100644 --- a/Mailman/OldStyleMemberships.py +++ b/Mailman/OldStyleMemberships.py @@ -113,8 +113,11 @@ class OldStyleMemberships(MemberAdaptor.MemberAdaptor): raise Errors.NotAMemberError, member def getMemberLanguage(self, member): - return self.__mlist.language.get(member.lower(), - self.__mlist.preferred_language) + lang = self.__mlist.language.get( + member.lower(), self.__mlist.preferred_language) + if lang in self.__mlist.GetAvailableLanguages(): + return lang + return self.__mlist.preferred_language def getMemberOption(self, member, flag): self.__assertIsMember(member) @@ -168,7 +171,7 @@ class OldStyleMemberships(MemberAdaptor.MemberAdaptor): def addNewMember(self, member, **kws): assert self.__mlist.Locked() # Make sure this address isn't already a member - if self.__mlist.isMember(member): + if self.isMember(member): raise Errors.MMAlreadyAMember, member # Parse the keywords digest = 0 @@ -335,8 +338,8 @@ class OldStyleMemberships(MemberAdaptor.MemberAdaptor): self.__assertIsMember(member) member = member.lower() if status == MemberAdaptor.ENABLED: + # Enable by resetting their bounce info. self.setBounceInfo(member, None) - # Otherwise, nothing to do else: self.__mlist.delivery_status[member] = (status, time.time()) -- cgit v1.3.1