> Hi Brad, > > This looks pretty good. I have only a few comments/suggestions and one > request for a missing test. Thanks for the review. > > Also did a drive-by fix to the person picker vocabulary that was not > > catching an > > Unauthorized exception which prevented people with hidden emails from > > being selected > > in the picker. > > Does that mean we can't merge people with hidden email addresses unless > we know their Launchpad ID or email address? Currently we cannot use the picker to select people with hidden email addresses. But you can merge them by typing in the ID into the field on the form. > > === modified file 'lib/canonical/launchpad/browser/vocabulary.py' > > --- lib/canonical/launchpad/browser/vocabulary.py 2009-07-31 19:38:18 > +0000 > > +++ lib/canonical/launchpad/browser/vocabulary.py 2010-01-08 13:36:23 > +0000 > > @@ -82,7 +82,7 @@ > > def person_to_pickerentry(person): > > """Adapts IPerson to IPickerEntry.""" > > extra = default_pickerentry_adapter(person) > > - if person.preferredemail is not None: > > + if person.preferredemail is not None and not > person.hide_email_addresses: > > I didn't see a test for this; care to add one? I have discovered Edwin is working to redo the way these pickers are working and my drive-by change would soon be replaced by his work. Therefore I'm going to back out this portion of the change and just wait for his more thorough fix. > > === modified file 'lib/lp/registry/browser/peoplemerge.py' > > + # We can have multiple email adressess selected, and in > this > > Typo: adressess This typo was pre-existing. I looked to see if it existed elsewhere and found and fixed six other occurrences. > > === modified file 'lib/lp/registry/stories/person/merge-people.txt' > > --- lib/lp/registry/stories/person/merge-people.txt 2009-07-31 22:34:24 > +0000 > > +++ lib/lp/registry/stories/person/merge-people.txt 2010-01-08 13:36:23 > +0000 > > @@ -172,3 +172,56 @@ > > #>>> browser.open('http://launchpad.dev/people/+mergerequest- > sent?dupe=55') > > #>>> browser.url > > #'http://launchpad.dev/~no-priv' > > + > > +If the duplicate account has multiple email addresses and has chosen > > +to hide them the process is slightly different. We cannot display the > > +hidden addresses so instead we just inform the user to check all of > > +them (and hope they know which ones) and we send merge request > > +messages to them all. > > + > > + >>> login('