spree_core 4.0.7 → 4.1.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/spree.js +0 -1
- data/app/finders/spree/products/find.rb +19 -6
- data/app/finders/spree/variants/option_types_finder.rb +21 -0
- data/app/finders/spree/variants/visible_finder.rb +22 -0
- data/app/helpers/spree/base_helper.rb +48 -18
- data/app/helpers/spree/products_helper.rb +76 -8
- data/app/models/concerns/spree/user_methods.rb +2 -2
- data/app/models/spree/app_dependencies.rb +1 -7
- data/app/models/spree/credit_card.rb +4 -5
- data/app/models/spree/image.rb +52 -3
- data/app/models/spree/image/configuration/active_storage.rb +9 -1
- data/app/models/spree/line_item.rb +1 -2
- data/app/models/spree/option_type.rb +4 -0
- data/app/models/spree/order.rb +12 -12
- data/app/models/spree/order/address_book.rb +20 -7
- data/app/models/spree/payment_method.rb +8 -0
- data/app/models/spree/preferences/preferable.rb +1 -1
- data/app/models/spree/product.rb +7 -6
- data/app/models/spree/promotion/actions/create_item_adjustments.rb +1 -1
- data/app/models/spree/promotion_handler/coupon.rb +2 -1
- data/app/models/spree/return_item/eligibility_validator/base_validator.rb +1 -1
- data/app/models/spree/store.rb +2 -1
- data/app/models/spree/taxon.rb +2 -6
- data/app/models/spree/variant.rb +2 -14
- data/app/models/spree/zone.rb +6 -3
- data/app/presenters/spree/product_summary_presenter.rb +26 -0
- data/app/presenters/spree/variant_presenter.rb +69 -0
- data/app/presenters/spree/variants/option_types_presenter.rb +74 -0
- data/app/presenters/spree/variants/options_presenter.rb +49 -0
- data/app/services/spree/checkout/get_shipping_rates.rb +10 -7
- data/app/services/spree/checkout/update.rb +2 -13
- data/config/locales/en.yml +156 -14
- data/db/default/spree/stores.rb +8 -3
- data/db/migrate/20140309033438_create_store_from_preferences.rb +8 -4
- data/db/migrate/20191005121504_add_store_id_to_payment_methods.rb +7 -0
- data/db/migrate/20191016134113_add_deafult_value_for_store_default_currency.rb +5 -0
- data/db/migrate/20200102141311_add_social_to_spree_stores.rb +7 -0
- data/lib/generators/spree/dummy/dummy_generator.rb +2 -1
- data/lib/generators/spree/dummy/templates/initializers/bullet.rb +5 -0
- data/lib/generators/spree/install/install_generator.rb +13 -5
- data/lib/generators/spree/install/templates/config/initializers/spree.rb +0 -1
- data/lib/generators/spree/install/templates/config/initializers/spree_storefront.rb +1 -0
- data/lib/generators/spree/install/templates/config/spree_storefront.yml +67 -0
- data/lib/spree/core.rb +0 -1
- data/lib/spree/core/controller_helpers/order.rb +12 -6
- data/lib/spree/core/controller_helpers/store.rb +2 -2
- data/lib/spree/core/search/base.rb +59 -22
- data/lib/spree/core/version.rb +1 -3
- data/lib/spree/money.rb +8 -1
- data/lib/spree/permitted_attributes.rb +3 -2
- data/lib/spree/testing_support/capybara_ext.rb +0 -45
- data/lib/spree/testing_support/common_rake.rb +1 -1
- data/lib/spree/testing_support/factories/store_factory.rb +3 -0
- data/lib/spree/testing_support/order_walkthrough.rb +7 -3
- data/spree_core.gemspec +8 -14
- metadata +45 -24
- data/app/finders/spree/addresses/find.rb +0 -17
- data/app/services/spree/account/addresses/base.rb +0 -39
- data/app/services/spree/account/addresses/create.rb +0 -18
- data/app/services/spree/account/addresses/update.rb +0 -18
- data/lib/spree/database_type_utilities.rb +0 -12
@@ -39,7 +39,7 @@ module Spree
|
|
39
39
|
]
|
40
40
|
|
41
41
|
@@checkout_attributes = [
|
42
|
-
:coupon_code, :email, :shipping_method_id, :special_instructions, :use_billing,
|
42
|
+
:coupon_code, :email, :shipping_method_id, :special_instructions, :use_billing,
|
43
43
|
:user_id, :bill_address_id, :ship_address_id
|
44
44
|
]
|
45
45
|
|
@@ -97,7 +97,8 @@ module Spree
|
|
97
97
|
]
|
98
98
|
|
99
99
|
@@store_attributes = [:name, :url, :seo_title, :code, :meta_keywords,
|
100
|
-
:meta_description, :default_currency, :mail_from_address
|
100
|
+
:meta_description, :default_currency, :mail_from_address,
|
101
|
+
:facebook, :twitter, :instagram]
|
101
102
|
|
102
103
|
@@store_credit_attributes = %i[amount currency category_id memo]
|
103
104
|
|
@@ -32,51 +32,6 @@ module CapybaraExt
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
def select2_search(value, options)
|
36
|
-
options[:from] = select2_from_label(options[:from])
|
37
|
-
targetted_select2_search(value, options)
|
38
|
-
end
|
39
|
-
|
40
|
-
def targetted_select2_search(value, options)
|
41
|
-
select2_el = find(:css, options[:from])
|
42
|
-
select2_el.click
|
43
|
-
page.document.find('.select2-search input.select2-input,
|
44
|
-
.select2-search-field input.select2-input.select2-focused').send_keys(value)
|
45
|
-
select_select2_result(value)
|
46
|
-
end
|
47
|
-
|
48
|
-
def select2(value, options)
|
49
|
-
options[:from] = select2_from_label(options[:from])
|
50
|
-
targetted_select2(value, options)
|
51
|
-
end
|
52
|
-
|
53
|
-
def select2_from_label(from)
|
54
|
-
label = find(:label, from, class: '!select2-offscreen')
|
55
|
-
within label.first(:xpath, './/..') do
|
56
|
-
"##{find('.select2-container')['id']}"
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
def select2_no_label(value, options = {})
|
61
|
-
raise "Must pass a hash containing 'from'" if !options.is_a?(Hash) || !options.key?(:from)
|
62
|
-
|
63
|
-
placeholder = options[:from]
|
64
|
-
click_link placeholder
|
65
|
-
|
66
|
-
select_select2_result(value)
|
67
|
-
end
|
68
|
-
|
69
|
-
def targetted_select2(value, options)
|
70
|
-
# find select2 element and click it
|
71
|
-
find(options[:from]).find('a').click
|
72
|
-
select_select2_result(value)
|
73
|
-
end
|
74
|
-
|
75
|
-
def select_select2_result(value)
|
76
|
-
# results are in a div appended to the end of the document
|
77
|
-
page.document.find('div.select2-result-label', match: :first, text: %r{#{Regexp.escape(value)}}i).click
|
78
|
-
end
|
79
|
-
|
80
35
|
# arg delay in seconds
|
81
36
|
def wait_for_ajax(delay = Capybara.default_max_wait_time)
|
82
37
|
Timeout.timeout(delay) do
|
@@ -15,7 +15,7 @@ namespace :common do
|
|
15
15
|
Rails.env = 'test'
|
16
16
|
|
17
17
|
Spree::DummyGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", '--quiet']
|
18
|
-
Spree::InstallGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", '--auto-accept', '--migrate=false', '--seed=false', '--sample=false', '--quiet', '--
|
18
|
+
Spree::InstallGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", '--auto-accept', '--migrate=false', '--seed=false', '--sample=false', '--quiet', '--copy_storefront=false', "--user_class=#{args[:user_class]}"]
|
19
19
|
|
20
20
|
puts 'Setting up dummy database...'
|
21
21
|
system("bundle exec rake db:drop db:create > #{File::NULL}")
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class OrderWalkthrough
|
2
2
|
def self.up_to(state)
|
3
3
|
# A default store must exist to provide store settings
|
4
|
-
FactoryBot.create(:store
|
4
|
+
store = Spree::Store.default || FactoryBot.create(:store, default: true)
|
5
5
|
|
6
6
|
# A payment method must exist for an order to proceed through the Address state
|
7
7
|
unless Spree::PaymentMethod.exists?
|
@@ -18,7 +18,7 @@ class OrderWalkthrough
|
|
18
18
|
unless Spree::ShippingMethod.exists?
|
19
19
|
FactoryBot.create(:shipping_method).tap do |sm|
|
20
20
|
sm.calculator.preferred_amount = 10
|
21
|
-
sm.calculator.preferred_currency =
|
21
|
+
sm.calculator.preferred_currency = store.default_currency
|
22
22
|
sm.calculator.save
|
23
23
|
end
|
24
24
|
end
|
@@ -53,7 +53,11 @@ class OrderWalkthrough
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def self.payment(order)
|
56
|
-
|
56
|
+
FactoryBot.create :payment,
|
57
|
+
order: order,
|
58
|
+
payment_method: Spree::PaymentMethod.first,
|
59
|
+
amount: order.total
|
60
|
+
|
57
61
|
# TODO: maybe look at some way of making this payment_state change automatic
|
58
62
|
order.payment_state = 'paid'
|
59
63
|
order.next!
|
data/spree_core.gemspec
CHANGED
@@ -6,23 +6,17 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.platform = Gem::Platform::RUBY
|
7
7
|
s.name = 'spree_core'
|
8
8
|
s.version = Spree.version
|
9
|
-
s.author = 'Sean Schofield'
|
10
|
-
s.email = 'sean@spreecommerce.com'
|
11
9
|
s.summary = 'The bare bones necessary for Spree.'
|
12
10
|
s.description = 'The bare bones necessary for Spree.'
|
13
|
-
s.homepage = 'http://spreecommerce.org'
|
14
|
-
s.license = 'BSD-3-Clause'
|
15
|
-
|
16
|
-
s.metadata = {
|
17
|
-
"bug_tracker_uri" => "https://github.com/spree/spree/issues",
|
18
|
-
"changelog_uri" => "https://github.com/spree/spree/releases/tag/v#{s.version}",
|
19
|
-
"documentation_uri" => "https://guides.spreecommerce.org/",
|
20
|
-
"source_code_uri" => "https://github.com/spree/spree/tree/v#{s.version}",
|
21
|
-
}
|
22
11
|
|
23
12
|
s.required_ruby_version = '>= 2.5.0'
|
24
13
|
s.required_rubygems_version = '>= 1.8.23'
|
25
14
|
|
15
|
+
s.author = 'Sean Schofield'
|
16
|
+
s.email = 'sean@spreecommerce.com'
|
17
|
+
s.homepage = 'http://spreecommerce.org'
|
18
|
+
s.license = 'BSD-3-Clause'
|
19
|
+
|
26
20
|
s.files = `git ls-files`.split("\n").reject { |f| f.match(/^spec/) && !f.match(/^spec\/fixtures/) }
|
27
21
|
s.require_path = 'lib'
|
28
22
|
|
@@ -34,7 +28,7 @@ Gem::Specification.new do |s|
|
|
34
28
|
s.add_dependency 'ffaker', '~> 2.9'
|
35
29
|
s.add_dependency 'friendly_id', '>= 5.2.1', '< 5.4.0'
|
36
30
|
s.add_dependency 'highline', '~> 2.0.0' # Necessary for the install generator
|
37
|
-
s.add_dependency 'kaminari', '
|
31
|
+
s.add_dependency 'kaminari', '>= 1.0.1', '< 1.2.0'
|
38
32
|
s.add_dependency 'money', '~> 6.13'
|
39
33
|
s.add_dependency 'monetize', '~> 1.9'
|
40
34
|
s.add_dependency 'paranoia', '~> 2.4.2'
|
@@ -45,10 +39,10 @@ Gem::Specification.new do |s|
|
|
45
39
|
s.add_dependency 'state_machines-activerecord', '~> 0.6'
|
46
40
|
s.add_dependency 'state_machines-activemodel', '~> 0.7'
|
47
41
|
s.add_dependency 'stringex'
|
48
|
-
s.add_dependency 'twitter_cldr', '
|
42
|
+
s.add_dependency 'twitter_cldr', '>= 4.3', '< 6.0'
|
49
43
|
s.add_dependency 'sprockets', '~> 3.7'
|
50
44
|
s.add_dependency 'sprockets-rails'
|
51
|
-
s.add_dependency 'mini_magick', '
|
45
|
+
s.add_dependency 'mini_magick', '>= 4.9.4', '< 4.11.0'
|
52
46
|
s.add_dependency 'image_processing', '~> 1.2'
|
53
47
|
|
54
48
|
s.add_development_dependency 'email_spec', '~> 2.2'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.1.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Schofield
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemerchant
|
@@ -144,16 +144,22 @@ dependencies:
|
|
144
144
|
name: kaminari
|
145
145
|
requirement: !ruby/object:Gem::Requirement
|
146
146
|
requirements:
|
147
|
-
- - "
|
147
|
+
- - ">="
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 1.0.1
|
150
|
+
- - "<"
|
148
151
|
- !ruby/object:Gem::Version
|
149
|
-
version: 1.2.
|
152
|
+
version: 1.2.0
|
150
153
|
type: :runtime
|
151
154
|
prerelease: false
|
152
155
|
version_requirements: !ruby/object:Gem::Requirement
|
153
156
|
requirements:
|
154
|
-
- - "
|
157
|
+
- - ">="
|
155
158
|
- !ruby/object:Gem::Version
|
156
|
-
version: 1.
|
159
|
+
version: 1.0.1
|
160
|
+
- - "<"
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: 1.2.0
|
157
163
|
- !ruby/object:Gem::Dependency
|
158
164
|
name: money
|
159
165
|
requirement: !ruby/object:Gem::Requirement
|
@@ -298,16 +304,22 @@ dependencies:
|
|
298
304
|
name: twitter_cldr
|
299
305
|
requirement: !ruby/object:Gem::Requirement
|
300
306
|
requirements:
|
301
|
-
- - "
|
307
|
+
- - ">="
|
302
308
|
- !ruby/object:Gem::Version
|
303
309
|
version: '4.3'
|
310
|
+
- - "<"
|
311
|
+
- !ruby/object:Gem::Version
|
312
|
+
version: '6.0'
|
304
313
|
type: :runtime
|
305
314
|
prerelease: false
|
306
315
|
version_requirements: !ruby/object:Gem::Requirement
|
307
316
|
requirements:
|
308
|
-
- - "
|
317
|
+
- - ">="
|
309
318
|
- !ruby/object:Gem::Version
|
310
319
|
version: '4.3'
|
320
|
+
- - "<"
|
321
|
+
- !ruby/object:Gem::Version
|
322
|
+
version: '6.0'
|
311
323
|
- !ruby/object:Gem::Dependency
|
312
324
|
name: sprockets
|
313
325
|
requirement: !ruby/object:Gem::Requirement
|
@@ -340,16 +352,22 @@ dependencies:
|
|
340
352
|
name: mini_magick
|
341
353
|
requirement: !ruby/object:Gem::Requirement
|
342
354
|
requirements:
|
343
|
-
- - "
|
355
|
+
- - ">="
|
344
356
|
- !ruby/object:Gem::Version
|
345
357
|
version: 4.9.4
|
358
|
+
- - "<"
|
359
|
+
- !ruby/object:Gem::Version
|
360
|
+
version: 4.11.0
|
346
361
|
type: :runtime
|
347
362
|
prerelease: false
|
348
363
|
version_requirements: !ruby/object:Gem::Requirement
|
349
364
|
requirements:
|
350
|
-
- - "
|
365
|
+
- - ">="
|
351
366
|
- !ruby/object:Gem::Version
|
352
367
|
version: 4.9.4
|
368
|
+
- - "<"
|
369
|
+
- !ruby/object:Gem::Version
|
370
|
+
version: 4.11.0
|
353
371
|
- !ruby/object:Gem::Dependency
|
354
372
|
name: image_processing
|
355
373
|
requirement: !ruby/object:Gem::Requirement
|
@@ -394,7 +412,6 @@ files:
|
|
394
412
|
- app/assets/images/noimage/small.png
|
395
413
|
- app/assets/javascripts/spree.js
|
396
414
|
- app/controllers/spree/base_controller.rb
|
397
|
-
- app/finders/spree/addresses/find.rb
|
398
415
|
- app/finders/spree/countries/find.rb
|
399
416
|
- app/finders/spree/credit_cards/find.rb
|
400
417
|
- app/finders/spree/line_items/find_by_variant.rb
|
@@ -402,6 +419,8 @@ files:
|
|
402
419
|
- app/finders/spree/orders/find_current.rb
|
403
420
|
- app/finders/spree/products/find.rb
|
404
421
|
- app/finders/spree/taxons/find.rb
|
422
|
+
- app/finders/spree/variants/option_types_finder.rb
|
423
|
+
- app/finders/spree/variants/visible_finder.rb
|
405
424
|
- app/helpers/spree/base_helper.rb
|
406
425
|
- app/helpers/spree/products_helper.rb
|
407
426
|
- app/mailers/spree/base_mailer.rb
|
@@ -601,9 +620,10 @@ files:
|
|
601
620
|
- app/models/spree/zone.rb
|
602
621
|
- app/models/spree/zone_member.rb
|
603
622
|
- app/paginators/spree/shared/paginate.rb
|
604
|
-
- app/
|
605
|
-
- app/
|
606
|
-
- app/
|
623
|
+
- app/presenters/spree/product_summary_presenter.rb
|
624
|
+
- app/presenters/spree/variant_presenter.rb
|
625
|
+
- app/presenters/spree/variants/option_types_presenter.rb
|
626
|
+
- app/presenters/spree/variants/options_presenter.rb
|
607
627
|
- app/services/spree/cart/add_item.rb
|
608
628
|
- app/services/spree/cart/create.rb
|
609
629
|
- app/services/spree/cart/estimate_shipping_rates.rb
|
@@ -922,6 +942,9 @@ files:
|
|
922
942
|
- db/migrate/20181024100754_add_deleted_at_to_spree_credit_cards.rb
|
923
943
|
- db/migrate/20190305121659_add_iso_and_iso3_validation_on_presence_and_uniqueness.rb
|
924
944
|
- db/migrate/20190523092729_add_user_id_and_deleted_at_to_spree_addresses.rb
|
945
|
+
- db/migrate/20191005121504_add_store_id_to_payment_methods.rb
|
946
|
+
- db/migrate/20191016134113_add_deafult_value_for_store_default_currency.rb
|
947
|
+
- db/migrate/20200102141311_add_social_to_spree_stores.rb
|
925
948
|
- db/seeds.rb
|
926
949
|
- lib/friendly_id/slug_rails5_patch.rb
|
927
950
|
- lib/generators/spree/custom_user/custom_user_generator.rb
|
@@ -929,6 +952,7 @@ files:
|
|
929
952
|
- lib/generators/spree/custom_user/templates/initializer.rb.tt
|
930
953
|
- lib/generators/spree/custom_user/templates/migration.rb.tt
|
931
954
|
- lib/generators/spree/dummy/dummy_generator.rb
|
955
|
+
- lib/generators/spree/dummy/templates/initializers/bullet.rb
|
932
956
|
- lib/generators/spree/dummy/templates/initializers/devise.rb
|
933
957
|
- lib/generators/spree/dummy/templates/rails/application.rb
|
934
958
|
- lib/generators/spree/dummy/templates/rails/boot.rb
|
@@ -941,6 +965,8 @@ files:
|
|
941
965
|
- lib/generators/spree/dummy_model/templates/model.rb.tt
|
942
966
|
- lib/generators/spree/install/install_generator.rb
|
943
967
|
- lib/generators/spree/install/templates/config/initializers/spree.rb
|
968
|
+
- lib/generators/spree/install/templates/config/initializers/spree_storefront.rb
|
969
|
+
- lib/generators/spree/install/templates/config/spree_storefront.yml
|
944
970
|
- lib/generators/spree/install/templates/vendor/assets/javascripts/spree/backend/all.js
|
945
971
|
- lib/generators/spree/install/templates/vendor/assets/javascripts/spree/frontend/all.js
|
946
972
|
- lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/backend/all.css
|
@@ -969,7 +995,6 @@ files:
|
|
969
995
|
- lib/spree/core/search/base.rb
|
970
996
|
- lib/spree/core/token_generator.rb
|
971
997
|
- lib/spree/core/version.rb
|
972
|
-
- lib/spree/database_type_utilities.rb
|
973
998
|
- lib/spree/dependencies_helper.rb
|
974
999
|
- lib/spree/i18n.rb
|
975
1000
|
- lib/spree/i18n/base.rb
|
@@ -1061,12 +1086,8 @@ files:
|
|
1061
1086
|
homepage: http://spreecommerce.org
|
1062
1087
|
licenses:
|
1063
1088
|
- BSD-3-Clause
|
1064
|
-
metadata:
|
1065
|
-
|
1066
|
-
changelog_uri: https://github.com/spree/spree/releases/tag/v4.0.7
|
1067
|
-
documentation_uri: https://guides.spreecommerce.org/
|
1068
|
-
source_code_uri: https://github.com/spree/spree/tree/v4.0.7
|
1069
|
-
post_install_message:
|
1089
|
+
metadata: {}
|
1090
|
+
post_install_message:
|
1070
1091
|
rdoc_options: []
|
1071
1092
|
require_paths:
|
1072
1093
|
- lib
|
@@ -1081,8 +1102,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1081
1102
|
- !ruby/object:Gem::Version
|
1082
1103
|
version: 1.8.23
|
1083
1104
|
requirements: []
|
1084
|
-
rubygems_version: 3.
|
1085
|
-
signing_key:
|
1105
|
+
rubygems_version: 3.0.3
|
1106
|
+
signing_key:
|
1086
1107
|
specification_version: 4
|
1087
1108
|
summary: The bare bones necessary for Spree.
|
1088
1109
|
test_files: []
|
@@ -1,39 +0,0 @@
|
|
1
|
-
module Spree
|
2
|
-
module Account
|
3
|
-
module Addresses
|
4
|
-
class Base
|
5
|
-
prepend Spree::ServiceModule::Base
|
6
|
-
|
7
|
-
private
|
8
|
-
|
9
|
-
attr_accessor :country
|
10
|
-
|
11
|
-
def fill_country_and_state_ids(params)
|
12
|
-
replace_country_iso_with_id(params)
|
13
|
-
fill_state_id(params)
|
14
|
-
end
|
15
|
-
|
16
|
-
def replace_country_iso_with_id(params)
|
17
|
-
iso = params[:country_iso]
|
18
|
-
return params unless iso.present?
|
19
|
-
|
20
|
-
country = Spree::Country.by_iso(iso)
|
21
|
-
params[:country_id] = country&.id
|
22
|
-
params.delete(:country_iso)
|
23
|
-
params
|
24
|
-
end
|
25
|
-
|
26
|
-
def fill_state_id(params)
|
27
|
-
state_name = params[:state_name]
|
28
|
-
return params unless state_name.present?
|
29
|
-
|
30
|
-
country ||= Spree::Country.find(params[:country_id]) if params[:country_id].present?
|
31
|
-
return params unless country
|
32
|
-
|
33
|
-
params[:state_id] = country.states.find_by(name: state_name)&.id
|
34
|
-
params
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module Spree
|
2
|
-
module Account
|
3
|
-
module Addresses
|
4
|
-
class Create < ::Spree::Account::Addresses::Base
|
5
|
-
def call(user:, address_params:)
|
6
|
-
fill_country_and_state_ids(address_params)
|
7
|
-
|
8
|
-
address = user.addresses.new(address_params)
|
9
|
-
if address.save
|
10
|
-
success(address)
|
11
|
-
else
|
12
|
-
failure(address)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module Spree
|
2
|
-
module Account
|
3
|
-
module Addresses
|
4
|
-
class Update < ::Spree::Account::Addresses::Base
|
5
|
-
def call(address:, address_params:)
|
6
|
-
address_params[:country_id] ||= address.country_id
|
7
|
-
fill_country_and_state_ids(address_params)
|
8
|
-
|
9
|
-
if address.update(address_params)
|
10
|
-
success(address)
|
11
|
-
else
|
12
|
-
failure(address)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|