diff --git a/core/app/models/concerns/spree/named_type.rb b/core/app/models/concerns/spree/named_type.rb index b3fc4d7c905..58e026b0ce0 100644 --- a/core/app/models/concerns/spree/named_type.rb +++ b/core/app/models/concerns/spree/named_type.rb @@ -5,6 +5,8 @@ module NamedType extend ActiveSupport::Concern included do + Spree.deprecator.warn "Spree::NamedType is deprecated. Please set scopes and validations locally instead.", caller + scope :active, -> { where(active: true) } default_scope -> { order(arel_table[:name].lower) } diff --git a/core/app/models/spree/refund_reason.rb b/core/app/models/spree/refund_reason.rb index a397a8ef61a..285f1bee494 100644 --- a/core/app/models/spree/refund_reason.rb +++ b/core/app/models/spree/refund_reason.rb @@ -2,7 +2,10 @@ module Spree class RefundReason < Spree::Base - include Spree::NamedType + scope :active, -> { where(active: true) } + default_scope -> { order(arel_table[:name].lower) } + + validates :name, presence: true, uniqueness: { case_sensitive: false, allow_blank: true } RETURN_PROCESSING_REASON = 'Return processing' diff --git a/core/app/models/spree/reimbursement_type.rb b/core/app/models/spree/reimbursement_type.rb index acfce54618c..d0032f93bec 100644 --- a/core/app/models/spree/reimbursement_type.rb +++ b/core/app/models/spree/reimbursement_type.rb @@ -2,7 +2,10 @@ module Spree class ReimbursementType < Spree::Base - include Spree::NamedType + scope :active, -> { where(active: true) } + default_scope -> { order(arel_table[:name].lower) } + + validates :name, presence: true, uniqueness: { case_sensitive: false, allow_blank: true } ORIGINAL = 'original' diff --git a/core/app/models/spree/return_reason.rb b/core/app/models/spree/return_reason.rb index b1fc513c125..1d485868586 100644 --- a/core/app/models/spree/return_reason.rb +++ b/core/app/models/spree/return_reason.rb @@ -2,7 +2,10 @@ module Spree class ReturnReason < Spree::Base - include Spree::NamedType + scope :active, -> { where(active: true) } + default_scope -> { order(arel_table[:name].lower) } + + validates :name, presence: true, uniqueness: { case_sensitive: false, allow_blank: true } has_many :return_authorizations diff --git a/core/app/models/spree/store_credit_reason.rb b/core/app/models/spree/store_credit_reason.rb index 1578506bd5e..66c3e1008df 100644 --- a/core/app/models/spree/store_credit_reason.rb +++ b/core/app/models/spree/store_credit_reason.rb @@ -1,7 +1,10 @@ # frozen_string_literal: true class Spree::StoreCreditReason < Spree::Base - include Spree::NamedType + scope :active, -> { where(active: true) } + default_scope -> { order(arel_table[:name].lower) } + + validates :name, presence: true, uniqueness: { case_sensitive: false, allow_blank: true } has_many :store_credit_events, inverse_of: :store_credit_reason