spree_core 4.2.0.rc1 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree.js +16 -0
  3. data/app/controllers/spree/base_controller.rb +2 -3
  4. data/app/controllers/spree/errors_controller.rb +11 -0
  5. data/app/finders/spree/addresses/find.rb +1 -12
  6. data/app/finders/spree/base_finder.rb +14 -0
  7. data/app/finders/spree/countries/find.rb +11 -3
  8. data/app/finders/spree/credit_cards/find.rb +2 -2
  9. data/app/finders/spree/orders/find_current.rb +2 -2
  10. data/app/finders/spree/products/find.rb +14 -3
  11. data/app/helpers/spree/base_helper.rb +4 -9
  12. data/app/helpers/spree/currency_helper.rb +24 -0
  13. data/app/helpers/spree/locale_helper.rb +31 -0
  14. data/app/helpers/spree/products_helper.rb +37 -12
  15. data/app/mailers/spree/base_mailer.rb +4 -4
  16. data/app/mailers/spree/order_mailer.rb +3 -3
  17. data/app/mailers/spree/reimbursement_mailer.rb +1 -1
  18. data/app/mailers/spree/shipment_mailer.rb +1 -1
  19. data/app/models/concerns/spree/default_price.rb +1 -5
  20. data/app/models/concerns/spree/product_scopes.rb +1 -1
  21. data/app/models/concerns/spree/user_methods.rb +2 -2
  22. data/app/models/concerns/spree/user_payment_source.rb +1 -1
  23. data/app/models/spree/ability.rb +45 -34
  24. data/app/models/spree/address.rb +4 -0
  25. data/app/models/spree/adjustment.rb +1 -0
  26. data/app/models/spree/app_configuration.rb +2 -3
  27. data/app/models/spree/app_dependencies.rb +6 -2
  28. data/app/models/spree/base.rb +5 -0
  29. data/app/models/spree/credit_card.rb +4 -0
  30. data/app/models/spree/fulfilment_changer.rb +58 -16
  31. data/app/models/spree/image.rb +14 -14
  32. data/app/models/spree/inventory_unit.rb +2 -7
  33. data/app/models/spree/line_item.rb +7 -15
  34. data/app/models/spree/log_entry.rb +1 -1
  35. data/app/models/spree/option_type.rb +2 -0
  36. data/app/models/spree/order.rb +5 -4
  37. data/app/models/spree/order/address_book.rb +7 -20
  38. data/app/models/spree/payment.rb +18 -4
  39. data/app/models/spree/payment/processing.rb +2 -2
  40. data/app/models/spree/payment_method.rb +3 -3
  41. data/app/models/spree/price.rb +2 -7
  42. data/app/models/spree/product.rb +41 -17
  43. data/app/models/spree/promotion.rb +4 -15
  44. data/app/models/spree/promotion/rules/option_value.rb +1 -1
  45. data/app/models/spree/promotion/rules/product.rb +2 -1
  46. data/app/models/spree/promotion/rules/user.rb +2 -1
  47. data/app/models/spree/promotion_handler/coupon.rb +1 -2
  48. data/app/models/spree/refund.rb +2 -2
  49. data/app/models/spree/return_item/eligibility_validator/default.rb +0 -2
  50. data/app/models/spree/return_item/eligibility_validator/{r_m_a_required.rb → rma_required.rb} +0 -0
  51. data/app/models/spree/shipment.rb +1 -1
  52. data/app/models/spree/shipping_method.rb +1 -5
  53. data/app/models/spree/shipping_rate.rb +2 -11
  54. data/app/models/spree/stock/availability_validator.rb +3 -4
  55. data/app/models/spree/stock_item.rb +1 -5
  56. data/app/models/spree/store.rb +59 -1
  57. data/app/models/spree/store_credit.rb +1 -1
  58. data/app/models/spree/variant.rb +9 -16
  59. data/app/models/spree/zone.rb +17 -4
  60. data/app/paginators/spree/shared/paginate.rb +8 -1
  61. data/app/presenters/spree/variant_presenter.rb +2 -5
  62. data/app/services/spree/account/addresses/create.rb +6 -1
  63. data/app/services/spree/account/addresses/{base.rb → helper.rb} +1 -3
  64. data/app/services/spree/account/addresses/update.rb +6 -1
  65. data/app/services/spree/build_localized_redirect_url.rb +101 -0
  66. data/app/services/spree/cart/estimate_shipping_rates.rb +1 -1
  67. data/app/services/spree/compare_line_items.rb +4 -2
  68. data/app/sorters/spree/base_sorter.rb +35 -0
  69. data/app/sorters/spree/orders/sort.rb +1 -37
  70. data/app/sorters/spree/products/sort.rb +9 -32
  71. data/app/validators/email_validator.rb +1 -1
  72. data/app/views/spree/errors/forbidden.html.erb +0 -0
  73. data/app/views/spree/errors/unauthorized.html.erb +0 -0
  74. data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +13 -2
  75. data/app/views/spree/shared/_purchased_items_table.html.erb +15 -6
  76. data/app/views/spree/shared/purchased_items_table/_adjustment.html.erb +2 -2
  77. data/app/views/spree/shared/purchased_items_table/_line_item.html.erb +2 -2
  78. data/config/initializers/inflections.rb +3 -0
  79. data/config/initializers/rails61_fixes.rb +3 -0
  80. data/config/locales/en.yml +36 -63
  81. data/config/routes.rb +2 -1
  82. data/db/default/spree/stores.rb +1 -0
  83. data/db/default/spree/zones.rb +4 -1
  84. data/db/migrate/20130326175857_add_stock_location_to_rma.rb +1 -1
  85. data/db/migrate/20191017121054_add_supported_currencies_to_store.rb +1 -0
  86. data/db/migrate/20201006110150_add_checkout_zone_field_to_store.rb +12 -0
  87. data/db/migrate/20201012091259_add_filterable_column_to_spree_option_types.rb +10 -0
  88. data/db/migrate/20201127084048_add_default_country_kind_to_spree_zones.rb +5 -0
  89. data/db/migrate/20210112193440_remove_contact_email_from_spree_stores.rb +5 -0
  90. data/db/migrate/20210114182625_create_spree_payment_methods_stores.rb +10 -0
  91. data/db/migrate/20210114220232_migrate_data_payment_methods_stores.rb +15 -0
  92. data/db/migrate/20210117112551_remove_store_id_from_spree_payment_methods.rb +5 -0
  93. data/db/migrate/20210120142527_ensure_default_locale_in_spree_stores.rb +5 -0
  94. data/db/migrate/20210205211040_add_supported_locales_to_spree_stores.rb +11 -0
  95. data/db/migrate/20210215202602_migrate_spree_i18n_globalize_config.rb +22 -0
  96. data/lib/generators/spree/install/install_generator.rb +9 -6
  97. data/lib/spree/core.rb +2 -1
  98. data/lib/spree/core/controller_helpers/auth.rb +3 -1
  99. data/lib/spree/core/controller_helpers/common.rb +6 -8
  100. data/lib/spree/core/controller_helpers/currency.rb +47 -0
  101. data/lib/spree/core/controller_helpers/locale.rb +58 -0
  102. data/lib/spree/core/controller_helpers/search.rb +1 -1
  103. data/lib/spree/core/controller_helpers/store.rb +4 -16
  104. data/lib/spree/core/importer/order.rb +9 -9
  105. data/lib/spree/core/product_filters.rb +3 -3
  106. data/lib/spree/core/version.rb +1 -1
  107. data/lib/spree/i18n.rb +17 -19
  108. data/lib/spree/permitted_attributes.rb +2 -2
  109. data/lib/spree/service_module.rb +8 -4
  110. data/lib/spree/testing_support/capybara_config.rb +1 -1
  111. data/lib/spree/testing_support/common_rake.rb +1 -1
  112. data/lib/spree/testing_support/controller_requests.rb +10 -10
  113. data/lib/spree/testing_support/factories/promotion_factory.rb +29 -17
  114. data/lib/spree/testing_support/factories/shipment_factory.rb +7 -9
  115. data/lib/spree/testing_support/factories/stock_location_factory.rb +2 -2
  116. data/lib/spree/testing_support/factories/store_factory.rb +1 -0
  117. data/lib/spree/testing_support/factories/zone_factory.rb +16 -13
  118. data/lib/spree/testing_support/flatpickr_capybara.rb +101 -0
  119. data/lib/spree/testing_support/i18n.rb +1 -1
  120. data/lib/spree/testing_support/locale_helpers.rb +71 -0
  121. data/lib/spree/testing_support/next_instance_of.rb +38 -0
  122. data/lib/spree/testing_support/order_walkthrough.rb +8 -3
  123. data/lib/spree/testing_support/rspec_retry_config.rb +10 -0
  124. data/spree_core.gemspec +6 -5
  125. metadata +74 -27
  126. data/lib/generators/spree/install/templates/config/initializers/spree_storefront.rb +0 -1
  127. data/lib/generators/spree/install/templates/config/spree_storefront.yml +0 -67
  128. data/lib/spree/core/controller_helpers/currency_helpers.rb +0 -15
  129. data/lib/spree/i18n/base.rb +0 -17
  130. data/lib/spree/i18n/initializer.rb +0 -1
