users: move emails to separate table.
* Move emails from users table to email_addresses table. * Validate that addresses are formatted correctly and are unique across users. Existing invalid emails are grandfathered in. * Add is_verified flag (the address has been confirmed by the user). * Add is_deliverable flag (an undeliverable address is an address that bounces). * Normalize addresses to prevent registering multiple accounts with the same email address (using tricks like Gmail's plus addressing).
This commit is contained in:
@@ -8,11 +8,10 @@ class UserEmailChange
|
||||
end
|
||||
|
||||
def process
|
||||
if User.authenticate(user.name, password).nil?
|
||||
user.errors[:base] << "Password was incorrect"
|
||||
if User.authenticate(user.name, password)
|
||||
user.update(email_address_attributes: { address: new_email })
|
||||
else
|
||||
user.email = new_email
|
||||
user.save
|
||||
user.errors[:base] << "Password was incorrect"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user