Advertisement
Guest User

Untitled

a guest
Jul 31st, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.70 KB | None | 0 0
  1. class AccountController < ApplicationController
  2. # Be sure to include AuthenticationSystem in Application Controller instead
  3. include AuthenticatedSystem
  4. # If you want "remember me" functionality, add this before_filter to Application Controller
  5. before_filter :login_from_cookie
  6.  
  7. # say something nice, you goof! something sweet.
  8. def index
  9. redirect_to(:action => 'signup') unless logged_in? || User.count > 0
  10. end
  11.  
  12. def login
  13. ### Leaving this in ensures I dont ever get logged in... had to comment it out - 2007-01-11
  14. return unless request.post?
  15. self.current_user = User.authenticate(params[:login], params[:password])
  16. if logged_in?
  17. if params[:remember_me] == "1"
  18. self.current_user.remember_me
  19. cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at }
  20. end
  21. if current_user.super
  22. redirect_back_or_default(:controller => 'sms', :action => 'list' )
  23. else
  24. redirect_back_or_default(:controller => Site.find(current_user.site_id).name '/sms', :action => 'show', :site_id => current_user.site_id )
  25. end
  26. flash[:notice] = "Logged in successfully"
  27. else
  28. flash[:notice] = "Username or password was incorrect"
  29. end
  30.  
  31. end
  32.  
  33. def signup
  34. @user = User.new(params[:user])
  35. return unless request.post?
  36. @user.save!
  37. self.current_user = @user
  38. redirect_back_or_default(:controller => '/account', :action => 'index')
  39. flash[:notice] = "Thanks for signing up!"
  40. rescue ActiveRecord::RecordInvalid
  41. render :action => 'signup'
  42. end
  43.  
  44. def logout
  45. self.current_user.forget_me if logged_in?
  46. cookies.delete :auth_token
  47. reset_session
  48. @site = nil
  49. flash[:notice] = "You have been logged out."
  50. redirect_back_or_default(:controller => '/account', :action => 'index')
  51. flash[:notice] = "A password reset link has been sent to your email address"
  52. else
  53. flash[:notice] = "Could not find a user with that email address"
  54. end
  55. end
  56.  
  57. def reset_password
  58. @user = User.find_by_password_reset_code(params[:id])
  59. return if @user unless params[:password]
  60. if (params[:password] == params[:password_confirmation])
  61. self.current_user = @user #for the next two lines to work
  62. current_user.password_confirmation = params[:password_confirmation]
  63. current_user.password = params[:password]
  64. @user.reset_password
  65. flash[:notice] = current_user.save ? "Password reset" : "Password not reset"
  66. else
  67. flash[:notice] = "Password mismatch"
  68. end
  69. redirect_back_or_default(:controller => '/account', :action => 'index')
  70. end
  71. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement