lib/models/phone.rb in devise_phone-0.0.1662 vs lib/models/phone.rb in devise_phone-0.0.1663

- old
+ new

@@ -29,13 +29,13 @@ module Phone extend ActiveSupport::Concern included do before_create :set_unverified_phone_attributes, :if => :phone_verification_needed? - after_create :private_generate_verification_code_and_send_sms, :if => :phone_verification_needed? + # after_create :private_generate_verification_code_and_send_sms, :if => :phone_verification_needed? # before_save :remember_old_phone_number - before_save :private_generate_verification_code_and_send_sms, :if => :phone_number_changed? + after_save :private_generate_verification_code_and_send_sms, :if => :regenerate_phone_verification_needed? end def generate_verification_code_and_send_sms if(phone_verification_needed?) private_generate_verification_code_and_send_sms @@ -43,11 +43,14 @@ self.save! end def verify_phone_number_with_code_entered(code_entered) if phone_verification_needed? && (code_entered == self.phone_verification_code) - mark_phone_as_verified! + mark_phone_as_verified! + true + else + false end end private @@ -106,10 +109,27 @@ else true end end + def regenerate_phone_verification_needed? + if phone_number.present? + if phone_number_changed? + # puts "condition 1" + true + else + # puts "condition 2" + false + end + # self.errors.add(:phone_verification_code, :empty_phone_number_field) + # false + else + # puts "condition 3" + false + end + end + # set attributes to user indicating the phone number is unverified def set_unverified_phone_attributes self.phone_number_verified = false self.phone_verification_code_sent_at = DateTime.now self.phone_verified_at = nil @@ -128,16 +148,16 @@ # sends a message to number indicated in the secrets.yml def send_sms_verification_code number_to_send_to = self.phone_number verification_code = self.phone_verification_code - twilio_sid = Rails.application.secrets.twilio_sid - twilio_token = Rails.application.secrets.twilio_token - twilio_phone_number = Rails.application.secrets.twilio_phone_number + twilio_sid = Rails.application.config.twilio[:sid] + twilio_token = Rails.application.config.twilio[:token] + twilio_phone_number = Rails.application.config.twilio[:phone_number] @twilio_client = Twilio::REST::Client.new twilio_sid, twilio_token - @twilio_client.account.sms.messages.create( + @twilio_client.account.messages.create( :from => "+1#{twilio_phone_number}", :to => number_to_send_to, :body => "Hi! This is MathCrunch. Your verification code is #{verification_code}" ) end