@@ -84,7 +84,7 @@ RSpec.configure do |config|
84
84
  end
85
85
 
86
86
  Spree.check_unused_translations
87
- if false && Spree.unused_translation_messages.any?
87
+ if Spree.unused_translation_messages.any?
88
88
  puts "\nThere are unused translations within Spree:"
89
89
  puts Spree.unused_translation_messages.sort
90
90
  exit(1)
@@ -0,0 +1,71 @@
1
+ module Spree
2
+ module TestingSupport
3
+ module LocaleHelpers
4
+ # rubocop:disable Layout/ArgumentAlignment
5
+ def add_french_locales
6
+ I18n.backend.store_translations(:fr,
7
+ spree: {
8
+ added_to_cart: 'Ajouté au panier avec succès!',
9
+ continue_shopping: 'Continuer vos achats',
10
+ choose_currency: 'Choisir la devise',
11
+ internationalization: 'Internationalisation',
12
+ i18n: {
13
+ language: 'Langue',
14
+ this_file_language: 'Français (FR)'
15
+ },
16
+ cart_page: {
17
+ header: 'Votre panier',
18
+ empty_info: 'Votre panier est vide',
19
+ add_promo_code: 'AJOUTER UN CODE PROMOTIONNEL',
20
+ checkout: 'Passer la commande',
21
+ product: 'articles',
22
+ quantity: 'quantité',
23
+ title: 'Panier',
24
+ change_quantity: 'Changer la quantité',
25
+ remove_from_cart: 'Retirer du panier'
26
+ },
27
+ shopping_cart: 'Panier',
28
+ cart: 'Panier',
29
+ close: 'Fermer',
30
+ search: 'Rechercher',
31
+ home: 'Accueil',
32
+ nav_bar: {
33
+ admin_panel: "Panneau d'administration",
34
+ close_menu: 'Fermer le menu',
35
+ go_to_previous_menu: 'Vers le menu précédent',
36
+ show_menu: 'Afficher le menu',
37
+ show_search: 'Afficher la recherche',
38
+ show_user_menu: 'Afficher le menu utilisateur',
39
+ change_country: 'Changer de pays',
40
+ desktop: 'Navigation sur le bureau',
41
+ mobile: 'Navigation mobile'
42
+ },
43
+ login: 'Connexion',
44
+ logout: 'Se déconnecter',
45
+ sign_up: 'Enregistrer',
46
+ email: 'Courriel',
47
+ password: 'Mot de passe',
48
+ remember_me: 'Se souvenir de moi',
49
+ my_account: 'Mon compte',
50
+ my_orders: 'Mes commandes',
51
+ logged_in_succesfully: 'Connexion réussie'
52
+ })
53
+ end
54
+ # rubocop:enable Layout/ArgumentAlignment
55
+
56
+ def open_i18n_menu
57
+ find('#header #internationalization-button-desktop').click
58
+ end
59
+
60
+ def switch_to_currency(currency)
61
+ open_i18n_menu
62
+ select currency, from: 'switch_to_currency'
63
+ end
64
+
65
+ def switch_to_locale(locale)
66
+ open_i18n_menu
67
+ select locale, from: 'Language'
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,38 @@
1
+ # Helper services with prepended ServiceModule
2
+ # https://gitlab.com/gitlab-org/gitlab-foss/-/issues/33587
3
+ #
4
+ # ex:
5
+ # expect_next_instance_of(service_class) do |instance|
6
+ # expect(instance).to receive(:call)
7
+ # end
8
+
9
+ module NextInstanceOf
10
+ def expect_next_instance_of(klass, *new_args)
11
+ stub_new(expect(klass), *new_args) do |expectation|
12
+ yield(expectation)
13
+ end
14
+ end
15
+
16
+ def allow_next_instance_of(klass, *new_args)
17
+ stub_new(allow(klass), *new_args) do |allowance|
18
+ yield(allowance)
19
+ end
20
+ end
21
+
22
+ private
23
+
24
+ def stub_new(target, *new_args)
25
+ receive_new = receive(:new)
26
+ receive_new.with(*new_args) if new_args.any?
27
+
28
+ target.to receive_new.and_wrap_original do |method, *original_args|
29
+ method.call(*original_args).tap do |instance|
30
+ yield(instance)
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+ RSpec.configure do |config|
37
+ config.include NextInstanceOf
38
+ end
@@ -1,11 +1,16 @@
1
1
  class OrderWalkthrough
