devise_phone 0.0.1662 → 0.0.1663

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aea3bed47404803f7cccb39604bfa1b177198381
4
- data.tar.gz: 507f7f19fb93b700d03d9b1b5c818f4a9de5b365
3
+ metadata.gz: aa23d1176a07078e34df9bc26d23abf25f3aadb8
4
+ data.tar.gz: 810341f073168f9a0eec605c52b491c33adaaa0a
5
5
  SHA512:
6
- metadata.gz: 88aa689d5440ed65a222dbb48c9368e8effe606b64253de7f74eb72253fe52c033c8cf8aae75e0bf89c9606384b520ebff069b98300ba3c91fb44d292463772e
7
- data.tar.gz: 006cba759729181bb1b1825258acca717def542d5c73f59ea3fe5fdae689f2e006190f533f9687006097e486110a1b51b0f6101ece86be089884b3d236413a74
6
+ metadata.gz: a0ddc5397e5d6f53c93682e028479c83001e75d626806f67a3ea943a476b4ebc67f0476b36cbf057626e4c61a97368b34c3e46184f0cd3a8fcfded3dbff14c3d
7
+ data.tar.gz: 43a835f4e774d7b1aba4ba499a7d7cb3117d57336e589e839f4145da3ecdb0d437a90bb6f01eaf2b142281f64af83c3ebce578c09bc1ba93e74607f55ad9a54e
@@ -1,28 +1,38 @@
1
1
  class Devise::PhoneVerificationsController < DeviseController
2
2
 
3
3
  # GET /resource/phone_verification/new
4
- def new
5
- build_resource({})
6
- render :new
7
- end
4
+ # def new
5
+ # build_resource({})
6
+ # render :new
7
+ # end
8
8
 
9
9
  # POST /resource/phone_verification
10
- def create
11
- end
10
+ # def create
11
+ # end
12
12
 
13
- # GET /resource/phone_verification/insert
14
- def insert
13
+ # GET /resource/phone_verification/send_code
14
+ def send_code
15
15
  current_user.generate_verification_code_and_send_sms
16
- puts "hey"
17
- render nothing: true
16
+ # render nothing: true
17
+ respond_to do |format|
18
+ msg = { :status => "ok", :message => "SMS sent!" }
19
+ format.json { render :json => msg } # don't do msg.to_json
20
+ end
18
21
  end
19
22
 
20
- # GET or POST /resource/phone_verification/consume?sms_token=abcdef
21
- def consume
22
- current_user.verify_phone_number_with_code_entered(params[:code_entered])
23
- puts "hey2"
24
-
25
- render nothing: true
23
+ # GET or POST /resource/phone_verification/verify_code
24
+ def verify_code
25
+ verify_success = current_user.verify_phone_number_with_code_entered(params[:code_entered])
26
+ # render nothing: true
27
+ respond_to do |format|
28
+ if verify_success
29
+ message_response = "verification successful"
30
+ else
31
+ message_response = "verification fail"
32
+ end
33
+ msg = { :status => "ok", :message => message_response }
34
+ format.json { render :json => msg } # don't do msg.to_json
35
+ end
26
36
  end
27
37
 
28
38
  protected
@@ -1,4 +1,4 @@
1
- <%= form_for(resource, :as => resource_name, :url => consume_user_phone_verification_path(resource_name), :html => { :method => :post }, remote: true) do |f| %>
1
+ <%= form_for(resource, :as => resource_name, :url => verify_code_user_phone_verification_path(resource_name), :html => { :method => :post }, remote: true) do |f| %>
2
2
 
3
3
  <p><%=label_tag :code_entered %><br />
4
4
  <%=text_field_tag :code_entered, "" %></p>
@@ -1,4 +1,4 @@
1
- <%= form_for(resource, :as => resource_name, :url => insert_user_phone_verification_path(resource_name), :html => { :method => :get }, remote: true) do |f| %>
1
+ <%= form_for(resource, :as => resource_name, :url => send_code_user_phone_verification_path(resource_name), :html => { :method => :get }, remote: true) do |f| %>
2
2
  <%= devise_error_messages! %>
