VFRS-402
This commit is contained in:
parent
5eb90fe4b5
commit
c0b9472b07
|
|
@ -42,7 +42,6 @@ module JamRuby
|
||||||
|
|
||||||
def password_reset(user, password_reset_url)
|
def password_reset(user, password_reset_url)
|
||||||
@user = user
|
@user = user
|
||||||
# /reset_password_token?token=#{@user.reset_password_token}&email=#{CGI.escape(@user.email)}"
|
|
||||||
@password_reset_url = password_reset_url
|
@password_reset_url = password_reset_url
|
||||||
sendgrid_unique_args :type => "password_reset"
|
sendgrid_unique_args :type => "password_reset"
|
||||||
mail(:to => user.email, :subject => "Jamkazam Password Reset") do |format|
|
mail(:to => user.email, :subject => "Jamkazam Password Reset") do |format|
|
||||||
|
|
|
||||||
|
|
@ -305,7 +305,7 @@ module JamRuby
|
||||||
|
|
||||||
def self.set_password_from_token(email, token, new_password, new_password_confirmation)
|
def self.set_password_from_token(email, token, new_password, new_password_confirmation)
|
||||||
user = User.find_by_email(email)
|
user = User.find_by_email(email)
|
||||||
if user.nil? || user.reset_password_token != token || Time.now - user.reset_password_token_created > 3.days
|
if user.nil? || user.reset_password_token != token || Time.now - user.reset_password_token_created > 3.days || new_password.length < 6 || new_password != new_password_confirmation
|
||||||
raise JamRuby::JamArgumentError
|
raise JamRuby::JamArgumentError
|
||||||
end
|
end
|
||||||
user.reset_password_token = nil
|
user.reset_password_token = nil
|
||||||
|
|
@ -324,7 +324,7 @@ module JamRuby
|
||||||
UserMailer.password_changed(self).deliver
|
UserMailer.password_changed(self).deliver
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.reset_password(email, reset_password_url)
|
def self.reset_password(email, base_uri)
|
||||||
user = User.find_by_email(email)
|
user = User.find_by_email(email)
|
||||||
raise JamRuby::JamArgumentError if user.nil?
|
raise JamRuby::JamArgumentError if user.nil?
|
||||||
|
|
||||||
|
|
@ -332,7 +332,8 @@ module JamRuby
|
||||||
user.reset_password_token_created = Time.now
|
user.reset_password_token_created = Time.now
|
||||||
user.save
|
user.save
|
||||||
|
|
||||||
UserMailer.password_reset(user, reset_password_url).deliver
|
reset_url = "#{base_uri}/reset_password_token?token=#{user.reset_password_token}&email=#{CGI.escape(email)}"
|
||||||
|
UserMailer.password_reset(user, reset_url).deliver
|
||||||
|
|
||||||
user
|
user
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -191,7 +191,7 @@ describe User do
|
||||||
@user.reset_password_token_created.should >= Time.now - 1.minute
|
@user.reset_password_token_created.should >= Time.now - 1.minute
|
||||||
end
|
end
|
||||||
|
|
||||||
it "errors if the wrong token is comes in" do
|
it "errors if the wrong token comes in" do
|
||||||
User.reset_password(@user.email, RESET_PASSWORD_URL)
|
User.reset_password(@user.email, RESET_PASSWORD_URL)
|
||||||
@user.reload
|
@user.reload
|
||||||
expect { User.set_password_from_token(@user.email, "wrongtoken", "newpassword", "newpassword") }.to raise_error
|
expect { User.set_password_from_token(@user.email, "wrongtoken", "newpassword", "newpassword") }.to raise_error
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue