Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Service
- module Helper
- def service
- @service ||= Service::RedHat#Service.services.current
- end
- def authenticate_and_roles
- @authenticate_and_roles ||= service.authenticate(cookies)
- end
- def require_login
- redirect_to_login unless authenticate_and_roles['username']
- end
- def require_admin
- redirect_to_unauthorize_page unless authenticate_and_roles['roles'].include?('admin')
- end
- def require_vendor
- redirect_to_unauthorize_page unless authenticate_and_roles['roles'].include?('isv')
- end
- def require_admin_or_vendor
- redirect_to_unauthorize_page unless admin? || vendor?
- end
- def user_is_valid?(red_hat_id)
- user_info = service.user_info(red_hat_id)
- user_info.empty? ? false : user_info.first['login']==red_hat_id
- end
- def logged_in?
- service.logged_in?(cookies)
- end
- def authenticate?
- authenticate_and_roles['roles'].include?('isv') || authenticate_and_roles['roles'].include?('admin')
- end
- def admin?
- logged_in? && authenticate_and_roles['roles'].include?('admin')
- end
- def vendor?
- logged_in? && authenticate_and_roles['roles'].include?('isv')
- end
- def admin_or_vendor?
- admin? || vendor?
- end
- private
- def redirect_to_unauthorize_page
- flash[:error]="You are unauthorize."
- redirect_to root_path,:status=>:forbidden
- end
- def redirect_to_login
- flash[:error]="You must logged in."
- redirect_to login_path
- end
- def set_rh_user
- service.set_user_cookie(cookies,authenticate_and_roles)
- end
- def user_info(user)
- service.user_info(user)
- end
- end
- end
Add Comment
Please, Sign In to add comment