Fix for globally changing address when not on all lists

Bug #558061 reported by skyrush
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNU Mailman
Fix Released
Undecided
Unassigned

Bug Description

If you have a user who is on some, but not all, of the
lists on your server, and he/she tries to change
his/her address *globally* (using the "change globally"
checkbox), the person will get the confirmation email,
but when he/she clicks the link in the email and then
the button on the page to make the change, it will only
change the address on the list originally chosen, and
then it will raise a "Bad Confirmation code" error.

The problem is that the call,
"self.__assertIsMember(member)" in
OldStyleMemberships.py fails and raises the error.

The isMember() call should have been checked in
ApprovedChangeMemberAddress in MailList.py before
trying to change the address in the other lists. This
statement fixes it:

if not mlist.isMember(oldaddr):
continue

Note that this sort of check *is* done in
ChangeMemberName (which I used as an example for the fix):

if not mlist.isMember(addr):
continue

-Joe

Revision history for this message
skyrush (skyrush-users) wrote :

The file MailList.py was added: This is the new version of MailList.py that fixes this problem.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.