Sha256: 2c488a2885a2be77e90dfbbf93993f97f72d571cfbcd94b516431b75f333e8bf

Contents?: true

Size: 795 Bytes

Versions: 57

Compression:

Stored size: 795 Bytes

Contents

module Comee
  module Core
    class SupplierAddress < Address
      belongs_to :supplier

      validate :validate_default

      def validate_default
        return unless supplier && address_type && default

        default_count = if new_record?
                          SupplierAddress.where(address_type: address_type, supplier: supplier, default: true).count
                        else
                          SupplierAddress.where(address_type: address_type, supplier: supplier, default: true)
                                         .where.not(id: id).count
                        end

        return if default_count.zero?

        errors.add(:default, "cannot be set to true. There is already a default address for this supplier and address type.")
      end
    end
  end
end

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
comee_core-0.3.62 app/models/comee/core/supplier_address.rb
comee_core-0.3.61 app/models/comee/core/supplier_address.rb
comee_core-0.3.60 app/models/comee/core/supplier_address.rb
comee_core-0.3.59 app/models/comee/core/supplier_address.rb
comee_core-0.3.58 app/models/comee/core/supplier_address.rb
comee_core-0.3.57 app/models/comee/core/supplier_address.rb
comee_core-0.3.56 app/models/comee/core/supplier_address.rb
comee_core-0.3.55 app/models/comee/core/supplier_address.rb
comee_core-0.3.54 app/models/comee/core/supplier_address.rb
comee_core-0.3.53 app/models/comee/core/supplier_address.rb
comee_core-0.3.51 app/models/comee/core/supplier_address.rb
comee_core-0.3.50 app/models/comee/core/supplier_address.rb
comee_core-0.3.49 app/models/comee/core/supplier_address.rb
comee_core-0.3.48 app/models/comee/core/supplier_address.rb
comee_core-0.3.47 app/models/comee/core/supplier_address.rb
comee_core-0.3.46 app/models/comee/core/supplier_address.rb
comee_core-0.3.45 app/models/comee/core/supplier_address.rb
comee_core-0.3.44 app/models/comee/core/supplier_address.rb
comee_core-0.3.43 app/models/comee/core/supplier_address.rb
comee_core-0.3.42 app/models/comee/core/supplier_address.rb