2
2
  def self.up_to(state)
3
- # A default store must exist to provide store settings
4
- store = Spree::Store.default || FactoryBot.create(:store, default: true)
3
+ store = if Spree::Store.exists?
4
+ # Ensure the default store is used
5
+ Spree::Store.default || FactoryBot.create(:store, default: true)
6
+ else
7
+ # Create a default store
8
+ FactoryBot.create(:store, default: true)
9
+ end
5
10
 
6
11
  # A payment method must exist for an order to proceed through the Address state
7
12
  unless Spree::PaymentMethod.exists?
8
- FactoryBot.create(:check_payment_method)
13
+ FactoryBot.create(:check_payment_method, stores: [store])
9
14
  end
10
15
 
11
16
  # Need to create a valid zone too...
@@ -0,0 +1,10 @@
1
+ require 'rspec/retry'
2
+
3
+ RSpec.configure do |config|
4
+ config.verbose_retry = true
5
+ config.display_try_failure_messages = true
6
+
7
+ config.around :each, type: :feature do |ex|
8
+ ex.run_with_retry retry: ENV.fetch('RSPEC_RETRY_RETRY_COUNT', 3).to_i
9
+ end
10
+ end
data/spree_core.gemspec CHANGED
@@ -28,9 +28,9 @@ Gem::Specification.new do |s|
28
28
 
