Sha256: 04f51a732a0ed996193373bf86c92e644c0e553ae9f59a4cd8a88c2baaed50b8
Contents?: true
Size: 906 Bytes
Versions: 26
Compression:
Stored size: 906 Bytes
Contents
module Spree class StoreCreditCategory < Spree::Base validates :name, presence: true before_destroy :validate_not_used GIFT_CARD_CATEGORY_NAME = 'Gift Card'.freeze DEFAULT_NON_EXPIRING_TYPES = [GIFT_CARD_CATEGORY_NAME] self.whitelisted_ransackable_attributes = %w[name] def non_expiring? non_expiring_category_types.include? name end def non_expiring_category_types DEFAULT_NON_EXPIRING_TYPES | Spree::Config[:non_expiring_credit_types] end def store_credit_category_used? Spree::StoreCredit.exists?(category_id: id) end def validate_not_used if store_credit_category_used? errors.add(:base, :cannot_destroy_if_used_in_store_credit) throw(:abort) end end class << self def default_reimbursement_category(_options = {}) Spree::StoreCreditCategory.first end end end end
Version data entries
26 entries across 26 versions & 1 rubygems