class IdCardsPolicy < ApplicationPolicy # Corresponds to PostController#edit or #update def member_card? user.admin? || (user.carrier? && record.belongs_to_levels.carrier_id == user.keychain.id) || (user.broker? && record.belongs_to_levels.broker_id == user.keychain.id) || (user.employer? && record.pl_plan_key == user.keychain.pl_plan_key) || (user.member? && record.pb_entity_key == user.keychain.pb_entity_key) end # Corresponds to PostController#destroy def employer_cards? user.admin? || (user.carrier? && record.belongs_to_levels.carrier_id == user.keychain.id) || (user.broker? && record.belongs_to_levels.broker_id == user.keychain.id) || (user.employer? && record.pl_plan_key == user.keychain.pl_plan_key) end end