29
29
  s.add_dependency 'activemerchant', '~> 1.67'
30
30
  s.add_dependency 'acts_as_list', '~> 0.8'
31
- s.add_dependency 'awesome_nested_set', '>= 3.1.4', '< 3.3.0'
31
+ s.add_dependency 'awesome_nested_set', '>= 3.3.1', '< 4.0'
32
32
  s.add_dependency 'carmen', '>= 1.0', '< 1.2'
33
- s.add_dependency 'cancancan', '~> 3.0'
33
+ s.add_dependency 'cancancan', '~> 3.2'
34
34
  s.add_dependency 'ffaker', '~> 2.9'
35
35
  s.add_dependency 'friendly_id', '>= 5.2.1', '< 5.5.0'
36
36
  s.add_dependency 'highline', '~> 2.0.0' # Necessary for the install generator
@@ -39,16 +39,17 @@ Gem::Specification.new do |s|
39
39
  s.add_dependency 'monetize', '~> 1.9'
40
40
  s.add_dependency 'paranoia', '~> 2.4.2'
41
41
  s.add_dependency 'premailer-rails'
42
- s.add_dependency 'rails', '~> 6.0.0'
43
- s.add_dependency 'ransack', '~> 2.3.0'
42
+ s.add_dependency 'rails', '>= 6.0', '< 6.2'
43
+ s.add_dependency 'ransack', '>= 2.3', '< 2.5'
44
44
  s.add_dependency 'responders'
45
+ s.add_dependency 'rexml'
45
46
  s.add_dependency 'state_machines-activerecord', '~> 0.6'
46
47
  s.add_dependency 'state_machines-activemodel', '~> 0.7'
47
48
  s.add_dependency 'stringex'
48
49
  s.add_dependency 'twitter_cldr', '>= 4.3', '< 7.0'
49
50
  s.add_dependency 'sprockets', '~> 3.7'
50
51
  s.add_dependency 'sprockets-rails'
51
- s.add_dependency 'mini_magick', '>= 4.9.4', '< 4.11.0'
52
+ s.add_dependency 'mini_magick', '>= 4.9.4', '< 4.12.0'
52
53
  s.add_dependency 'image_processing', '~> 1.2'
53
54
  s.add_dependency 'active_storage_validations', '~> 0.9'
54
55
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0.rc1
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-10-15 00:00:00.000000000 Z
12
+ date: 2021-02-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemerchant
@@ -45,20 +45,20 @@ dependencies:
45
45
  requirements:
46
46
  - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: 3.1.4
48
+ version: 3.3.1
49
49
  - - "<"
50
50
  - !ruby/object:Gem::Version
51
- version: 3.3.0
51
+ version: '4.0'
52
52
  type: :runtime
53
53
  prerelease: false
54
54
  version_requirements: !ruby/object:Gem::Requirement
55
55
  requirements:
56
56
  - - ">="
57
57
  - !ruby/object:Gem::Version
58
- version: 3.1.4
58
+ version: 3.3.1
59
59
  - - "<"
60
60
  - !ruby/object:Gem::Version
61
- version: 3.3.0
61
+ version: '4.0'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: carmen
64
64
  requirement: !ruby/object:Gem::Requirement
@@ -85,14 +85,14 @@ dependencies:
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '3.0'
88
+ version: '3.2'
89
89
  type: :runtime
90
90
  prerelease: false
91
91
  version_requirements: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '3.0'
95
+ version: '3.2'
96
96
  - !ruby/object:Gem::Dependency
97
97
  name: ffaker
98
98
  requirement: !ruby/object:Gem::Requirement
@@ -215,30 +215,42 @@ dependencies:
215
215
  name: rails
216
216
  requirement: !ruby/object:Gem::Requirement
217
217
  requirements:
218
- - - "~>"
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ version: '6.0'
221
+ - - "<"
219
222
  - !ruby/object:Gem::Version
220
- version: 6.0.0
223
+ version: '6.2'
221
224
  type: :runtime
222
225
  prerelease: false
223
226
  version_requirements: !ruby/object:Gem::Requirement
224
227
  requirements:
225
- - - "~>"
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ version: '6.0'
231
+ - - "<"
226
232
  - !ruby/object:Gem::Version
227
- version: 6.0.0
233
+ version: '6.2'
228
234
  - !ruby/object:Gem::Dependency
