Guest User

Untitled

a guest
Dec 11th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. # Filters added to this controller apply to all controllers in the application.
  2. # Likewise, all the methods added will be available for all controllers.
  3.  
  4. class ApplicationController < ActionController::Base
  5.  
  6. helper :all
  7. helper_method :current_user_session, :current_user, :is_admin, :is_org_admin
  8. filter_parameter_logging :password, :password_confirmation
  9.  
  10. private
  11. def current_user_session
  12. return @current_user_session if defined?(@current_user_session)
  13. @current_user_session = UserSession.find
  14. end
  15.  
  16. def current_user
  17. return @current_user if defined?(@current_user)
  18. @current_user = current_user_session && current_user_session.record
  19. end
  20.  
  21. def is_admin
  22. if current_user.roles.find(:first, :conditions => { :id => 1 })
  23. return true
  24. else
  25. return false
  26. end
  27. end
  28.  
  29. def is_org_admin
  30. if current_user.roles.find(:first, :conditions => { :id => 2 })
  31. return true
  32. elsif
  33. current_user.roles.find(:first, :conditions => { :id => 1 })
  34. return true
  35. else
  36. return false
  37. end
  38. end
  39.  
  40. def require_admin
  41. unless current_user.roles.find(:first, :conditions => { :id => 1 })
  42. redirect_to account_url
  43. return false
  44. end
  45. end
  46.  
  47. def require_org_admin
  48. unless current_user.roles.find(:first, :conditions => { :id => 2 }) || current_user.roles.find(:first, :conditions => { :id => 1 })
  49. redirect_to account_url
  50. return false
  51. end
  52. end
  53.  
  54. def require_user
  55. unless current_user
  56. store_location
  57. flash[:notice] = "You must be logged in to access this page"
  58. redirect_to new_user_session_url
  59. return false
  60. end
  61. end
  62.  
  63. def require_no_user
  64. if current_user
  65. store_location
  66. flash[:notice] = "You must be logged out to access this page"
  67. redirect_to account_url
  68. return false
  69. end
  70. end
  71.  
  72. def store_location
  73. session[:return_to] = request.request_uri
  74. end
  75.  
  76. def redirect_back_or_default(default)
  77. redirect_to(session[:return_to] || default)
  78. session[:return_to] = nil
  79. end
  80. end
Add Comment
Please, Sign In to add comment