Guest User

Untitled

a guest
Mar 10th, 2018
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. ## RESET PASSWORD
  2. def reset_password
  3. # get user
  4. @user = User.find_by_login params[:id]
  5.  
  6. if @user
  7. if @user.reset_password_code == params[:code]
  8. if Time.now < @user.reset_password_code_until
  9. begin
  10. # reset password
  11. @user.password = params[:password]
  12. @user.password_confirmation = params[:confirm]
  13. @user.reset_password_code = nil
  14. @user.reset_password_code_until = nil
  15. @user.save!
  16.  
  17. # redirect to confirmation page
  18. redirect_to :action => 'password_confirmation'
  19. rescue Exception
  20. # render password reset page with validation errors
  21. render :action => 'password'
  22. end
  23. else
  24. # reset password code expired
  25. @user.errors.add 'reset_password_code', 'has expired.'
  26. render :action => 'password'
  27. end
  28. else
  29. # invalid reset code
  30. @user.errors.add 'reset_password_code', 'is not valid'
  31. render :action => 'password'
  32. end
  33. else
  34. # user not found
  35. redirect_to '/'
  36. end
  37. end
Add Comment
Please, Sign In to add comment