26 lines
843 B
Ruby
26 lines
843 B
Ruby
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 |