mirror of
https://github.com/heartcombo/devise.git
synced 2022-11-09 12:18:31 -05:00
Merge pull request #2430 from kramerc/blank-email
Avoid sending confirmations to blank emails.
This commit is contained in:
commit
486dc65884
2 changed files with 20 additions and 3 deletions
|
@ -227,17 +227,17 @@ module Devise
|
|||
end
|
||||
|
||||
def postpone_email_change?
|
||||
postpone = self.class.reconfirmable && email_changed? && !@bypass_postpone
|
||||
postpone = self.class.reconfirmable && email_changed? && !@bypass_postpone && !self.email.blank?
|
||||
@bypass_postpone = false
|
||||
postpone
|
||||
end
|
||||
|
||||
def reconfirmation_required?
|
||||
self.class.reconfirmable && @reconfirmation_required
|
||||
self.class.reconfirmable && @reconfirmation_required && !self.email.blank?
|
||||
end
|
||||
|
||||
def send_confirmation_notification?
|
||||
confirmation_required? && !@skip_confirmation_notification
|
||||
confirmation_required? && !@skip_confirmation_notification && !self.email.blank?
|
||||
end
|
||||
|
||||
module ClassMethods
|
||||
|
|
|
@ -114,6 +114,14 @@ class ConfirmableTest < ActiveSupport::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
test 'should not send confirmation when no email is provided' do
|
||||
assert_email_not_sent do
|
||||
user = new_user
|
||||
user.email = ''
|
||||
user.save(:validate => false)
|
||||
end
|
||||
end
|
||||
|
||||
test 'should find a user to send confirmation instructions' do
|
||||
user = create_user
|
||||
confirmation_user = User.send_confirmation_instructions(:email => user.email)
|
||||
|
@ -337,6 +345,15 @@ class ReconfirmableTest < ActiveSupport::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
test 'should not send confirmation by email after changing to a blank email' do
|
||||
admin = create_admin
|
||||
assert admin.confirm!
|
||||
assert_email_not_sent do
|
||||
admin.email = ''
|
||||
admin.save(:validate => false)
|
||||
end
|
||||
end
|
||||
|
||||
test 'should stay confirmed when email is changed' do
|
||||
admin = create_admin
|
||||
assert admin.confirm!
|
||||
|
|
Loading…
Add table
Reference in a new issue