3
3
 
4
4
  <%= f.submit "Resend Phone Verification Code" %>
@@ -4,8 +4,8 @@ module ActionDispatch::Routing
4
4
  protected
5
5
  def devise_phone_verification(mapping, controllers)
6
6
  resource :phone_verification, :only => [:new, :create], :path => mapping.path_names[:phone_verification], :controller => controllers[:phone_verifications] do
7
- post :consume, :path => mapping.path_names[:consume], :as => :consume
8
- get :insert, :path => mapping.path_names[:insert], :as => :insert
7
+ post :verify_code, :path => mapping.path_names[:verify_code], :as => :verify_code
8
+ get :send_code, :path => mapping.path_names[:send_code], :as => :send_code
9
9
  end
10
10
  end
11
11
 
@@ -1,3 +1,3 @@
1
1
  module DevisePhone
2
- VERSION = "0.0.1662".freeze
2
+ VERSION = "0.0.1663".freeze
3
3
  end
data/lib/models/phone.rb CHANGED
@@ -31,9 +31,9 @@ module Devise
31
31
 
32
32
  included do
33
33
  before_create :set_unverified_phone_attributes, :if => :phone_verification_needed?
34
- after_create :private_generate_verification_code_and_send_sms, :if => :phone_verification_needed?
34
+ # after_create :private_generate_verification_code_and_send_sms, :if => :phone_verification_needed?
35
35
  # before_save :remember_old_phone_number
36
- before_save :private_generate_verification_code_and_send_sms, :if => :phone_number_changed?
36
+ after_save :private_generate_verification_code_and_send_sms, :if => :regenerate_phone_verification_needed?
37
37
  end
38
38
 
39
39
  def generate_verification_code_and_send_sms
@@ -45,7 +45,10 @@ module Devise
45
45
 
46
46
  def verify_phone_number_with_code_entered(code_entered)
47
47
  if phone_verification_needed? && (code_entered == self.phone_verification_code)
48
- mark_phone_as_verified!
48
+ mark_phone_as_verified!
49
+ true
50
+ else
51
+ false
49
52
  end
50
53
  end
51
54
 
@@ -108,6 +111,23 @@ module Devise
108
111
  end
109
112
  end
110
113
 
114
+ def regenerate_phone_verification_needed?
115
+ if phone_number.present?
116
+ if phone_number_changed?
117
+ # puts "condition 1"
118
+ true
119
+ else
120
+ # puts "condition 2"
121
+ false
122
+ end
123
+ # self.errors.add(:phone_verification_code, :empty_phone_number_field)
124
+ # false
125
+ else
126
+ # puts "condition 3"
127
+ false
128
+ end
129
+ end
130
+
111
131
  # set attributes to user indicating the phone number is unverified
112
132
  def set_unverified_phone_attributes
113
133
  self.phone_number_verified = false
@@ -130,13 +150,13 @@ module Devise
130
150
  number_to_send_to = self.phone_number
131
151
  verification_code = self.phone_verification_code
132
152
 
133
- twilio_sid = Rails.application.secrets.twilio_sid
134
- twilio_token = Rails.application.secrets.twilio_token
135
- twilio_phone_number = Rails.application.secrets.twilio_phone_number
153
+ twilio_sid = Rails.application.config.twilio[:sid]
154
+ twilio_token = Rails.application.config.twilio[:token]
155
+ twilio_phone_number = Rails.application.config.twilio[:phone_number]
136
156
 
137
157
  @twilio_client = Twilio::REST::Client.new twilio_sid, twilio_token
138
158
 
139
- @twilio_client.account.sms.messages.create(
159
+ @twilio_client.account.messages.create(
140
160
  :from => "+1#{twilio_phone_number}",
141
161
  :to => number_to_send_to,
142
162
  :body => "Hi! This is MathCrunch. Your verification code is #{verification_code}"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_phone
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1662
4
+ version: 0.0.1663
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hubert Theodore
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-06-22 00:00:00.000000000 Z
11
+ date: 2015-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler