spree_core 4.4.0 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/app/finders/spree/option_values/find_available.rb +1 -1
  3. data/app/finders/spree/product_properties/find_available.rb +1 -1
  4. data/app/finders/spree/products/find.rb +21 -15
  5. data/app/finders/spree/taxons/find.rb +11 -8
  6. data/app/helpers/spree/base_helper.rb +14 -11
  7. data/app/helpers/spree/locale_helper.rb +6 -2
  8. data/app/helpers/spree/products_helper.rb +9 -4
  9. data/app/jobs/spree/variants/remove_from_incomplete_orders_job.rb +9 -0
  10. data/app/jobs/spree/variants/remove_line_item_job.rb +9 -0
  11. data/app/models/concerns/spree/calculated_adjustments.rb +1 -1
  12. data/app/models/concerns/spree/display_link.rb +17 -29
  13. data/app/models/concerns/spree/image_methods.rb +21 -9
  14. data/app/models/concerns/spree/metadata.rb +2 -2
  15. data/app/models/concerns/spree/product_scopes.rb +34 -28
  16. data/app/models/concerns/spree/translatable_resource.rb +25 -0
  17. data/app/models/concerns/spree/translatable_resource_scopes.rb +24 -0
  18. data/app/models/concerns/spree/translatable_resource_slug.rb +17 -0
  19. data/app/models/spree/address.rb +7 -1
  20. data/app/models/spree/asset/support/active_storage.rb +3 -2
  21. data/app/models/spree/asset.rb +3 -0
  22. data/app/models/spree/base.rb +1 -0
  23. data/app/models/spree/cms_page.rb +4 -0
  24. data/app/models/spree/cms_section.rb +12 -12
  25. data/app/models/spree/cms_section_image.rb +15 -0
  26. data/app/models/spree/cms_section_image_one.rb +4 -0
  27. data/app/models/spree/cms_section_image_three.rb +4 -0
  28. data/app/models/spree/cms_section_image_two.rb +4 -0
  29. data/app/models/spree/credit_card.rb +10 -4
  30. data/app/models/spree/customer_return.rb +3 -0
  31. data/app/models/spree/data_feed/google.rb +15 -0
  32. data/app/models/spree/data_feed.rb +40 -0
  33. data/app/models/spree/digital.rb +4 -0
  34. data/app/models/spree/digital_link.rb +7 -0
  35. data/app/models/spree/fulfilment_changer.rb +1 -1
  36. data/app/models/spree/gateway/bogus.rb +1 -1
  37. data/app/models/spree/icon.rb +5 -1
  38. data/app/models/spree/image/configuration/active_storage.rb +5 -1
  39. data/app/models/spree/image.rb +3 -3
  40. data/app/models/spree/inventory_unit.rb +5 -2
  41. data/app/models/spree/legacy_user.rb +1 -2
  42. data/app/models/spree/line_item.rb +4 -1
  43. data/app/models/spree/linkable/homepage.rb +3 -0
  44. data/app/models/spree/linkable/uri.rb +3 -0
  45. data/app/models/spree/log_entry.rb +9 -1
  46. data/app/models/spree/menu.rb +3 -0
  47. data/app/models/spree/menu_item.rb +7 -11
  48. data/app/models/spree/option_type.rb +8 -0
  49. data/app/models/spree/option_value.rb +9 -0
  50. data/app/models/spree/order/address_book.rb +1 -0
  51. data/app/models/spree/order.rb +12 -3
  52. data/app/models/spree/order_merger.rb +1 -1
  53. data/app/models/spree/payment/processing.rb +1 -1
  54. data/app/models/spree/payment.rb +7 -1
  55. data/app/models/spree/payment_capture_event.rb +4 -0
  56. data/app/models/spree/payment_method/store_credit.rb +1 -1
  57. data/app/models/spree/payment_method.rb +3 -0
  58. data/app/models/spree/payment_source.rb +10 -0
  59. data/app/models/spree/preference.rb +4 -0
  60. data/app/models/spree/price.rb +3 -0
  61. data/app/models/spree/product.rb +97 -24
  62. data/app/models/spree/product_property.rb +13 -3
  63. data/app/models/spree/promotion/rules/option_value.rb +2 -2
  64. data/app/models/spree/promotion.rb +6 -0
  65. data/app/models/spree/promotion_rule.rb +1 -1
  66. data/app/models/spree/promotion_rule_user.rb +1 -1
  67. data/app/models/spree/property.rb +10 -1
  68. data/app/models/spree/prototype.rb +3 -0
  69. data/app/models/spree/refund.rb +8 -0
  70. data/app/models/spree/reimbursement.rb +3 -0
  71. data/app/models/spree/return_authorization.rb +3 -0
  72. data/app/models/spree/return_item.rb +4 -0
  73. data/app/models/spree/role.rb +1 -1
  74. data/app/models/spree/role_user.rb +1 -1
  75. data/app/models/spree/shipment.rb +8 -1
  76. data/app/models/spree/shipping_category.rb +3 -0
  77. data/app/models/spree/shipping_method.rb +6 -0
  78. data/app/models/spree/state_change.rb +1 -1
  79. data/app/models/spree/stock/availability_validator.rb +9 -3
  80. data/app/models/spree/stock/content_item.rb +1 -1
  81. data/app/models/spree/stock/quantifier.rb +1 -1
  82. data/app/models/spree/stock_item.rb +5 -0
  83. data/app/models/spree/stock_location.rb +19 -5
  84. data/app/models/spree/stock_movement.rb +4 -0
  85. data/app/models/spree/stock_transfer.rb +3 -0
  86. data/app/models/spree/store.rb +39 -15
  87. data/app/models/spree/store_credit.rb +4 -1
  88. data/app/models/spree/store_favicon_image.rb +17 -0
  89. data/app/models/spree/store_logo.rb +9 -0
  90. data/app/models/spree/store_mailer_logo.rb +13 -0
  91. data/app/models/spree/tax_category.rb +6 -0
  92. data/app/models/spree/tax_rate.rb +6 -1
  93. data/app/models/spree/taxon.rb +26 -7
  94. data/app/models/spree/taxon_image/configuration/active_storage.rb +5 -1
  95. data/app/models/spree/taxon_image.rb +3 -2
  96. data/app/models/spree/taxonomy.rb +8 -1
  97. data/app/models/spree/variant.rb +47 -21
  98. data/app/models/spree/wished_item.rb +4 -0
  99. data/app/models/spree/wishlist.rb +4 -1
  100. data/app/models/spree/zone.rb +3 -0
  101. data/app/services/spree/addresses/create.rb +1 -1
  102. data/app/services/spree/addresses/update.rb +7 -2
  103. data/app/services/spree/cart/remove_line_item.rb +1 -0
  104. data/app/services/spree/data_feeds/google/optional_attributes.rb +23 -0
  105. data/app/services/spree/data_feeds/google/optional_sub_attributes.rb +21 -0
  106. data/app/services/spree/data_feeds/google/products_list.rb +14 -0
  107. data/app/services/spree/data_feeds/google/required_attributes.rb +67 -0
  108. data/app/services/spree/data_feeds/google/rss.rb +107 -0
  109. data/app/services/spree/variants/remove_line_items.rb +15 -0
  110. data/app/sorters/spree/products/sort.rb +23 -0
  111. data/brakeman.ignore +326 -18
  112. data/config/initializers/friendly_id.rb +2 -0
  113. data/config/initializers/mobility.rb +18 -0
  114. data/config/locales/en.yml +6 -2
  115. data/config/routes.rb +43 -0
  116. data/db/migrate/20211201202851_update_linkable_resource_types.rb +10 -0
  117. data/db/migrate/20211203082008_add_settings_to_payment_methods.rb +11 -0
  118. data/db/migrate/20211229162122_disable_propagate_all_variants_by_default.rb +5 -0
  119. data/db/migrate/20220103082046_add_status_and_make_active_at_to_spree_products.rb +7 -0
  120. data/db/migrate/20220106230929_add_internal_note_to_spree_orders.rb +5 -0
  121. data/db/migrate/20220113052823_create_payment_sources.rb +22 -0
  122. data/db/migrate/20220117100333_add_make_active_at_to_spree_products.rb +17 -0
  123. data/db/migrate/20220120092821_add_metadata_to_spree_tax_rates.rb +13 -0
  124. data/db/migrate/20220201103922_add_first_name_and_last_name_to_spree_users.rb +9 -0
  125. data/db/migrate/20220222083546_add_barcode_to_spree_variants.rb +6 -0
  126. data/db/migrate/20220329113557_fix_cms_pages_unique_indexes.rb +8 -0
  127. data/db/migrate/20220613133029_add_metadata_to_spree_stock_items.rb +13 -0
  128. data/db/migrate/20220706112554_create_product_name_and_description_translations_for_mobility_table_backend.rb +27 -0
  129. data/db/migrate/20220715083542_create_spree_product_translations_for_mobility.rb +7 -0
  130. data/db/migrate/20220715120222_change_product_name_null_to_true.rb +5 -0
  131. data/db/migrate/20220718100743_create_spree_taxon_name_and_description_translations_for_mobility_table_backend.rb +27 -0
  132. data/db/migrate/20220718100948_change_taxon_name_null_to_true.rb +5 -0
  133. data/db/migrate/20220802070609_add_locale_to_friendly_id_slugs.rb +11 -0
  134. data/db/migrate/20220802073225_create_spree_product_slug_translations_for_mobility_table_backend.rb +5 -0
  135. data/db/migrate/20220804073928_transfer_data_to_translatable_tables.rb +66 -0
  136. data/db/migrate/20221215151408_add_selected_locale_to_spree_users.rb +8 -0
  137. data/db/migrate/20221219123957_add_deleted_at_to_product_translations.rb +6 -0
  138. data/db/migrate/20221220133432_add_uniqueness_constraint_to_product_translations.rb +5 -0
  139. data/db/migrate/20221229132350_create_spree_data_feed_settings.rb +14 -0
  140. data/db/migrate/20230103144439_create_option_type_translations.rb +26 -0
  141. data/db/migrate/20230103151034_create_option_value_translations.rb +26 -0
  142. data/db/migrate/20230109084253_create_product_property_translations.rb +25 -0
  143. data/db/migrate/20230109094907_transfer_options_data_to_translatable_tables.rb +58 -0
  144. data/db/migrate/20230109105943_create_property_translations.rb +26 -0
  145. data/db/migrate/20230109110840_transfer_property_data_to_translatable_tables.rb +59 -0
  146. data/db/migrate/20230110142344_backfill_friendly_id_slug_locale.rb +15 -0
  147. data/db/migrate/20230111121534_add_additional_taxon_translation_fields.rb +8 -0
  148. data/db/migrate/20230111122511_transfer_product_and_taxon_data_to_translatable_tables.rb +82 -0
  149. data/db/migrate/20230117115531_create_taxonomy_translations.rb +24 -0
  150. data/db/migrate/20230117120430_allow_null_taxonomy_name.rb +5 -0
  151. data/db/migrate/20230117121303_transfer_taxonomy_data_to_translatable_tables.rb +11 -0
  152. data/db/migrate/20230210142732_create_store_translations.rb +50 -0
  153. data/db/migrate/20230210142849_transfer_store_data_to_translatable_tables.rb +11 -0
  154. data/db/migrate/20230210230434_add_deleted_at_to_store_translations.rb +6 -0
  155. data/db/migrate/20230415155958_rename_data_feed_settings_table.rb +5 -0
  156. data/db/migrate/20230415160828_rename_data_feed_table_columns.rb +7 -0
  157. data/db/migrate/20230415161226_add_indexes_to_data_feeds_table.rb +5 -0
  158. data/db/migrate/20230512094803_rename_data_feeds_column_provider_to_type.rb +5 -0
  159. data/db/migrate/20230514162157_add_index_on_locale_and_permalink_to_spree_taxons.rb +5 -0
  160. data/lib/friendly_id/paranoia.rb +4 -0
  161. data/lib/generators/spree/dummy/dummy_generator.rb +13 -2
  162. data/lib/generators/spree/dummy/templates/package.json +12 -0
  163. data/lib/generators/spree/dummy/templates/rails/test.rb +2 -0
  164. data/lib/spree/core/configuration.rb +91 -0
  165. data/lib/spree/core/controller_helpers/auth.rb +3 -1
  166. data/lib/spree/core/controller_helpers/currency.rb +7 -5
  167. data/lib/spree/core/controller_helpers/locale.rb +34 -8
  168. data/lib/spree/core/controller_helpers/order.rb +4 -2
  169. data/lib/spree/core/controller_helpers/search.rb +1 -1
  170. data/lib/spree/core/controller_helpers/store.rb +5 -3
  171. data/lib/spree/core/dependencies.rb +106 -0
  172. data/lib/spree/core/dependencies_helper.rb +19 -0
  173. data/lib/spree/core/engine.rb +53 -38
  174. data/{app/models/spree → lib/spree/core}/preferences/configuration.rb +3 -0
  175. data/{app/models/spree → lib/spree/core}/preferences/preferable.rb +3 -0
  176. data/lib/spree/core/product_duplicator.rb +1 -1
  177. data/lib/spree/core/product_filters.rb +7 -4
  178. data/lib/spree/core/search/base.rb +10 -6
  179. data/lib/spree/core/version.rb +1 -1
  180. data/lib/spree/core.rb +27 -5
  181. data/lib/spree/permitted_attributes.rb +9 -7
  182. data/lib/spree/testing_support/common_rake.rb +1 -0
  183. data/lib/spree/testing_support/factories/favicon_image_factory.rb +9 -0
  184. data/lib/spree/testing_support/factories/google_data_feed_factory.rb +8 -0
  185. data/lib/spree/testing_support/factories/icon_factory.rb +3 -1
  186. data/lib/spree/testing_support/factories/image_factory.rb +3 -1
  187. data/lib/spree/testing_support/factories/menu_item_factory.rb +1 -1
  188. data/lib/spree/testing_support/factories/order_factory.rb +2 -1
  189. data/lib/spree/testing_support/factories/product_factory.rb +12 -1
  190. data/lib/spree/testing_support/factories/product_property_factory.rb +1 -0
  191. data/lib/spree/testing_support/factories/product_translation_factory.rb +6 -0
  192. data/lib/spree/testing_support/factories/refund_factory.rb +1 -1
  193. data/lib/spree/testing_support/factories/return_authorization_factory.rb +1 -1
  194. data/lib/spree/testing_support/factories/role_factory.rb +1 -1
  195. data/lib/spree/testing_support/factories/shipping_category_factory.rb +1 -1
  196. data/lib/spree/testing_support/factories/stock_location_factory.rb +3 -2
  197. data/lib/spree/testing_support/factories/store_factory.rb +2 -1
  198. data/lib/spree/testing_support/factories/taxon_image_factory.rb +3 -1
  199. data/lib/spree/testing_support/factories/user_factory.rb +4 -0
  200. data/lib/spree/testing_support/factories/variant_factory.rb +8 -0
  201. data/lib/spree/translation_migrations.rb +40 -0
  202. data/lib/spree_core.rb +2 -1
  203. data/lib/tasks/core.rake +12 -0
  204. data/spree_core.gemspec +5 -3
  205. metadata +152 -52
  206. data/app/models/friendly_id/slug_decorator.rb +0 -9
  207. data/app/models/spree/app_configuration.rb +0 -86
  208. data/lib/friendly_id/slug_rails5_patch.rb +0 -11
  209. data/lib/spree/core/app_dependencies.rb +0 -126
  210. /data/{app/models/spree → lib/spree/core}/preferences/preferable_class_methods.rb +0 -0
  211. /data/{app/models/spree → lib/spree/core}/preferences/scoped_store.rb +0 -0
  212. /data/{app/models/spree → lib/spree/core}/preferences/store.rb +0 -0