229
235
  name: ransack
230
236
  requirement: !ruby/object:Gem::Requirement
231
237
  requirements:
232
- - - "~>"
238
+ - - ">="
239
+ - !ruby/object:Gem::Version
240
+ version: '2.3'
241
+ - - "<"
233
242
  - !ruby/object:Gem::Version
234
- version: 2.3.0
243
+ version: '2.5'
235
244
  type: :runtime
236
245
  prerelease: false
237
246
  version_requirements: !ruby/object:Gem::Requirement
238
247
  requirements:
239
- - - "~>"
248
+ - - ">="
240
249
  - !ruby/object:Gem::Version
241
- version: 2.3.0
250
+ version: '2.3'
251
+ - - "<"
252
+ - !ruby/object:Gem::Version
253
+ version: '2.5'
242
254
  - !ruby/object:Gem::Dependency
243
255
  name: responders
244
256
  requirement: !ruby/object:Gem::Requirement
@@ -253,6 +265,20 @@ dependencies:
253
265
  - - ">="
254
266
  - !ruby/object:Gem::Version
255
267
  version: '0'
268
+ - !ruby/object:Gem::Dependency
269
+ name: rexml
270
+ requirement: !ruby/object:Gem::Requirement
271
+ requirements:
272
+ - - ">="
273
+ - !ruby/object:Gem::Version
274
+ version: '0'
275
+ type: :runtime
276
+ prerelease: false
277
+ version_requirements: !ruby/object:Gem::Requirement
278
+ requirements:
279
+ - - ">="
280
+ - !ruby/object:Gem::Version
281
+ version: '0'
256
282
  - !ruby/object:Gem::Dependency
257
283
  name: state_machines-activerecord
258
284
  requirement: !ruby/object:Gem::Requirement
@@ -352,7 +378,7 @@ dependencies:
352
378
  version: 4.9.4
353
379
  - - "<"
354
380
  - !ruby/object:Gem::Version
355
- version: 4.11.0
381
+ version: 4.12.0
356
382
  type: :runtime
357
383
  prerelease: false
358
384
  version_requirements: !ruby/object:Gem::Requirement
@@ -362,7 +388,7 @@ dependencies:
362
388
  version: 4.9.4
363
389
  - - "<"
364
390
  - !ruby/object:Gem::Version
365
- version: 4.11.0
391
+ version: 4.12.0
366
392
  - !ruby/object:Gem::Dependency
367
393
  name: image_processing
368
394
  requirement: !ruby/object:Gem::Requirement
@@ -421,7 +447,9 @@ files:
421
447
  - app/assets/images/noimage/small.png
422
448
  - app/assets/javascripts/spree.js
423
449
  - app/controllers/spree/base_controller.rb
450
+ - app/controllers/spree/errors_controller.rb
424
451
  - app/finders/spree/addresses/find.rb
452
+ - app/finders/spree/base_finder.rb
425
453
  - app/finders/spree/countries/find.rb
426
454
  - app/finders/spree/credit_cards/find.rb
427
455
  - app/finders/spree/line_items/find_by_variant.rb
@@ -432,6 +460,8 @@ files:
432
460
  - app/finders/spree/variants/option_types_finder.rb
433
461
  - app/finders/spree/variants/visible_finder.rb
434
462
  - app/helpers/spree/base_helper.rb
463
+ - app/helpers/spree/currency_helper.rb
464
+ - app/helpers/spree/locale_helper.rb
435
465
  - app/helpers/spree/mail_helper.rb
436
466
  - app/helpers/spree/products_helper.rb
437
467
  - app/mailers/spree/base_mailer.rb
@@ -579,7 +609,7 @@ files:
579
609
  - app/models/spree/return_item/eligibility_validator/inventory_shipped.rb
580
610
  - app/models/spree/return_item/eligibility_validator/no_reimbursements.rb
581
611
  - app/models/spree/return_item/eligibility_validator/order_completed.rb
