class Baclight::EmployerPolicy < ApplicationPolicy def id_cards?; employer_rule?; end def members_list?; employer_rule?; end def coverage?; employer_rule?; end def available_document_categories?; member_employer_rule?; end def documents?; member_employer_rule?; end private def member_employer_rule? user.admin? || (user.member? && record.id == user.keychain[:employer_id]) || (user.employer? && record.id == user.keychain[:id]) || (user.broker? && record.broker_id == user.keychain[:id]) || (user.carrier? && record.carrier_id == user.keychain[:id]) end def employer_rule? user.admin? || (user.employer? && record.id == user.keychain[:id]) || (user.broker? && record.broker_id == user.keychain[:id]) || (user.carrier? && record.carrier_id == user.keychain[:id]) end end