From a909bfaf85a07e94da8f15fdeb22101606dea57c Mon Sep 17 00:00:00 2001 From: Rodrigo Flores Date: Wed, 22 Feb 2012 13:03:30 -0200 Subject: [PATCH] Added required_fields when reconfirmable --- lib/devise/models/confirmable.rb | 7 ++++++- test/models/confirmable_test.rb | 9 +++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/devise/models/confirmable.rb b/lib/devise/models/confirmable.rb index da1922e2..7bdfe6ed 100644 --- a/lib/devise/models/confirmable.rb +++ b/lib/devise/models/confirmable.rb @@ -37,7 +37,12 @@ module Devise end def self.required_fields(klass) - [:confirmation_token, :confirmed_at, :confirmation_sent_at] + required_methods = [:confirmation_token, :confirmed_at, :confirmation_sent_at] + if klass.reconfirmable + required_methods << :unconfirmed_email + end + + required_methods end # Confirm a user by setting it's confirmed_at to actual time. If the user diff --git a/test/models/confirmable_test.rb b/test/models/confirmable_test.rb index 63eaf02b..66167bba 100644 --- a/test/models/confirmable_test.rb +++ b/test/models/confirmable_test.rb @@ -336,4 +336,13 @@ class ReconfirmableTest < ActiveSupport::TestCase :confirmed_at ] end + + test 'required_fields should also contain unconfirmable when reconfirmable_email is true' do + assert_same_content Devise::Models::Confirmable.required_fields(Admin), [ + :confirmation_sent_at, + :confirmation_token, + :confirmed_at, + :unconfirmable_email + ] + end end