spree_core 4.6.6 → 4.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/finders/spree/countries/find.rb +1 -1
- data/app/finders/spree/products/find.rb +1 -1
- data/app/finders/spree/taxons/find.rb +3 -9
- data/app/helpers/spree/base_helper.rb +1 -5
- data/app/helpers/spree/products_helper.rb +3 -3
- data/app/models/concerns/spree/metadata.rb +7 -2
- data/app/models/concerns/spree/translatable_resource.rb +1 -1
- data/app/models/concerns/spree/user_roles.rb +3 -3
- data/app/models/spree/address.rb +6 -4
- data/app/models/spree/asset.rb +1 -1
- data/app/models/spree/base.rb +5 -1
- data/app/models/spree/calculator/default_tax.rb +1 -1
- data/app/models/spree/cms/sections/image_gallery.rb +1 -7
- data/app/models/spree/cms/sections/side_by_side_images.rb +1 -7
- data/app/models/spree/cms_page.rb +1 -1
- data/app/models/spree/cms_section.rb +1 -1
- data/app/models/spree/country.rb +2 -2
- data/app/models/spree/credit_card.rb +1 -1
- data/app/models/spree/customer_return.rb +2 -2
- data/app/models/spree/digital_link.rb +5 -1
- data/app/models/spree/line_item.rb +1 -1
- data/app/models/spree/option_type.rb +3 -3
- data/app/models/spree/option_value.rb +2 -2
- data/app/models/spree/order/store_credit.rb +0 -8
- data/app/models/spree/order.rb +7 -7
- data/app/models/spree/payment.rb +7 -15
- data/app/models/spree/payment_method.rb +1 -1
- data/app/models/spree/payment_source.rb +1 -1
- data/app/models/spree/preference.rb +5 -1
- data/app/models/spree/price.rb +1 -1
- data/app/models/spree/product.rb +9 -18
- data/app/models/spree/product_property.rb +1 -1
- data/app/models/spree/promotion.rb +2 -2
- data/app/models/spree/property.rb +2 -2
- data/app/models/spree/prototype.rb +1 -1
- data/app/models/spree/refund.rb +1 -1
- data/app/models/spree/reimbursement.rb +1 -1
- data/app/models/spree/return_authorization.rb +1 -1
- data/app/models/spree/return_item.rb +5 -1
- data/app/models/spree/shipment.rb +3 -3
- data/app/models/spree/shipping_method.rb +1 -1
- data/app/models/spree/stock/estimator.rb +1 -1
- data/app/models/spree/stock/splitter/weight.rb +1 -1
- data/app/models/spree/stock_item.rb +1 -1
- data/app/models/spree/stock_transfer.rb +3 -3
- data/app/models/spree/store.rb +2 -2
- data/app/models/spree/store_credit.rb +1 -1
- data/app/models/spree/taxon.rb +3 -3
- data/app/models/spree/taxonomy.rb +2 -2
- data/app/models/spree/variant.rb +2 -2
- data/app/models/spree/wishlist.rb +5 -1
- data/app/models/spree/zone.rb +1 -1
- data/app/services/spree/seeds/countries.rb +12 -27
- data/app/services/spree/seeds/states.rb +8 -17
- data/app/services/spree/stock_locations/stock_items/create.rb +12 -18
- data/app/validators/db_maximum_length_validator.rb +2 -6
- data/config/initializers/rails61_fixes.rb +1 -3
- data/config/locales/en.yml +6 -0
- data/lib/spree/core/configuration.rb +1 -1
- data/lib/spree/core/controller_helpers/auth.rb +1 -1
- data/lib/spree/core/controller_helpers/common.rb +5 -5
- data/lib/spree/core/engine.rb +1 -0
- data/lib/spree/core/preferences/preferable_class_methods.rb +1 -1
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/testing_support/controller_requests.rb +10 -10
- data/spree_core.gemspec +3 -3
- metadata +24 -31
- data/app/models/spree/order_contents.rb +0 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b694ef25dfdd98db89c6c36a42cc50de19b6dab09cc827c5273e57dc066f38d6
|
4
|
+
data.tar.gz: '09ecb007e8e2181ace749a1b6776c8fe62eafdb07f321238d5fd69670f209206'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3620378de0b17967f36b2d0a4c72e302aa25dae3f700aaf09e2d9b9cec73bf4b924a81a273beb9da245571c1c48128e5ad53c26539a7f8de04b0c38cdbb31d20
|
7
|
+
data.tar.gz: f902de746ff1dfbeef5f778f6cc204db4c47477fd76c8a0eeea60874fa45a188be8cf33ca1462240f636f57394cf790f71ce6dbdd2ac48bf756aa4e3379b059f
|
@@ -8,7 +8,7 @@ module Spree
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def call
|
11
|
-
|
11
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
12
12
|
Spree::Countries::Find.new.call is deprecated and will be removed in Spree 5.0.
|
13
13
|
Please use Spree::Countries::Find.new.execute instead
|
14
14
|
DEPRECATION
|
@@ -5,7 +5,7 @@ module Spree
|
|
5
5
|
@scope = scope
|
6
6
|
|
7
7
|
if current_currency.present?
|
8
|
-
|
8
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
9
9
|
`current_currency` param is deprecated and will be removed in Spree 5.
|
10
10
|
Please pass `:currency` in `params` hash instead.
|
11
11
|
DEPRECATION
|
@@ -65,15 +65,9 @@ module Spree
|
|
65
65
|
def by_parent_permalink(taxons)
|
66
66
|
return taxons unless parent_permalink?
|
67
67
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
where(["#{Taxon.translation_table_alias}.permalink = ?", parent_permalink])
|
72
|
-
else
|
73
|
-
taxons.joins("INNER JOIN #{Spree::Taxon.table_name} AS parent_taxon ON parent_taxon.id = #{Spree::Taxon.table_name}.parent_id").
|
74
|
-
join_translation_table(Taxon, 'parent_taxon').
|
75
|
-
where(["#{Taxon.translation_table_alias}.permalink = ?", parent_permalink])
|
76
|
-
end
|
68
|
+
taxons.joins(:parent).
|
69
|
+
join_translation_table(Taxon, 'parents_spree_taxons').
|
70
|
+
where(["#{Taxon.translation_table_alias}.permalink = ?", parent_permalink])
|
77
71
|
end
|
78
72
|
|
79
73
|
def by_taxonomy(taxons)
|
@@ -55,7 +55,7 @@ module Spree
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def logo(image_path = nil, options = {})
|
58
|
-
|
58
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
59
59
|
`BaseHelper#logo` is deprecated and will be removed in Spree 5.0.
|
60
60
|
Please use `FrontendHelper#logo` instead
|
61
61
|
DEPRECATION
|
@@ -174,10 +174,6 @@ module Spree
|
|
174
174
|
Spree::Core::Engine.frontend_available?
|
175
175
|
end
|
176
176
|
|
177
|
-
def rails_5?
|
178
|
-
Rails::VERSION::STRING < '6.0'
|
179
|
-
end
|
180
|
-
|
181
177
|
def spree_storefront_resource_url(resource, options = {})
|
182
178
|
if defined?(locale_param) && locale_param.present?
|
183
179
|
options.merge!(locale: locale_param)
|
@@ -53,7 +53,7 @@ module Spree
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def cache_key_for_products(products = @products, additional_cache_key = nil)
|
56
|
-
max_updated_at = (products.except(:group, :order).maximum(:updated_at) || Date.today).
|
56
|
+
max_updated_at = (products.except(:group, :order).maximum(:updated_at) || Date.today).to_formatted_s(:number)
|
57
57
|
products_cache_keys = "spree/products/#{products.map(&:id).join('-')}-#{params[:page]}-#{params[:sort_by]}-#{max_updated_at}-#{@taxon&.id}"
|
58
58
|
(common_product_cache_keys + [products_cache_keys] + [additional_cache_key]).compact.join('/')
|
59
59
|
end
|
@@ -76,7 +76,7 @@ module Spree
|
|
76
76
|
|
77
77
|
# will return a human readable string
|
78
78
|
def available_status(product)
|
79
|
-
|
79
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
80
80
|
`Spree::ProductsHelper#available_status` method from spree/core is deprecated and will be removed.
|
81
81
|
Please use `Spree::Admin::ProductsHelper#available_status` from spree_backend instead.
|
82
82
|
DEPRECATION
|
@@ -140,7 +140,7 @@ module Spree
|
|
140
140
|
end
|
141
141
|
|
142
142
|
def related_products
|
143
|
-
|
143
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
144
144
|
ProductsHelper#related_products is deprecated and will be removed in Spree 5.0.
|
145
145
|
Please use ProductsHelper#relations from now on.
|
146
146
|
DEPRECATION
|
@@ -5,8 +5,13 @@ module Spree
|
|
5
5
|
included do
|
6
6
|
attribute :public_metadata, default: {}
|
7
7
|
attribute :private_metadata, default: {}
|
8
|
-
|
9
|
-
|
8
|
+
if Rails::VERSION::STRING >= '7.1.0'
|
9
|
+
serialize :public_metadata, coder: HashSerializer
|
10
|
+
serialize :private_metadata, coder: HashSerializer
|
11
|
+
else
|
12
|
+
serialize :public_metadata, HashSerializer
|
13
|
+
serialize :private_metadata, HashSerializer
|
14
|
+
end
|
10
15
|
end
|
11
16
|
|
12
17
|
# https://nandovieira.com/using-postgresql-and-jsonb-with-ruby-on-rails
|
@@ -14,19 +14,19 @@ module Spree
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def self.admin
|
17
|
-
|
17
|
+
Spree::Deprecation.warn('`User#admin` is deprecated and will be removed in Spree 5. Please use `User#spree_admin`')
|
18
18
|
|
19
19
|
spree_admin
|
20
20
|
end
|
21
21
|
|
22
22
|
def self.admin_created?
|
23
|
-
|
23
|
+
Spree::Deprecation.warn('`User#admin_created?` is deprecated and will be removed in Spree 5. Please use `User#spree_admin_created?`')
|
24
24
|
|
25
25
|
spree_admin_created?
|
26
26
|
end
|
27
27
|
|
28
28
|
def admin?
|
29
|
-
|
29
|
+
Spree::Deprecation.warn('`User#admin?` is deprecated and will be removed in Spree 5. Please use `User#spree_admin?`')
|
30
30
|
|
31
31
|
spree_admin?
|
32
32
|
end
|
data/app/models/spree/address.rb
CHANGED
@@ -2,7 +2,7 @@ module Spree
|
|
2
2
|
class Address < Spree::Base
|
3
3
|
require 'validates_zipcode'
|
4
4
|
|
5
|
-
include
|
5
|
+
include Metadata
|
6
6
|
if defined?(Spree::Webhooks)
|
7
7
|
include Spree::Webhooks::HasWebhooks
|
8
8
|
end
|
@@ -10,7 +10,9 @@ module Spree
|
|
10
10
|
include Spree::Security::Addresses
|
11
11
|
end
|
12
12
|
|
13
|
-
if Rails::VERSION::STRING >= '
|
13
|
+
if Rails::VERSION::STRING >= '7.1.0'
|
14
|
+
serialize :preferences, type: Hash, coder: YAML, default: {}
|
15
|
+
else
|
14
16
|
serialize :preferences, Hash, default: {}
|
15
17
|
end
|
16
18
|
|
@@ -67,7 +69,7 @@ module Spree
|
|
67
69
|
self.whitelisted_ransackable_associations = %w[country state user]
|
68
70
|
|
69
71
|
def self.build_default
|
70
|
-
|
72
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
71
73
|
`Address#build_default` is deprecated and will be removed in Spree 5.0.
|
72
74
|
Please use standard rails `Address.new(country: current_store.default_country)`
|
73
75
|
DEPRECATION
|
@@ -75,7 +77,7 @@ module Spree
|
|
75
77
|
end
|
76
78
|
|
77
79
|
def self.default(user = nil, kind = 'bill')
|
78
|
-
|
80
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
79
81
|
`Address#default` is deprecated and will be removed in Spree 5.0.
|
80
82
|
DEPRECATION
|
81
83
|
if user && user_address = user.public_send(:"#{kind}_address")
|
data/app/models/spree/asset.rb
CHANGED
data/app/models/spree/base.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
class Spree::Base < ApplicationRecord
|
2
2
|
include Spree::Preferences::Preferable
|
3
|
-
|
3
|
+
if Rails::VERSION::STRING >= '7.1.0'
|
4
|
+
serialize :preferences, type: Hash, coder: YAML
|
5
|
+
else
|
6
|
+
serialize :preferences, Hash
|
7
|
+
end
|
4
8
|
|
5
9
|
include Spree::RansackableAttributes
|
6
10
|
include Spree::TranslatableResourceScopes
|
@@ -3,11 +3,7 @@ module Spree::Cms::Sections
|
|
3
3
|
after_initialize :default_values
|
4
4
|
validate :reset_multiple_link_attributes
|
5
5
|
|
6
|
-
LINKED_RESOURCE_TYPE =
|
7
|
-
['Spree::Taxon'].freeze
|
8
|
-
else
|
9
|
-
['Spree::Taxon', 'Spree::Product'].freeze
|
10
|
-
end
|
6
|
+
LINKED_RESOURCE_TYPE = ['Spree::Taxon', 'Spree::Product'].freeze
|
11
7
|
|
12
8
|
LAYOUT_OPTIONS = ['Default', 'Reversed'].freeze
|
13
9
|
LABEL_OPTIONS = ['Show', 'Hide'].freeze
|
@@ -71,8 +67,6 @@ module Spree::Cms::Sections
|
|
71
67
|
private
|
72
68
|
|
73
69
|
def reset_multiple_link_attributes
|
74
|
-
return if Rails::VERSION::STRING < '6.0'
|
75
|
-
|
76
70
|
if link_type_one_changed?
|
77
71
|
return if link_type_one_was.nil?
|
78
72
|
|
@@ -3,11 +3,7 @@ module Spree::Cms::Sections
|
|
3
3
|
after_initialize :default_values
|
4
4
|
validate :reset_multiple_link_attributes
|
5
5
|
|
6
|
-
LINKED_RESOURCE_TYPE =
|
7
|
-
['Spree::Taxon'].freeze
|
8
|
-
else
|
9
|
-
['Spree::Taxon', 'Spree::Product'].freeze
|
10
|
-
end
|
6
|
+
LINKED_RESOURCE_TYPE = ['Spree::Taxon', 'Spree::Product'].freeze
|
11
7
|
|
12
8
|
store :content, accessors: [:link_type_one, :link_one, :title_one, :subtitle_one,
|
13
9
|
:link_type_two, :link_two, :title_two, :subtitle_two], coder: JSON
|
@@ -49,8 +45,6 @@ module Spree::Cms::Sections
|
|
49
45
|
private
|
50
46
|
|
51
47
|
def reset_multiple_link_attributes
|
52
|
-
return if Rails::VERSION::STRING < '6.0'
|
53
|
-
|
54
48
|
if link_type_one_changed?
|
55
49
|
return if link_type_one_was.nil?
|
56
50
|
|
data/app/models/spree/country.rb
CHANGED
@@ -19,7 +19,7 @@ module Spree
|
|
19
19
|
validates :name, :iso_name, :iso, :iso3, presence: true, uniqueness: { case_sensitive: false, scope: spree_base_uniqueness_scope }
|
20
20
|
|
21
21
|
def self.default(store = nil)
|
22
|
-
|
22
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
23
23
|
`Country#default` is deprecated and will be removed in Spree 5.0.
|
24
24
|
Please use `current_store.default_country` instead
|
25
25
|
DEPRECATION
|
@@ -49,7 +49,7 @@ module Spree
|
|
49
49
|
private
|
50
50
|
|
51
51
|
def ensure_not_default
|
52
|
-
|
52
|
+
Spree::Deprecation.warn('Country#ensure_not_default is deprecated and will be removed in Spree v5')
|
53
53
|
|
54
54
|
if id.eql?(Spree::Config[:default_country_id])
|
55
55
|
errors.add(:base, Spree.t(:default_country_cannot_be_deleted))
|
@@ -1,8 +1,8 @@
|
|
1
1
|
module Spree
|
2
2
|
class CustomerReturn < Spree::Base
|
3
3
|
include Spree::Core::NumberGenerator.new(prefix: 'CR', length: 9)
|
4
|
-
include
|
5
|
-
include
|
4
|
+
include NumberIdentifier
|
5
|
+
include Metadata
|
6
6
|
if defined?(Spree::Webhooks)
|
7
7
|
include Spree::Webhooks::HasWebhooks
|
8
8
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
module Spree
|
2
2
|
class OptionType < Spree::Base
|
3
|
-
include
|
4
|
-
include
|
5
|
-
include
|
3
|
+
include UniqueName
|
4
|
+
include Metadata
|
5
|
+
include TranslatableResource
|
6
6
|
if defined?(Spree::Webhooks)
|
7
7
|
include Spree::Webhooks::HasWebhooks
|
8
8
|
end
|
@@ -1,14 +1,6 @@
|
|
1
1
|
module Spree
|
2
2
|
class Order < Spree::Base
|
3
3
|
module StoreCredit
|
4
|
-
def add_store_credit_payments(amount = nil)
|
5
|
-
Spree::Dependencies.checkout_add_store_credit_service.constantize.call(order: self, amount: amount)
|
6
|
-
end
|
7
|
-
|
8
|
-
def remove_store_credit_payments
|
9
|
-
Spree::Dependencies.checkout_remove_store_credit_service.constantize.call(order: self)
|
10
|
-
end
|
11
|
-
|
12
4
|
def covered_by_store_credit?
|
13
5
|
return false unless user
|
14
6
|
|
data/app/models/spree/order.rb
CHANGED
@@ -20,10 +20,10 @@ module Spree
|
|
20
20
|
include Spree::Core::NumberGenerator.new(prefix: 'R')
|
21
21
|
include Spree::Core::TokenGenerator
|
22
22
|
|
23
|
-
include
|
24
|
-
include
|
23
|
+
include NumberIdentifier
|
24
|
+
include NumberAsParam
|
25
25
|
include SingleStoreResource
|
26
|
-
include
|
26
|
+
include MemoizedData
|
27
27
|
include Spree::Metadata
|
28
28
|
if defined?(Spree::Webhooks)
|
29
29
|
include Spree::Webhooks::HasWebhooks
|
@@ -415,7 +415,7 @@ module Spree
|
|
415
415
|
|
416
416
|
def available_payment_methods(store = nil)
|
417
417
|
if store.present?
|
418
|
-
|
418
|
+
Spree::Deprecation.warn('The `store` parameter is deprecated and will be removed in Spree 5. Order is already associated with Store')
|
419
419
|
end
|
420
420
|
|
421
421
|
@available_payment_methods ||= collect_payment_methods(store)
|
@@ -449,7 +449,7 @@ module Spree
|
|
449
449
|
end
|
450
450
|
|
451
451
|
def empty!
|
452
|
-
|
452
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
453
453
|
`Order#empty!` is deprecated and will be removed in Spree 5.0.
|
454
454
|
Please use `Spree::Cart::Empty.call(order: order)` instead.
|
455
455
|
DEPRECATION
|
@@ -647,7 +647,7 @@ module Spree
|
|
647
647
|
end
|
648
648
|
|
649
649
|
def validate_payments_attributes(attributes)
|
650
|
-
|
650
|
+
Spree::Deprecation.warn('`Order#validate_payments_attributes` is deprecated and will be removed in Spree 5')
|
651
651
|
|
652
652
|
# Ensure the payment methods specified are allowed for this user
|
653
653
|
payment_method_ids = available_payment_methods.map(&:id).map(&:to_s)
|
@@ -745,7 +745,7 @@ module Spree
|
|
745
745
|
|
746
746
|
def collect_payment_methods(store = nil)
|
747
747
|
if store.present?
|
748
|
-
|
748
|
+
Spree::Deprecation.warn('The `store` parameter is deprecated and will be removed in Spree 5. Order is already associated with Store')
|
749
749
|
end
|
750
750
|
store ||= self.store
|
751
751
|
|
data/app/models/spree/payment.rb
CHANGED
@@ -3,9 +3,9 @@ require_dependency 'spree/payment/processing'
|
|
3
3
|
module Spree
|
4
4
|
class Payment < Spree::Base
|
5
5
|
include Spree::Core::NumberGenerator.new(prefix: 'P', letters: true, length: 7)
|
6
|
-
include
|
7
|
-
include
|
8
|
-
include
|
6
|
+
include NumberIdentifier
|
7
|
+
include NumberAsParam
|
8
|
+
include Metadata
|
9
9
|
if defined?(Spree::Webhooks)
|
10
10
|
include Spree::Webhooks::HasWebhooks
|
11
11
|
end
|
@@ -222,18 +222,10 @@ module Spree
|
|
222
222
|
|
223
223
|
def validate_source
|
224
224
|
if source && !source.valid?
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
add_source_error(err[:field], err[:message])
|
230
|
-
end
|
231
|
-
else
|
232
|
-
source.errors.messages.each do |field, error|
|
233
|
-
next if field.blank? || error.empty?
|
234
|
-
|
235
|
-
add_source_error(field, error.first)
|
236
|
-
end
|
225
|
+
source.errors.map { |error| { field: error.attribute, message: error&.message } }.each do |err|
|
226
|
+
next if err[:field].blank? || err[:message].blank?
|
227
|
+
|
228
|
+
add_source_error(err[:field], err[:message])
|
237
229
|
end
|
238
230
|
end
|
239
231
|
!errors.present?
|
@@ -1,5 +1,9 @@
|
|
1
1
|
class Spree::Preference < Spree::Base
|
2
|
-
|
2
|
+
if Rails::VERSION::STRING >= '7.1.0'
|
3
|
+
serialize :value, coder: YAML
|
4
|
+
else
|
5
|
+
serialize :value
|
6
|
+
end
|
3
7
|
|
4
8
|
validates :key, presence: true,
|
5
9
|
uniqueness: { case_sensitive: false, allow_blank: true, scope: spree_base_uniqueness_scope }
|
data/app/models/spree/price.rb
CHANGED
data/app/models/spree/product.rb
CHANGED
@@ -21,13 +21,12 @@
|
|
21
21
|
module Spree
|
22
22
|
class Product < Spree::Base
|
23
23
|
extend FriendlyId
|
24
|
-
include
|
25
|
-
include
|
26
|
-
include
|
27
|
-
include
|
28
|
-
include
|
29
|
-
include
|
30
|
-
|
24
|
+
include ProductScopes
|
25
|
+
include MultiStoreResource
|
26
|
+
include TranslatableResource
|
27
|
+
include TranslatableResourceSlug
|
28
|
+
include MemoizedData
|
29
|
+
include Metadata
|
31
30
|
if defined?(Spree::Webhooks)
|
32
31
|
include Spree::Webhooks::HasWebhooks
|
33
32
|
end
|
@@ -508,18 +507,10 @@ module Spree
|
|
508
507
|
# We call master.default_price here to ensure price is initialized.
|
509
508
|
# Required to avoid Variant#check_price validation failing on create.
|
510
509
|
unless master.default_price && master.valid?
|
511
|
-
|
512
|
-
|
513
|
-
next if err[:field].blank? || err[:message].blank?
|
514
|
-
|
515
|
-
errors.add(err[:field], err[:message])
|
516
|
-
end
|
517
|
-
else
|
518
|
-
master.errors.messages.each do |field, error|
|
519
|
-
next if field.blank? || error.empty?
|
510
|
+
master.errors.map { |error| { field: error.attribute, message: error&.message } }.each do |err|
|
511
|
+
next if err[:field].blank? || err[:message].blank?
|
520
512
|
|
521
|
-
|
522
|
-
end
|
513
|
+
errors.add(err[:field], err[:message])
|
523
514
|
end
|
524
515
|
end
|
525
516
|
end
|
@@ -33,7 +33,7 @@ module Spree
|
|
33
33
|
delegate :name, :presentation, to: :property, prefix: true, allow_nil: true
|
34
34
|
|
35
35
|
def property_name=(name)
|
36
|
-
|
36
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
37
37
|
`ProductProperty#property_name=` is deprecated and will be removed in Spree 5.0.
|
38
38
|
DEPRECATION
|
39
39
|
if name.present?
|
@@ -1,8 +1,8 @@
|
|
1
1
|
module Spree
|
2
2
|
class Property < Spree::Base
|
3
3
|
include Spree::FilterParam
|
4
|
-
include
|
5
|
-
include
|
4
|
+
include Metadata
|
5
|
+
include TranslatableResource
|
6
6
|
if defined?(Spree::Webhooks)
|
7
7
|
include Spree::Webhooks::HasWebhooks
|
8
8
|
end
|
data/app/models/spree/refund.rb
CHANGED
@@ -62,7 +62,11 @@ module Spree
|
|
62
62
|
scope :exchange_required, -> { eager_load(:exchange_inventory_units).where(spree_inventory_units: { original_return_item_id: nil }).distinct }
|
63
63
|
scope :resellable, -> { where resellable: true }
|
64
64
|
|
65
|
-
|
65
|
+
if Rails::VERSION::STRING >= '7.1.0'
|
66
|
+
serialize :acceptance_status_errors, coder: YAML
|
67
|
+
else
|
68
|
+
serialize :acceptance_status_errors
|
69
|
+
end
|
66
70
|
|
67
71
|
delegate :eligible_for_return?, :requires_manual_intervention?, to: :validator
|
68
72
|
delegate :variant, to: :inventory_unit
|