Full-House-UW/fullhouse — pull request #126 by jlowdermilk (2012-11-17 22:05:57+00:00)
Title: Email-only authentication/registration

This closes #104. Everything works (as far as I tested) as before, except now you login with an email, and creation of account requires only email and password.

**IMPORTANT**: this will require a migration of our existing users which can be done in a few ways. The actual migration can be performed simply with a tool provided with by django-email-as-username, but it will refuse to run if there are users with duplicate emails --which our site definitely has. So we have two options to address this:
* We can delete duplicate email users, but we should at least send out an email to each address that has duplicate users to warn them before we do it (easy to write a script to do that).
* (Better option) Django recognizes the '+' trick for multiple emails off of one, e.g. it considers `heff@test.com` and `heff+1@test.com` as separate users, and even though mail sent to either will be directed to `heff@test.com`. So we can have a one-off script which puts a +something on the end of each duplicate email (we could use +username, for example). That way existing duplicate email users will still work but they will have to login with email. We should still send emails to each user to inform them of this change.

Open to suggestions on how to proceed with the migration. We can hold off on merging this until we decide on the approach if we prefer that.