Guest User

Untitled

a guest
May 22nd, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. # This controller handles the login/logout function of the site.
  2. class SessionsController < ApplicationController
  3. before_filter :login_required, :only => :destroy
  4. before_filter :not_logged_in_required, :only => [:new, :create]
  5. # before_filter :store_location
  6.  
  7. # render new.rhtml
  8. def new
  9. end
  10.  
  11. def create
  12. password_authentication(params[:login], params[:password])
  13. end
  14.  
  15. def destroy
  16. self.current_user.forget_me if logged_in?
  17. cookies.delete :auth_token
  18. reset_session
  19. flash[:notice] = "You have been logged out."
  20. redirect_to root_path
  21. end
  22.  
  23. protected
  24.  
  25. def password_authentication(login, password)
  26. user = User.authenticate(login, password)
  27. if user == nil
  28. failed_login("Your username or password is incorrect.")
  29. elsif user.activated_at.blank?
  30. failed_login("Your account is not active, please check your email for the activation code.")
  31. elsif user.enabled == false
  32. failed_login("Your account has been disabled.")
  33. else
  34. self.current_user = user
  35. successful_login
  36. end
  37. end
  38.  
  39. def sub_domain_name(sub_domain)
  40. sub_domain = current_subdomain
  41. send "#{sub_domain}_home_path"
  42. end
  43.  
  44. def domain_name(domain)
  45. domain = request.domain.gsub(/(.com|.net|.org)$/, "")
  46. send "#{domain}_home_path"
  47. end
  48.  
  49. private
  50.  
  51. def failed_login(message)
  52. flash.now[:error] = message
  53. render :action => 'new'
  54. end
  55.  
  56.  
  57.  
  58. def successful_login
  59. if params[:remember_me] == "1"
  60. self.current_user.remember_me
  61. cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at }
  62. end
  63. flash[:notice] = "Logged in successfully"
  64. return_to = session[:return_to]
  65. return_to.nil? ? redirect_to(domain_name("domain")) : redirect_to(sub_domain_name("sub_domain"))
  66. end
  67. end
Add Comment
Please, Sign In to add comment