Guest User

Untitled

a guest
May 1st, 2018
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. class AccountsController < ApplicationController
  2. skip_before_filter :login_required, :except => :logout
  3. skip_after_filter :store_location
  4. layout 'plain'
  5.  
  6.  
  7.  
  8. def login
  9. redirect_back_or_default(home_path) and return if @u
  10. @user = User.new
  11. return unless request.post?
  12.  
  13.  
  14. #plays double duty login/forgot (due to the ajax nature of the login/forgot form)
  15. if params[:user][:email] && params[:user][:email].size > 0
  16. u = Profile.find_by_email(params[:user][:email]).user rescue nil
  17. flash.now[:error] = "Could not find that email address. Try again." and return if u.nil?
  18.  
  19. @pass = u.forgot_password #must be @ variable for function tests
  20. AccountMailer.deliver_forgot_password(u.profile.email, u.f, u.login, @pass)
  21. flash.now[:notice] = "A new password has been mailed to you."
  22. else
  23. params[:login] ||= params[:user][:login] if params[:user]
  24. params[:password] ||= params[:user][:password] if params[:user]
  25. self.user = User.authenticate(params[:login], params[:password])
  26. if @u
  27. remember_me if params[:user][:remember_me] == "1"
  28. flash[:notice] = "Hello #{@u.f}"
  29. redirect_back_or_default profile_url(@u.profile)
  30. else
  31. flash.now[:error] = "Uh-oh, login didn't work. Do you have caps locks on? Try it again."
  32. end
  33. end
  34. end
  35.  
  36.  
  37.  
  38.  
  39.  
  40. def logout
  41. cookies[:auth_token] = {:expires => Time.now-1.day, :value => "" }
  42. session[:user] = nil
  43. session[:return_to] = nil
  44. flash[:notice] = "You have been logged out."
  45. redirect_to '/'
  46. end
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53. def signup
  54. redirect_back_or_default(home_path) and return if @u
  55. @user = User.new
  56. return unless request.post?
  57.  
  58.  
  59. u = User.new
  60. u.terms_of_service = params[:user][:terms_of_service]
  61. u.login = params[:user][:login]
  62. u.password = params[:user][:password]
  63. u.password_confirmation = params[:user][:password_confirmation]
  64. u.email = params[:user][:email]
  65. u.captcha = params[:user][:captcha] unless ENV['RAILS_ENV'] == 'test'
  66. u.captcha_answer = params[:user][:captcha_answer] unless ENV['RAILS_ENV'] == 'test'
  67.  
  68. @u = u
  69. if u.save
  70. self.user = u
  71.  
  72.  
  73. remember_me if params[:remember_me] == "1"
  74. flash[:notice] = "Thanks for signing up!"
  75. AuthMailer.deliver_registration(:subject=>"new #{SITE_NAME} registration", :body => "username = '#{@u.login}', email = '#{@u.profile.email}'", :recipients=>REGISTRATION_RECIPIENTS)
  76. redirect_to profile_url(@u.profile)
  77. else
  78. @user = @u
  79. params[:user][:password] = params[:user][:password_confirmation] = ''
  80. flash.now[:error] = @u.errors
  81. self.user = u# if RAILS_ENV == 'test'
  82. end
  83. end
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93. protected
  94.  
  95. def remember_me
  96. self.user.remember_me
  97. cookies[:auth_token] = {
  98. :value => self.user.remember_token ,
  99. :expires => self.user.remember_token_expires_at
  100. }
  101. end
  102.  
  103.  
  104. def allow_to
  105. super :all, :all=>true
  106. end
  107.  
  108. end
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117. class AuthMailer < ActionMailer::Base
  118. def registration(options)
  119. self.generic_mailer(options)
  120. end
  121. end
Add Comment
Please, Sign In to add comment