Guest User

Untitled

a guest
Apr 21st, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. module Service
  2.  
  3. module Helper
  4.  
  5. def service
  6. @service ||= Service::RedHat#Service.services.current
  7. end
  8.  
  9. def authenticate_and_roles
  10. @authenticate_and_roles ||= service.authenticate(cookies)
  11. end
  12.  
  13. def require_login
  14. redirect_to_login unless authenticate_and_roles['username']
  15. end
  16.  
  17. def require_admin
  18. redirect_to_unauthorize_page unless authenticate_and_roles['roles'].include?('admin')
  19. end
  20.  
  21. def require_vendor
  22. redirect_to_unauthorize_page unless authenticate_and_roles['roles'].include?('isv')
  23. end
  24.  
  25. def require_admin_or_vendor
  26. redirect_to_unauthorize_page unless admin? || vendor?
  27. end
  28.  
  29. def user_is_valid?(red_hat_id)
  30. user_info = service.user_info(red_hat_id)
  31. user_info.empty? ? false : user_info.first['login']==red_hat_id
  32. end
  33.  
  34. def logged_in?
  35. service.logged_in?(cookies)
  36. end
  37.  
  38. def authenticate?
  39. authenticate_and_roles['roles'].include?('isv') || authenticate_and_roles['roles'].include?('admin')
  40. end
  41.  
  42. def admin?
  43. logged_in? && authenticate_and_roles['roles'].include?('admin')
  44. end
  45.  
  46. def vendor?
  47. logged_in? && authenticate_and_roles['roles'].include?('isv')
  48. end
  49.  
  50. def admin_or_vendor?
  51. admin? || vendor?
  52. end
  53.  
  54. private
  55. def redirect_to_unauthorize_page
  56. flash[:error]="You are unauthorize."
  57. redirect_to root_path,:status=>:forbidden
  58. end
  59.  
  60. def redirect_to_login
  61. flash[:error]="You must logged in."
  62. redirect_to login_path
  63. end
  64.  
  65. def set_rh_user
  66. service.set_user_cookie(cookies,authenticate_and_roles)
  67. end
  68.  
  69. def user_info(user)
  70. service.user_info(user)
  71. end
  72.  
  73.  
  74. end
  75.  
  76. end
Add Comment
Please, Sign In to add comment