582
- - app/models/spree/return_item/eligibility_validator/r_m_a_required.rb
612
+ - app/models/spree/return_item/eligibility_validator/rma_required.rb
583
613
  - app/models/spree/return_item/eligibility_validator/time_since_purchase.rb
584
614
  - app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb
585
615
  - app/models/spree/return_item/exchange_variant_eligibility/same_product.rb
@@ -635,9 +665,10 @@ files:
635
665
  - app/presenters/spree/variant_presenter.rb
636
666
  - app/presenters/spree/variants/option_types_presenter.rb
637
667
  - app/presenters/spree/variants/options_presenter.rb
638
- - app/services/spree/account/addresses/base.rb
639
668
  - app/services/spree/account/addresses/create.rb
669
+ - app/services/spree/account/addresses/helper.rb
640
670
  - app/services/spree/account/addresses/update.rb
671
+ - app/services/spree/build_localized_redirect_url.rb
641
672
  - app/services/spree/cart/add_item.rb
642
673
  - app/services/spree/cart/create.rb
643
674
  - app/services/spree/cart/estimate_shipping_rates.rb
@@ -655,11 +686,14 @@ files:
655
686
  - app/services/spree/checkout/update.rb
656
687
  - app/services/spree/compare_line_items.rb
657
688
  - app/services/spree/generate_token.rb
689
+ - app/sorters/spree/base_sorter.rb
658
690
  - app/sorters/spree/orders/sort.rb
659
691
  - app/sorters/spree/products/sort.rb
660
692
  - app/validators/db_maximum_length_validator.rb
661
693
  - app/validators/email_validator.rb
662
694
  - app/views/layouts/spree/base_mailer.html.erb
695
+ - app/views/spree/errors/forbidden.html.erb
696
+ - app/views/spree/errors/unauthorized.html.erb
663
697
  - app/views/spree/order_mailer/cancel_email.html.erb
664
698
  - app/views/spree/order_mailer/cancel_email.text.erb
665
699
  - app/views/spree/order_mailer/confirm_email.html.erb
@@ -686,8 +720,10 @@ files:
686
720
  - config/initializers/active_storage.rb
687
721
  - config/initializers/assets.rb
688
722
  - config/initializers/friendly_id.rb
723
+ - config/initializers/inflections.rb
689
724
  - config/initializers/premailer_assets.rb
690
725
  - config/initializers/premailer_rails.rb
726
+ - config/initializers/rails61_fixes.rb
691
727
  - config/initializers/state_machine.rb
692
728
  - config/locales/en.yml
693
729
  - config/routes.rb
@@ -976,7 +1012,17 @@ files:
976
1012
  - db/migrate/20200607161222_add_new_order_notifications_email_to_spree_stores.rb
977
1013
  - db/migrate/20200610113542_add_label_to_spree_addresses.rb
978
1014
  - db/migrate/20200826075557_add_unique_index_on_taxon_id_and_product_id_to_spree_products_taxons.rb
1015
+ - db/migrate/20201006110150_add_checkout_zone_field_to_store.rb
1016
+ - db/migrate/20201012091259_add_filterable_column_to_spree_option_types.rb
979
1017
  - db/migrate/20201013084504_add_seo_robots_to_spree_stores.rb
1018
+ - db/migrate/20201127084048_add_default_country_kind_to_spree_zones.rb
1019
+ - db/migrate/20210112193440_remove_contact_email_from_spree_stores.rb
1020
+ - db/migrate/20210114182625_create_spree_payment_methods_stores.rb
1021
+ - db/migrate/20210114220232_migrate_data_payment_methods_stores.rb
1022
+ - db/migrate/20210117112551_remove_store_id_from_spree_payment_methods.rb
1023
+ - db/migrate/20210120142527_ensure_default_locale_in_spree_stores.rb
1024
+ - db/migrate/20210205211040_add_supported_locales_to_spree_stores.rb
1025
+ - db/migrate/20210215202602_migrate_spree_i18n_globalize_config.rb
980
1026
  - db/seeds.rb
