Automatically create the confirmation_token when email is sent for optionally confirmable models
Signed-off-by: José Valim <jose.valim@gmail.com>
This commit is contained in:
parent
02c2df65cd
commit
592fa59e88
|
@ -50,6 +50,7 @@ module Devise
|
||||||
|
|
||||||
# Send confirmation instructions by email
|
# Send confirmation instructions by email
|
||||||
def send_confirmation_instructions
|
def send_confirmation_instructions
|
||||||
|
generate_confirmation_token if self.confirmation_token.nil?
|
||||||
::Devise::Mailer.confirmation_instructions(self).deliver
|
::Devise::Mailer.confirmation_instructions(self).deliver
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -127,6 +127,14 @@ class ConfirmableTest < ActiveSupport::TestCase
|
||||||
User.send_confirmation_instructions(:email => user.email)
|
User.send_confirmation_instructions(:email => user.email)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test 'should always have confirmation token when email is sent' do
|
||||||
|
user = new_user
|
||||||
|
user.instance_eval { def confirmation_required?; false end }
|
||||||
|
user.save
|
||||||
|
user.send_confirmation_instructions
|
||||||
|
assert_not_nil user.confirmation_token
|
||||||
|
end
|
||||||
|
|
||||||
test 'should not resend email instructions if the user change his email' do
|
test 'should not resend email instructions if the user change his email' do
|
||||||
user = create_user
|
user = create_user
|
||||||
|
|
Loading…
Reference in New Issue