@@ -18,9 +18,17 @@ FactoryBot.define do
18
18
  # ensure stock item will be created for this variant
19
19
  before(:create) { create(:stock_location) unless Spree::StockLocation.any? }
20
20
 
21
+ after(:create) do |variant|
22
+ Spree::StockLocation.all.each { |stock_location| stock_location.propagate_variant(variant) }
23
+ end
24
+
21
25
  factory :variant do
22
26
  # on_hand 5
23
27
  product { |p| p.association(:product, stores: [create(:store)]) }
28
+
29
+ factory :with_image_variant do
30
+ images { create_list(:image, 1) }
31
+ end
24
32
  end
25
33
 
26
34
  factory :master_variant do
@@ -0,0 +1,40 @@
1
+ module Spree
2
+ class TranslationMigrations
3
+ def initialize(resource_class, default_locale)
4
+ @resource_class = resource_class
5
+ @translations_table = resource_class::Translation.table_name
6
+ @translatable_fields = resource_class.translatable_fields.join(', ')
7
+ @foreign_key = "#{resource_class.table_name.singularize}_id"
8
+ @default_locale = default_locale
9
+ end
10
+
11
+ def transfer_translation_data
12
+ nullify_translatable_fields = @resource_class.translatable_fields.map { |f| "#{f}=null" }.join(', ')
13
+
14
+ unless @resource_class::Translation.exists?
15
+ ActiveRecord::Base.connection.execute("
16
+ INSERT INTO #{@translations_table} (#{@translatable_fields}, #{@foreign_key}, locale, created_at, updated_at)
17
+ SELECT #{@translatable_fields}, id, '#{@default_locale}' as locale, created_at, updated_at FROM #{@resource_class.table_name};
18
+ ")
19
+ ActiveRecord::Base.connection.execute("
20
+ UPDATE #{@resource_class.table_name}
21
+ SET #{nullify_translatable_fields};
22
+ ")
23
+ end
24
+ end
25
+
26
+ def revert_translation_data_transfer
27
+ translation_table_fields = @resource_class.translatable_fields.map { |f| "#{@translations_table}.#{f}" }.join(', ')
28
+ row_expression = @resource_class.translatable_fields.count == 1 ? 'ROW' : ''
29
+
30
+ ActiveRecord::Base.connection.execute("
31
+ UPDATE #{@resource_class.table_name}
32
+ SET (#{@translatable_fields}) = #{row_expression}(#{translation_table_fields})
33
+ FROM #{@translations_table}
34
+ WHERE #{@translations_table}.#{@foreign_key} = #{@resource_class.table_name}.id
35
+ ")
36
+
37
+ ActiveRecord::Base.connection.execute("TRUNCATE TABLE #{@translations_table}")
38
+ end
39
+ end
40
+ end
data/lib/spree_core.rb CHANGED
@@ -1,2 +1,3 @@
1
- require 'friendly_id/slug_rails5_patch'
1
+ require 'friendly_id/paranoia'
2
+
2
3
  require 'spree/core'
data/lib/tasks/core.rake CHANGED
@@ -185,3 +185,15 @@ use rake db:load_file[/absolute/path/to/sample/filename.rb]}
185
185
  end
186
186
  end
187
187
  end
188
+
189
+ namespace :core do
190
+ desc 'Set "active" status on draft products where make_active_at is in the past'
191
+ task activate_products: :environment do |_t, _args|
192
+ Spree::Product.where('make_active_at <= ?', Time.current).where(status: 'draft').update_all(status: 'active', updated_at: Time.current)
193
+ end
194
+
195
+ desc 'Set "archived" status on active products where discontinue_on is in the past'
196
+ task archive_products: :environment do |_t, _args|
197
+ Spree::Product.where('discontinue_on <= ?', Time.current).where.not(status: 'archived').update_all(status: 'archived', updated_at: Time.current)
198
+ end
199
+ end
data/spree_core.gemspec CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
30
30
  actionpack actionview activejob activemodel activerecord
31
31
  activestorage activesupport railties
32
32
  ].each do |rails_gem|
33
- s.add_dependency rails_gem, '>= 5.2'
33
+ s.add_dependency rails_gem, '>= 6.1'
34
34
  end
35
35
 
36
36
  s.add_dependency 'activemerchant', '~> 1.67'
@@ -45,14 +45,16 @@ Gem::Specification.new do |s|
45
45
  s.add_dependency 'money', '~> 6.13'
46
46
  s.add_dependency 'monetize', '~> 1.9'
47
47
  s.add_dependency 'paranoia', '~> 2.4'
48
- s.add_dependency 'ransack', '~> 2.3'
48
+ s.add_dependency 'ransack', '>= 2.3', '< 3.0'
49
49
  s.add_dependency 'rexml'
50
50
  s.add_dependency 'state_machines-activerecord', '~> 0.6'
51
51
  s.add_dependency 'state_machines-activemodel', '~> 0.7'
52
52
  s.add_dependency 'stringex'
53
53
  s.add_dependency 'validates_zipcode'
54
- s.add_dependency 'mini_magick', '~> 4.9', '>= 4.9.4'
55
54
  s.add_dependency 'image_processing', '~> 1.2'
56
55
  s.add_dependency 'active_storage_validations', '~> 0.9', '<= 0.9.5'
57
56
  s.add_dependency 'activerecord-typedstore'
57
+ s.add_dependency 'mobility', '~> 1.2.9'
58
+ s.add_dependency 'mobility-ransack', '~> 1.2.1'
59
+ s.add_dependency 'friendly_id-mobility', '~> 1.0.4'
58
60
  end
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.4.0
4
+ version: 4.6.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: 2022-01-26 00:00:00.000000000 Z
12
+ date: 2023-05-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -17,112 +17,112 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '5.2'
20
+ version: '6.1'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: '5.2'
27
+ version: '6.1'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: actionview
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '5.2'
34
+ version: '6.1'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: '5.2'
41
+ version: '6.1'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: activejob
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: '5.2'
48
+ version: '6.1'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: '5.2'
55
+ version: '6.1'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: activemodel
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: '5.2'
62
+ version: '6.1'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: '5.2'
69
+ version: '6.1'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: activerecord
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: '5.2'
76
+ version: '6.1'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: '5.2'
83
+ version: '6.1'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: activestorage
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - ">="
89
89
  - !ruby/object:Gem::Version
90
- version: '5.2'
90
+ version: '6.1'
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: '5.2'
97
+ version: '6.1'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: activesupport
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - ">="
103
103
  - !ruby/object:Gem::Version
104
- version: '5.2'
104
+ version: '6.1'
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - ">="
110
110
  - !ruby/object:Gem::Version
111
- version: '5.2'
111
+ version: '6.1'
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: railties
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - ">="
117
117
  - !ruby/object:Gem::Version
118
- version: '5.2'
118
+ version: '6.1'
119
119
  type: :runtime
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - ">="
124
124
  - !ruby/object:Gem::Version
125
- version: '5.2'
125
+ version: '6.1'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: activemerchant
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -307,16 +307,22 @@ dependencies:
307
307
  name: ransack
308
308
  requirement: !ruby/object:Gem::Requirement
309
309
  requirements:
310
- - - "~>"
310
+ - - ">="
311
311
  - !ruby/object:Gem::Version
312
312
  version: '2.3'
313
+ - - "<"
314
+ - !ruby/object:Gem::Version
315
+ version: '3.0'
313
316
  type: :runtime
314
317
  prerelease: false
315
318
  version_requirements: !ruby/object:Gem::Requirement
316
319
  requirements:
317
- - - "~>"
320
+ - - ">="
318
321
  - !ruby/object:Gem::Version
319
322
  version: '2.3'
323
+ - - "<"
324
+ - !ruby/object:Gem::Version
325
+ version: '3.0'
320
326
  - !ruby/object:Gem::Dependency
321
327
  name: rexml
322
328
  requirement: !ruby/object:Gem::Requirement
@@ -387,26 +393,6 @@ dependencies:
387
393
  - - ">="
388
394
  - !ruby/object:Gem::Version
389
395
  version: '0'
390
- - !ruby/object:Gem::Dependency
391
- name: mini_magick
392
- requirement: !ruby/object:Gem::Requirement
393
- requirements:
394
- - - "~>"
395
- - !ruby/object:Gem::Version
396
- version: '4.9'
397
- - - ">="
398
- - !ruby/object:Gem::Version
399
- version: 4.9.4
400
- type: :runtime
401
- prerelease: false
402
- version_requirements: !ruby/object:Gem::Requirement
403
- requirements:
404
- - - "~>"
405
- - !ruby/object:Gem::Version
406
- version: '4.9'
407
- - - ">="
408
- - !ruby/object:Gem::Version
409
- version: 4.9.4
410
396
  - !ruby/object:Gem::Dependency
411
397
  name: image_processing
412
398
  requirement: !ruby/object:Gem::Requirement
@@ -455,6 +441,48 @@ dependencies:
455
441
  - - ">="
456
442
  - !ruby/object:Gem::Version
457
443
  version: '0'
444
+ - !ruby/object:Gem::Dependency
445
+ name: mobility
446
+ requirement: !ruby/object:Gem::Requirement
447
+ requirements:
448
+ - - "~>"
449
+ - !ruby/object:Gem::Version
450
+ version: 1.2.9
451
+ type: :runtime
452
+ prerelease: false
453
+ version_requirements: !ruby/object:Gem::Requirement
454
+ requirements:
455
+ - - "~>"
456
+ - !ruby/object:Gem::Version
457
+ version: 1.2.9
458
+ - !ruby/object:Gem::Dependency
459
+ name: mobility-ransack
460
+ requirement: !ruby/object:Gem::Requirement
461
+ requirements:
462
+ - - "~>"
463
+ - !ruby/object:Gem::Version
464
+ version: 1.2.1
465
+ type: :runtime
466
+ prerelease: false
467
+ version_requirements: !ruby/object:Gem::Requirement
468
+ requirements:
469
+ - - "~>"
470
+ - !ruby/object:Gem::Version
471
+ version: 1.2.1
472
+ - !ruby/object:Gem::Dependency
473
+ name: friendly_id-mobility
474
+ requirement: !ruby/object:Gem::Requirement
475
+ requirements:
476
+ - - "~>"
477
+ - !ruby/object:Gem::Version
478
+ version: 1.0.4
479
+ type: :runtime
480
+ prerelease: false
481
+ version_requirements: !ruby/object:Gem::Requirement
482
+ requirements:
483
+ - - "~>"
484
+ - !ruby/object:Gem::Version
485
+ version: 1.0.4
458
486
  description: Spree Models, Helpers, Services and core libraries
459
487
  email: hello@spreecommerce.org
460
488
  executables: []
@@ -488,6 +516,8 @@ files:
488
516
  - app/helpers/spree/products_helper.rb
489
517
  - app/jobs/spree/base_job.rb
490
518
  - app/jobs/spree/stock_locations/stock_items/create_job.rb
519
+ - app/jobs/spree/variants/remove_from_incomplete_orders_job.rb
520
+ - app/jobs/spree/variants/remove_line_item_job.rb
491
521
  - app/models/concerns/spree/adjustment_source.rb
492
522
  - app/models/concerns/spree/calculated_adjustments.rb
493
523
  - app/models/concerns/spree/default_price.rb
@@ -504,6 +534,9 @@ files:
504
534
  - app/models/concerns/spree/product_scopes.rb
505
535
  - app/models/concerns/spree/ransackable_attributes.rb
506
536
  - app/models/concerns/spree/single_store_resource.rb
537
+ - app/models/concerns/spree/translatable_resource.rb
538
+ - app/models/concerns/spree/translatable_resource_scopes.rb
539
+ - app/models/concerns/spree/translatable_resource_slug.rb
507
540
  - app/models/concerns/spree/unique_name.rb
508
541
  - app/models/concerns/spree/user_address.rb
509
542
  - app/models/concerns/spree/user_methods.rb
@@ -511,7 +544,6 @@ files:
511
544
  - app/models/concerns/spree/user_reporting.rb
512
545
  - app/models/concerns/spree/user_roles.rb
513
546
  - app/models/concerns/spree/vat_price_calculation.rb
514
- - app/models/friendly_id/slug_decorator.rb
515
547
  - app/models/spree/ability.rb
516
548
  - app/models/spree/address.rb
517
549
  - app/models/spree/adjustable/adjuster/base.rb
@@ -520,7 +552,6 @@ files:
520
552
  - app/models/spree/adjustable/adjustments_updater.rb
521
553
  - app/models/spree/adjustable/promotion_accumulator.rb
522
554
  - app/models/spree/adjustment.rb
523
- - app/models/spree/app_configuration.rb
524
555
  - app/models/spree/asset.rb
525
556
  - app/models/spree/asset/support/active_storage.rb
526
557
  - app/models/spree/base.rb
@@ -552,9 +583,15 @@ files:
552
583
  - app/models/spree/cms/sections/side_by_side_images.rb
553
584
  - app/models/spree/cms_page.rb
554
585
  - app/models/spree/cms_section.rb
586
+ - app/models/spree/cms_section_image.rb
587
+ - app/models/spree/cms_section_image_one.rb
588
+ - app/models/spree/cms_section_image_three.rb
589
+ - app/models/spree/cms_section_image_two.rb
555
590
  - app/models/spree/country.rb
556
591
  - app/models/spree/credit_card.rb
557
592
  - app/models/spree/customer_return.rb
593
+ - app/models/spree/data_feed.rb
594
+ - app/models/spree/data_feed/google.rb
558
595
  - app/models/spree/digital.rb
559
596
  - app/models/spree/digital_link.rb
560
597
  - app/models/spree/exchange.rb
@@ -568,6 +605,8 @@ files:
568
605
  - app/models/spree/inventory_unit.rb
569
606
  - app/models/spree/legacy_user.rb
570
607
  - app/models/spree/line_item.rb
608
+ - app/models/spree/linkable/homepage.rb
609
+ - app/models/spree/linkable/uri.rb
571
610
  - app/models/spree/log_entry.rb
572
611
  - app/models/spree/menu.rb
573
612
  - app/models/spree/menu_item.rb
@@ -594,12 +633,8 @@ files:
594
633
  - app/models/spree/payment_method.rb
595
634
  - app/models/spree/payment_method/check.rb
596
635
  - app/models/spree/payment_method/store_credit.rb
636
+ - app/models/spree/payment_source.rb
597
637
  - app/models/spree/preference.rb
598
- - app/models/spree/preferences/configuration.rb
599
- - app/models/spree/preferences/preferable.rb
600
- - app/models/spree/preferences/preferable_class_methods.rb
601
- - app/models/spree/preferences/scoped_store.rb
602
- - app/models/spree/preferences/store.rb
603
638
  - app/models/spree/price.rb
604
639
  - app/models/spree/product.rb
605
640
  - app/models/spree/product_option_type.rb
@@ -698,6 +733,9 @@ files:
698
733
  - app/models/spree/store_credit_category.rb
699
734
  - app/models/spree/store_credit_event.rb
700
735
  - app/models/spree/store_credit_type.rb
736
+ - app/models/spree/store_favicon_image.rb
737
+ - app/models/spree/store_logo.rb
738
+ - app/models/spree/store_mailer_logo.rb
701
739
  - app/models/spree/store_payment_method.rb
702
740
  - app/models/spree/store_product.rb
703
741
  - app/models/spree/store_promotion.rb
@@ -753,6 +791,11 @@ files:
753
791
  - app/services/spree/classifications/reposition.rb
754
792
  - app/services/spree/compare_line_items.rb
755
793
  - app/services/spree/credit_cards/destroy.rb
794
+ - app/services/spree/data_feeds/google/optional_attributes.rb
795
+ - app/services/spree/data_feeds/google/optional_sub_attributes.rb
796
+ - app/services/spree/data_feeds/google/products_list.rb
797
+ - app/services/spree/data_feeds/google/required_attributes.rb
798
+ - app/services/spree/data_feeds/google/rss.rb
756
799
  - app/services/spree/generate_token.rb
757
800
  - app/services/spree/line_items/create.rb
758
801
  - app/services/spree/line_items/destroy.rb
@@ -778,6 +821,7 @@ files:
778
821
  - app/services/spree/shipments/remove_item.rb
779
822
  - app/services/spree/shipments/update.rb
780
823
  - app/services/spree/stock_locations/stock_items/create.rb
824
+ - app/services/spree/variants/remove_line_items.rb
781
825
  - app/services/spree/wallet/create_payment_source.rb
782
826
  - app/sorters/spree/base_sorter.rb
783
827
  - app/sorters/spree/orders/sort.rb
@@ -789,6 +833,7 @@ files:
789
833
  - config/initializers/active_storage.rb
790
834
  - config/initializers/friendly_id.rb
791
835
  - config/initializers/inflections.rb
836
+ - config/initializers/mobility.rb
792
837
  - config/initializers/rails61_fixes.rb
793
838
  - config/initializers/state_machine.rb
794
839
  - config/locales/en.yml
@@ -814,14 +859,59 @@ files:
814
859
  - db/migrate/20210929093238_create_spree_digitals.rb
815
860
  - db/migrate/20210930143043_rename_secret_to_token_on_spree_digital_links.rb
816
861
  - db/migrate/20210930155649_add_settings_to_spree_stores.rb
862
+ - db/migrate/20211201202851_update_linkable_resource_types.rb
863
+ - db/migrate/20211203082008_add_settings_to_payment_methods.rb
864
+ - db/migrate/20211229162122_disable_propagate_all_variants_by_default.rb
865
+ - db/migrate/20220103082046_add_status_and_make_active_at_to_spree_products.rb
866
+ - db/migrate/20220106230929_add_internal_note_to_spree_orders.rb
867
+ - db/migrate/20220113052823_create_payment_sources.rb
868
+ - db/migrate/20220117100333_add_make_active_at_to_spree_products.rb
869
+ - db/migrate/20220120092821_add_metadata_to_spree_tax_rates.rb
870
+ - db/migrate/20220201103922_add_first_name_and_last_name_to_spree_users.rb
871
+ - db/migrate/20220222083546_add_barcode_to_spree_variants.rb
872
+ - db/migrate/20220329113557_fix_cms_pages_unique_indexes.rb
873
+ - db/migrate/20220613133029_add_metadata_to_spree_stock_items.rb
874
+ - db/migrate/20220706112554_create_product_name_and_description_translations_for_mobility_table_backend.rb
875
+ - db/migrate/20220715083542_create_spree_product_translations_for_mobility.rb
876
+ - db/migrate/20220715120222_change_product_name_null_to_true.rb
877
+ - db/migrate/20220718100743_create_spree_taxon_name_and_description_translations_for_mobility_table_backend.rb
878
+ - db/migrate/20220718100948_change_taxon_name_null_to_true.rb
879
+ - db/migrate/20220802070609_add_locale_to_friendly_id_slugs.rb
880
+ - db/migrate/20220802073225_create_spree_product_slug_translations_for_mobility_table_backend.rb
881
+ - db/migrate/20220804073928_transfer_data_to_translatable_tables.rb
882
+ - db/migrate/20221215151408_add_selected_locale_to_spree_users.rb
883
+ - db/migrate/20221219123957_add_deleted_at_to_product_translations.rb
884
+ - db/migrate/20221220133432_add_uniqueness_constraint_to_product_translations.rb
885
+ - db/migrate/20221229132350_create_spree_data_feed_settings.rb
886
+ - db/migrate/20230103144439_create_option_type_translations.rb
887
+ - db/migrate/20230103151034_create_option_value_translations.rb
888
+ - db/migrate/20230109084253_create_product_property_translations.rb
889
+ - db/migrate/20230109094907_transfer_options_data_to_translatable_tables.rb
890
+ - db/migrate/20230109105943_create_property_translations.rb
891
+ - db/migrate/20230109110840_transfer_property_data_to_translatable_tables.rb
892
+ - db/migrate/20230110142344_backfill_friendly_id_slug_locale.rb
893
+ - db/migrate/20230111121534_add_additional_taxon_translation_fields.rb
894
+ - db/migrate/20230111122511_transfer_product_and_taxon_data_to_translatable_tables.rb
895
+ - db/migrate/20230117115531_create_taxonomy_translations.rb
896
+ - db/migrate/20230117120430_allow_null_taxonomy_name.rb
897
+ - db/migrate/20230117121303_transfer_taxonomy_data_to_translatable_tables.rb
898
+ - db/migrate/20230210142732_create_store_translations.rb
899
+ - db/migrate/20230210142849_transfer_store_data_to_translatable_tables.rb
900
+ - db/migrate/20230210230434_add_deleted_at_to_store_translations.rb
901
+ - db/migrate/20230415155958_rename_data_feed_settings_table.rb
902
+ - db/migrate/20230415160828_rename_data_feed_table_columns.rb
903
+ - db/migrate/20230415161226_add_indexes_to_data_feeds_table.rb
904
+ - db/migrate/20230512094803_rename_data_feeds_column_provider_to_type.rb
905
+ - db/migrate/20230514162157_add_index_on_locale_and_permalink_to_spree_taxons.rb
817
906
  - db/seeds.rb
818
- - lib/friendly_id/slug_rails5_patch.rb
907
+ - lib/friendly_id/paranoia.rb
819
908
  - lib/generators/spree/custom_user/custom_user_generator.rb
820
909
  - lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt
821
910
  - lib/generators/spree/custom_user/templates/initializer.rb.tt
822
911
  - lib/generators/spree/custom_user/templates/migration.rb.tt
823
912
  - lib/generators/spree/dummy/dummy_generator.rb
824
913
  - lib/generators/spree/dummy/templates/initializers/devise.rb
914
+ - lib/generators/spree/dummy/templates/package.json
825
915
  - lib/generators/spree/dummy/templates/rails/application.rb
826
916
  - lib/generators/spree/dummy/templates/rails/boot.rb
827
917
  - lib/generators/spree/dummy/templates/rails/database.yml
@@ -834,8 +924,8 @@ files:
834
924
  - lib/generators/spree/install/install_generator.rb
835
925
  - lib/generators/spree/install/templates/config/initializers/spree.rb
836
926
  - lib/spree/core.rb
837
- - lib/spree/core/app_dependencies.rb
838
927
  - lib/spree/core/components.rb
928
+ - lib/spree/core/configuration.rb
839
929
  - lib/spree/core/controller_helpers/auth.rb
840
930
  - lib/spree/core/controller_helpers/common.rb
841
931
  - lib/spree/core/controller_helpers/currency.rb
@@ -844,12 +934,18 @@ files:
844
934
  - lib/spree/core/controller_helpers/search.rb
845
935
  - lib/spree/core/controller_helpers/store.rb
846
936
  - lib/spree/core/controller_helpers/strong_parameters.rb
937
+ - lib/spree/core/dependencies.rb
847
938
  - lib/spree/core/dependencies_helper.rb
848
939
  - lib/spree/core/engine.rb
849
940
  - lib/spree/core/importer.rb
850
941
  - lib/spree/core/importer/order.rb
851
942
  - lib/spree/core/importer/product.rb
852
943
  - lib/spree/core/number_generator.rb
944
+ - lib/spree/core/preferences/configuration.rb
945
+ - lib/spree/core/preferences/preferable.rb
946
+ - lib/spree/core/preferences/preferable_class_methods.rb
947
+ - lib/spree/core/preferences/scoped_store.rb
948
+ - lib/spree/core/preferences/store.rb
853
949
  - lib/spree/core/product_duplicator.rb
854
950
  - lib/spree/core/product_filters.rb
855
951
  - lib/spree/core/query_filters.rb
@@ -890,6 +986,8 @@ files:
890
986
  - lib/spree/testing_support/factories/customer_return_factory.rb
891
987
  - lib/spree/testing_support/factories/digital_factory.rb
892
988
  - lib/spree/testing_support/factories/digital_link_factory.rb
989
+ - lib/spree/testing_support/factories/favicon_image_factory.rb
990
+ - lib/spree/testing_support/factories/google_data_feed_factory.rb
893
991
  - lib/spree/testing_support/factories/icon_factory.rb
894
992
  - lib/spree/testing_support/factories/image_factory.rb
895
993
  - lib/spree/testing_support/factories/inventory_unit_factory.rb
@@ -907,6 +1005,7 @@ files:
907
1005
  - lib/spree/testing_support/factories/product_factory.rb
908
1006
  - lib/spree/testing_support/factories/product_option_type_factory.rb
909
1007
  - lib/spree/testing_support/factories/product_property_factory.rb
1008
+ - lib/spree/testing_support/factories/product_translation_factory.rb
910
1009
  - lib/spree/testing_support/factories/promotion_action_factory.rb
911
1010
  - lib/spree/testing_support/factories/promotion_category_factory.rb
912
1011
  - lib/spree/testing_support/factories/promotion_factory.rb
@@ -960,6 +1059,7 @@ files:
960
1059
  - lib/spree/testing_support/preferences.rb
961
1060
  - lib/spree/testing_support/rspec_retry_config.rb
962
1061
  - lib/spree/testing_support/url_helpers.rb
1062
+ - lib/spree/translation_migrations.rb
963
1063
  - lib/spree_core.rb
964
1064
  - lib/tasks/core.rake
965
1065
  - lib/tasks/exchanges.rake
@@ -977,9 +1077,9 @@ licenses:
977
1077
  - BSD-3-Clause
978
1078
  metadata:
979
1079
  bug_tracker_uri: https://github.com/spree/spree/issues
980
- changelog_uri: https://github.com/spree/spree/releases/tag/v4.4.0
1080
+ changelog_uri: https://github.com/spree/spree/releases/tag/v4.6.0
981
1081
  documentation_uri: https://dev-docs.spreecommerce.org/
982
- source_code_uri: https://github.com/spree/spree/tree/v4.4.0
1082
+ source_code_uri: https://github.com/spree/spree/tree/v4.6.0
983
1083
  post_install_message:
984
1084
  rdoc_options: []
985
1085
  require_paths:
@@ -995,7 +1095,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
995
1095
  - !ruby/object:Gem::Version
996
1096
  version: 1.8.23
997
1097
  requirements: []
998
- rubygems_version: 3.2.32
1098
+ rubygems_version: 3.4.1
999
1099
  signing_key:
1000
1100
  specification_version: 4
1001
1101
  summary: The bare bones necessary for Spree
@@ -1,9 +0,0 @@
1
- module FriendlyId
2
- module SlugDecorator
3
- def self.prepended(base)
4
- base.acts_as_paranoid
5
- end
6
- end
7
- end
8
-
9
- FriendlyId::Slug.prepend FriendlyId::SlugDecorator