981
1027
  - lib/friendly_id/slug_rails5_patch.rb
982
1028
  - lib/generators/spree/custom_user/custom_user_generator.rb
@@ -997,8 +1043,6 @@ files:
997
1043
  - lib/generators/spree/dummy_model/templates/model.rb.tt
998
1044
  - lib/generators/spree/install/install_generator.rb
999
1045
  - lib/generators/spree/install/templates/config/initializers/spree.rb
1000
- - lib/generators/spree/install/templates/config/initializers/spree_storefront.rb
1001
- - lib/generators/spree/install/templates/config/spree_storefront.yml
1002
1046
  - lib/generators/spree/install/templates/vendor/assets/javascripts/spree/backend/all.js
1003
1047
  - lib/generators/spree/install/templates/vendor/assets/javascripts/spree/frontend/all.js
1004
1048
  - lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/backend/all.css
@@ -1012,7 +1056,8 @@ files:
1012
1056
  - lib/spree/core/components.rb
1013
1057
  - lib/spree/core/controller_helpers/auth.rb
1014
1058
  - lib/spree/core/controller_helpers/common.rb
1015
- - lib/spree/core/controller_helpers/currency_helpers.rb
1059
+ - lib/spree/core/controller_helpers/currency.rb
1060
+ - lib/spree/core/controller_helpers/locale.rb
1016
1061
  - lib/spree/core/controller_helpers/order.rb
1017
1062
  - lib/spree/core/controller_helpers/search.rb
1018
1063
  - lib/spree/core/controller_helpers/store.rb
@@ -1036,8 +1081,6 @@ files:
1036
1081
  - lib/spree/database_type_utilities.rb
1037
1082
  - lib/spree/dependencies_helper.rb
1038
1083
  - lib/spree/i18n.rb
1039
- - lib/spree/i18n/base.rb
1040
- - lib/spree/i18n/initializer.rb
1041
1084
  - lib/spree/localized_number.rb
1042
1085
  - lib/spree/migrations.rb
1043
1086
  - lib/spree/money.rb
@@ -1104,11 +1147,15 @@ files:
1104
1147
  - lib/spree/testing_support/factories/zone_factory.rb
1105
1148
  - lib/spree/testing_support/factories/zone_member_factory.rb
1106
1149
  - lib/spree/testing_support/flash.rb
1150
+ - lib/spree/testing_support/flatpickr_capybara.rb
1107
1151
  - lib/spree/testing_support/i18n.rb
1108
1152
  - lib/spree/testing_support/image_helpers.rb
1109
1153
  - lib/spree/testing_support/kernel.rb
1154
+ - lib/spree/testing_support/locale_helpers.rb
1155
+ - lib/spree/testing_support/next_instance_of.rb
1110
1156
  - lib/spree/testing_support/order_walkthrough.rb
1111
1157
  - lib/spree/testing_support/preferences.rb
1158
+ - lib/spree/testing_support/rspec_retry_config.rb
1112
1159
  - lib/spree/testing_support/url_helpers.rb
1113
1160
  - lib/spree_core.rb
1114
1161
  - lib/tasks/core.rake
@@ -1128,9 +1175,9 @@ licenses:
1128
1175
  - BSD-3-Clause
1129
1176
  metadata:
1130
1177
  bug_tracker_uri: https://github.com/spree/spree/issues
1131
- changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.0.rc1
1178
+ changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.0
1132
1179
  documentation_uri: https://guides.spreecommerce.org/
1133
- source_code_uri: https://github.com/spree/spree/tree/v4.2.0.rc1
1180
+ source_code_uri: https://github.com/spree/spree/tree/v4.2.0
1134
1181
  post_install_message:
1135
1182
  rdoc_options: []
1136
1183
  require_paths: