Right now you can claim address like "email@example.com "
(note spaces in the end) or even "email@example.com\t"
(tab in the end, you can't type this but can copy&paste from some source. That's how I discovered this issue actually).
That's a problem because on the UI you can't see this blank symbols and later, when user types the same email in, say, password recovery form, but without spaces in the end, system will not find it, therefore user will not be able to recover password. Also, association of commits with users and other stuff won't work.
Probably fix is as simple as adding .strip()
inside EmailAddress.canonical
, since we use it everywhere already, but it's good to test/investigate further.
Don't sure what to do with existing emails like this which are already in mongo.
Diff:
Closed #741.
allura:ib/7833
On SF need to run
allura/scripts/trim_emails.py
ScriptTask
to fix emails that are already there (I've checked production db, and there are some).Looks good Igor :)