summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbwarsaw2003-02-20 04:38:26 +0000
committerbwarsaw2003-02-20 04:38:26 +0000
commitfd42b090543317b3d5aa0fbf7ee71f900d9f5979 (patch)
treed3e8aeda9c43c3c8e714a5c55afd944812ae027f
parent0afd51296c5f299c57c4be51b14e59937e405549 (diff)
downloadmailman-fd42b090543317b3d5aa0fbf7ee71f900d9f5979.tar.gz
mailman-fd42b090543317b3d5aa0fbf7ee71f900d9f5979.tar.zst
mailman-fd42b090543317b3d5aa0fbf7ee71f900d9f5979.zip
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.
-rw-r--r--Mailman/OldStyleMemberships.py11
1 files 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())