spree_core 5.4.0.beta → 5.4.0.beta3

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 (161) hide show
  1. checksums.yaml +4 -4
  2. data/app/finders/spree/products/find.rb +2 -42
  3. data/app/helpers/spree/base_helper.rb +1 -54
  4. data/app/mailers/spree/base_mailer.rb +4 -3
  5. data/app/models/concerns/spree/adjustment_source.rb +0 -8
  6. data/app/models/concerns/spree/admin_user_methods.rb +0 -2
  7. data/app/models/concerns/spree/image_methods.rb +4 -0
  8. data/app/models/concerns/spree/metadata.rb +10 -0
  9. data/app/models/concerns/spree/product_scopes.rb +21 -49
  10. data/app/models/concerns/spree/stores/markets.rb +7 -7
  11. data/app/models/concerns/spree/vat_price_calculation.rb +2 -2
  12. data/app/models/spree/ability.rb +5 -5
  13. data/app/models/spree/address.rb +3 -2
  14. data/app/models/spree/adjustable/promotion_accumulator.rb +1 -1
  15. data/app/models/spree/adjustment.rb +1 -20
  16. data/app/models/spree/api_key.rb +60 -2
  17. data/app/models/spree/country.rb +7 -3
  18. data/app/models/spree/credit_card.rb +0 -27
  19. data/app/models/spree/current.rb +38 -2
  20. data/app/models/spree/exports/products.rb +0 -6
  21. data/app/models/spree/gateway/bogus.rb +9 -9
  22. data/app/models/spree/gateway.rb +0 -3
  23. data/app/models/spree/gift_card_batch.rb +4 -0
  24. data/app/models/spree/image/configuration/active_storage.rb +0 -2
  25. data/app/models/spree/image.rb +7 -31
  26. data/app/models/spree/log_entry.rb +8 -5
  27. data/app/models/spree/market.rb +1 -2
  28. data/app/models/spree/market_country.rb +17 -0
  29. data/app/models/spree/newsletter_subscriber.rb +0 -3
  30. data/app/models/spree/order/checkout.rb +0 -18
  31. data/app/models/spree/order.rb +22 -16
  32. data/app/models/spree/payment/gateway_options.rb +2 -2
  33. data/app/models/spree/payment/processing.rb +5 -5
  34. data/app/models/spree/payment.rb +1 -1
  35. data/app/models/spree/payment_connection_error.rb +3 -0
  36. data/app/models/spree/payment_method/check.rb +1 -1
  37. data/app/models/spree/payment_method/store_credit.rb +5 -5
  38. data/app/models/spree/payment_response.rb +70 -0
  39. data/app/models/spree/permission_sets/default_customer.rb +0 -5
  40. data/app/models/spree/permission_sets/product_display.rb +0 -2
  41. data/app/models/spree/permission_sets/product_management.rb +0 -2
  42. data/app/models/spree/product.rb +5 -85
  43. data/app/models/spree/promotion.rb +2 -14
  44. data/app/models/spree/promotion_handler/coupon.rb +3 -3
  45. data/app/models/spree/prototype.rb +0 -3
  46. data/app/models/spree/refund.rb +6 -2
  47. data/app/models/spree/reimbursement.rb +0 -2
  48. data/app/models/spree/shipment.rb +0 -1
  49. data/app/models/spree/shipment_handler.rb +0 -2
  50. data/app/models/spree/shipping_category.rb +3 -3
  51. data/app/models/spree/store.rb +10 -49
  52. data/app/models/spree/store_credit.rb +4 -0
  53. data/app/models/spree/tax_category.rb +1 -11
  54. data/app/models/spree/taxon.rb +0 -16
  55. data/app/models/spree/variant.rb +2 -40
  56. data/app/models/spree/zone.rb +1 -4
  57. data/app/services/spree/cart/add_item.rb +8 -4
  58. data/app/services/spree/cart/create.rb +13 -2
  59. data/app/services/spree/newsletter/subscribe.rb +2 -2
  60. data/app/services/spree/products/duplicator.rb +0 -12
  61. data/app/services/spree/products/prepare_nested_attributes.rb +0 -12
  62. data/app/subscribers/spree/invitation_email_subscriber.rb +1 -1
  63. data/config/locales/en.yml +4 -20
  64. data/db/migrate/20210914000000_spree_four_three.rb +0 -38
  65. data/db/migrate/20210915064329_add_metadata_to_spree_multiple_tables.rb +0 -1
  66. data/db/migrate/20260226000000_add_locale_to_spree_orders.rb +5 -0
  67. data/db/migrate/20260226100000_add_token_digest_to_spree_api_keys.rb +21 -0
  68. data/lib/spree/core/configuration.rb +0 -3
  69. data/lib/spree/core/controller_helpers/strong_parameters.rb +1 -2
  70. data/lib/spree/core/dependencies.rb +2 -10
  71. data/lib/spree/core/engine.rb +0 -13
  72. data/lib/spree/core/pricing/resolver.rb +1 -9
  73. data/lib/spree/core/version.rb +1 -1
  74. data/lib/spree/core.rb +10 -26
  75. data/lib/spree/permitted_attributes.rb +2 -14
  76. data/lib/spree/testing_support/factories/order_factory.rb +1 -0
  77. data/lib/spree/testing_support/factories/payment_method_factory.rb +1 -6
  78. data/lib/spree/testing_support/factories/product_factory.rb +0 -7
  79. data/lib/spree/testing_support/factories/prototype_factory.rb +0 -2
  80. data/lib/tasks/cli.rake +50 -0
  81. data/lib/tasks/core.rake +0 -265
  82. metadata +9 -111
  83. data/app/finders/spree/posts/find.rb +0 -137
  84. data/app/finders/spree/product_properties/find_available.rb +0 -20
  85. data/app/helpers/spree/mail_helper.rb +0 -27
  86. data/app/jobs/spree/api_key_touch_job.rb +0 -9
  87. data/app/mailers/spree/test_mailer.rb +0 -8
  88. data/app/models/action_text/video_embed.rb +0 -13
  89. data/app/models/concerns/spree/filter_param.rb +0 -21
  90. data/app/models/concerns/spree/has_one_link.rb +0 -42
  91. data/app/models/concerns/spree/linkable.rb +0 -9
  92. data/app/models/concerns/spree/previewable.rb +0 -17
  93. data/app/models/spree/data_feed/google.rb +0 -15
  94. data/app/models/spree/data_feed.rb +0 -42
  95. data/app/models/spree/gateway/bogus_simple.rb +0 -24
  96. data/app/models/spree/newsletter_subscriber/emails.rb +0 -12
  97. data/app/models/spree/order/emails.rb +0 -24
  98. data/app/models/spree/post.rb +0 -108
  99. data/app/models/spree/post_category.rb +0 -46
  100. data/app/models/spree/product_property.rb +0 -51
  101. data/app/models/spree/property.rb +0 -86
  102. data/app/models/spree/property_prototype.rb +0 -9
  103. data/app/models/spree/reimbursement/emails.rb +0 -11
  104. data/app/models/spree/shipment/emails.rb +0 -11
  105. data/app/models/spree/store_favicon_image.rb +0 -20
  106. data/app/models/spree/store_logo.rb +0 -4
  107. data/app/models/spree/store_mailer_logo.rb +0 -7
  108. data/app/models/spree/taxon_image/configuration/active_storage.rb +0 -26
  109. data/app/models/spree/taxon_image.rb +0 -28
  110. data/app/presenters/spree/filters/properties_presenter.rb +0 -23
  111. data/app/presenters/spree/filters/property_presenter.rb +0 -42
  112. data/app/services/spree/data_feeds/google/optional_attributes.rb +0 -23
  113. data/app/services/spree/data_feeds/google/optional_sub_attributes.rb +0 -21
  114. data/app/services/spree/data_feeds/google/products_list.rb +0 -14
  115. data/app/services/spree/data_feeds/google/required_attributes.rb +0 -68
  116. data/app/services/spree/data_feeds/google/rss.rb +0 -109
  117. data/app/sorters/spree/posts/sort.rb +0 -40
  118. data/app/views/action_text/video_embeds/_thumbnail.html.erb +0 -1
  119. data/app/views/action_text/video_embeds/_video_embed.html.erb +0 -3
  120. data/app/views/layouts/action_text/contents/_content.html.erb +0 -3
  121. data/app/views/spree/test_mailer/test_email.html.erb +0 -40
  122. data/app/views/spree/test_mailer/test_email.text.erb +0 -4
  123. data/config/initializers/oembed.rb +0 -1
  124. data/db/migrate/20221229132350_create_spree_data_feed_settings.rb +0 -14
  125. data/db/migrate/20230109084253_create_product_property_translations.rb +0 -24
  126. data/db/migrate/20230109105943_create_property_translations.rb +0 -24
  127. data/db/migrate/20230415155958_rename_data_feed_settings_table.rb +0 -5
  128. data/db/migrate/20230415160828_rename_data_feed_table_columns.rb +0 -7
  129. data/db/migrate/20230415161226_add_indexes_to_data_feeds_table.rb +0 -5
  130. data/db/migrate/20230512094803_rename_data_feeds_column_provider_to_type.rb +0 -5
  131. data/db/migrate/20240914153106_add_display_on_to_spree_properties.rb +0 -5
  132. data/db/migrate/20240915144935_add_position_to_spree_properties.rb +0 -6
  133. data/db/migrate/20250121160028_create_spree_posts_and_spree_post_categories.rb +0 -33
  134. data/db/migrate/20250127083740_add_kind_to_spree_properties.rb +0 -5
  135. data/db/migrate/20250217171018_create_action_text_video_embeds.rb +0 -11
  136. data/db/migrate/20250305121657_remove_spree_posts_indices.rb +0 -7
  137. data/db/migrate/20250730154601_add_unique_index_on_spree_properties_name.rb +0 -24
  138. data/db/sample_data/posts.rb +0 -7
  139. data/lib/generators/spree/cursor_rules/cursor_rules_generator.rb +0 -19
  140. data/lib/generators/spree/cursor_rules/templates/spree_rules.mdc +0 -387
  141. data/lib/spree/core/controller_helpers/search.rb +0 -17
  142. data/lib/spree/core/importer/order.rb +0 -244
  143. data/lib/spree/core/importer/product.rb +0 -67
  144. data/lib/spree/core/importer.rb +0 -9
  145. data/lib/spree/core/product_filters.rb +0 -218
  146. data/lib/spree/core/query_filters/comparable.rb +0 -50
  147. data/lib/spree/core/query_filters/date.rb +0 -8
  148. data/lib/spree/core/query_filters/number.rb +0 -8
  149. data/lib/spree/core/query_filters/text.rb +0 -36
  150. data/lib/spree/core/query_filters.rb +0 -11
  151. data/lib/spree/core/search/base.rb +0 -144
  152. data/lib/spree/testing_support/factories/favicon_image_factory.rb +0 -9
  153. data/lib/spree/testing_support/factories/google_data_feed_factory.rb +0 -7
  154. data/lib/spree/testing_support/factories/post_category_factory.rb +0 -7
  155. data/lib/spree/testing_support/factories/post_factory.rb +0 -22
  156. data/lib/spree/testing_support/factories/product_property_factory.rb +0 -7
  157. data/lib/spree/testing_support/factories/property_factory.rb +0 -28
  158. data/lib/spree/testing_support/factories/taxon_image_factory.rb +0 -9
  159. data/lib/spree/testing_support/flash.rb +0 -25
  160. data/lib/spree/testing_support/flatpickr_capybara.rb +0 -124
  161. data/lib/tasks/exchanges.rake +0 -66
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: 5.4.0.beta
4
+ version: 5.4.0.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2026-02-25 00:00:00.000000000 Z
13
+ date: 2026-03-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: i18n-tasks
@@ -46,20 +46,6 @@ dependencies:
46
46
  - - "<"
47
47
  - !ruby/object:Gem::Version
48
48
  version: '8.2'
49
- - !ruby/object:Gem::Dependency
50
- name: activemerchant
51
- requirement: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - "~>"
54
- - !ruby/object:Gem::Version
55
- version: '1.67'
56
- type: :runtime
57
- prerelease: false
58
- version_requirements: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - "~>"
61
- - !ruby/object:Gem::Version
62
- version: '1.67'
63
49
  - !ruby/object:Gem::Dependency
64
50
  name: acts_as_list
65
51
  requirement: !ruby/object:Gem::Requirement
@@ -330,20 +316,6 @@ dependencies:
330
316
  - - ">="
331
317
  - !ruby/object:Gem::Version
332
318
  version: '0'
333
- - !ruby/object:Gem::Dependency
334
- name: ruby-oembed
335
- requirement: !ruby/object:Gem::Requirement
336
- requirements:
337
- - - "~>"
338
- - !ruby/object:Gem::Version
339
- version: '0.18'
340
- type: :runtime
341
- prerelease: false
342
- version_requirements: !ruby/object:Gem::Requirement
343
- requirements:
344
- - - "~>"
345
- - !ruby/object:Gem::Version
346
- version: '0.18'
347
319
  - !ruby/object:Gem::Dependency
348
320
  name: state_machines-activerecord
349
321
  requirement: !ruby/object:Gem::Requirement
@@ -838,8 +810,6 @@ files:
838
810
  - app/finders/spree/orders/find_complete.rb
839
811
  - app/finders/spree/orders/find_current.rb
840
812
  - app/finders/spree/orders/finder_helper.rb
841
- - app/finders/spree/posts/find.rb
842
- - app/finders/spree/product_properties/find_available.rb
843
813
  - app/finders/spree/products/find.rb
844
814
  - app/finders/spree/stores/find_default.rb
845
815
  - app/finders/spree/taxons/find.rb
@@ -852,7 +822,6 @@ files:
852
822
  - app/helpers/spree/images_helper.rb
853
823
  - app/helpers/spree/integrations_helper.rb
854
824
  - app/helpers/spree/locale_helper.rb
855
- - app/helpers/spree/mail_helper.rb
856
825
  - app/helpers/spree/products_helper.rb
857
826
  - app/helpers/spree/shipment_helper.rb
858
827
  - app/javascript/spree/core/controllers/address_autocomplete_controller.js
@@ -863,7 +832,6 @@ files:
863
832
  - app/javascript/spree/core/helpers/debounce.js
864
833
  - app/javascript/spree/core/helpers/scroll_lock.js
865
834
  - app/jobs/spree/addresses/geocode_address_job.rb
866
- - app/jobs/spree/api_key_touch_job.rb
867
835
  - app/jobs/spree/base_job.rb
868
836
  - app/jobs/spree/coupon_codes/bulk_generate_job.rb
869
837
  - app/jobs/spree/events/subscriber_job.rb
@@ -884,8 +852,6 @@ files:
884
852
  - app/mailers/spree/export_mailer.rb
885
853
  - app/mailers/spree/invitation_mailer.rb
886
854
  - app/mailers/spree/report_mailer.rb
887
- - app/mailers/spree/test_mailer.rb
888
- - app/models/action_text/video_embed.rb
889
855
  - app/models/acts_as_taggable_on/tag_decorator.rb
890
856
  - app/models/concerns/spree/adjustment_source.rb
891
857
  - app/models/concerns/spree/admin_user_methods.rb
@@ -893,12 +859,9 @@ files:
893
859
  - app/models/concerns/spree/default_price.rb
894
860
  - app/models/concerns/spree/display_money.rb
895
861
  - app/models/concerns/spree/display_on.rb
896
- - app/models/concerns/spree/filter_param.rb
897
862
  - app/models/concerns/spree/has_image_alt_text.rb
898
- - app/models/concerns/spree/has_one_link.rb
899
863
  - app/models/concerns/spree/image_methods.rb
900
864
  - app/models/concerns/spree/integrations_concern.rb
901
- - app/models/concerns/spree/linkable.rb
902
865
  - app/models/concerns/spree/memoized_data.rb
903
866
  - app/models/concerns/spree/metadata.rb
904
867
  - app/models/concerns/spree/metafields.rb
@@ -909,7 +872,6 @@ files:
909
872
  - app/models/concerns/spree/parameterizable_name.rb
910
873
  - app/models/concerns/spree/payment_source_concern.rb
911
874
  - app/models/concerns/spree/prefixed_id.rb
912
- - app/models/concerns/spree/previewable.rb
913
875
  - app/models/concerns/spree/product_scopes.rb
914
876
  - app/models/concerns/spree/publishable.rb
915
877
  - app/models/concerns/spree/ransackable_attributes.rb
@@ -968,8 +930,6 @@ files:
968
930
  - app/models/spree/customer_group.rb
969
931
  - app/models/spree/customer_group_user.rb
970
932
  - app/models/spree/customer_return.rb
971
- - app/models/spree/data_feed.rb
972
- - app/models/spree/data_feed/google.rb
973
933
  - app/models/spree/digital.rb
974
934
  - app/models/spree/digital_link.rb
975
935
  - app/models/spree/event.rb
@@ -983,7 +943,6 @@ files:
983
943
  - app/models/spree/fulfilment_changer.rb
984
944
  - app/models/spree/gateway.rb
985
945
  - app/models/spree/gateway/bogus.rb
986
- - app/models/spree/gateway/bogus_simple.rb
987
946
  - app/models/spree/gateway/custom_payment_source_method.rb
988
947
  - app/models/spree/gateway_customer.rb
989
948
  - app/models/spree/gift_card.rb
@@ -1017,7 +976,6 @@ files:
1017
976
  - app/models/spree/metafields/rich_text.rb
1018
977
  - app/models/spree/metafields/short_text.rb
1019
978
  - app/models/spree/newsletter_subscriber.rb
1020
- - app/models/spree/newsletter_subscriber/emails.rb
1021
979
  - app/models/spree/option_type.rb
1022
980
  - app/models/spree/option_type_prototype.rb
1023
981
  - app/models/spree/option_value.rb
@@ -1027,7 +985,6 @@ files:
1027
985
  - app/models/spree/order/checkout.rb
1028
986
  - app/models/spree/order/currency_updater.rb
1029
987
  - app/models/spree/order/digital.rb
1030
- - app/models/spree/order/emails.rb
1031
988
  - app/models/spree/order/gift_card.rb
1032
989
  - app/models/spree/order/payments.rb
1033
990
  - app/models/spree/order/store_credit.rb
@@ -1043,9 +1000,11 @@ files:
1043
1000
  - app/models/spree/payment/processing.rb
1044
1001
  - app/models/spree/payment/webhooks.rb
1045
1002
  - app/models/spree/payment_capture_event.rb
1003
+ - app/models/spree/payment_connection_error.rb
1046
1004
  - app/models/spree/payment_method.rb
1047
1005
  - app/models/spree/payment_method/check.rb
1048
1006
  - app/models/spree/payment_method/store_credit.rb
1007
+ - app/models/spree/payment_response.rb
1049
1008
  - app/models/spree/payment_session.rb
1050
1009
  - app/models/spree/payment_sessions/bogus.rb
1051
1010
  - app/models/spree/payment_setup_session.rb
@@ -1066,8 +1025,6 @@ files:
1066
1025
  - app/models/spree/permission_sets/user_display.rb
1067
1026
  - app/models/spree/permission_sets/user_management.rb
1068
1027
  - app/models/spree/policy.rb
1069
- - app/models/spree/post.rb
1070
- - app/models/spree/post_category.rb
1071
1028
  - app/models/spree/preference.rb
1072
1029
  - app/models/spree/price.rb
1073
1030
  - app/models/spree/price_list.rb
@@ -1082,7 +1039,6 @@ files:
1082
1039
  - app/models/spree/product/webhooks.rb
1083
1040
  - app/models/spree/product_option_type.rb
1084
1041
  - app/models/spree/product_promotion_rule.rb
1085
- - app/models/spree/product_property.rb
1086
1042
  - app/models/spree/promotion.rb
1087
1043
  - app/models/spree/promotion/actions/create_adjustment.rb
1088
1044
  - app/models/spree/promotion/actions/create_item_adjustments.rb
@@ -1110,15 +1066,12 @@ files:
1110
1066
  - app/models/spree/promotion_rule.rb
1111
1067
  - app/models/spree/promotion_rule_taxon.rb
1112
1068
  - app/models/spree/promotion_rule_user.rb
1113
- - app/models/spree/property.rb
1114
- - app/models/spree/property_prototype.rb
1115
1069
  - app/models/spree/prototype.rb
1116
1070
  - app/models/spree/prototype_taxon.rb
1117
1071
  - app/models/spree/refund.rb
1118
1072
  - app/models/spree/refund_reason.rb
1119
1073
  - app/models/spree/reimbursement.rb
1120
1074
  - app/models/spree/reimbursement/credit.rb
1121
- - app/models/spree/reimbursement/emails.rb
1122
1075
  - app/models/spree/reimbursement/reimbursement_type_engine.rb
1123
1076
  - app/models/spree/reimbursement/reimbursement_type_validator.rb
1124
1077
  - app/models/spree/reimbursement_performer.rb
@@ -1152,7 +1105,6 @@ files:
1152
1105
  - app/models/spree/role_user.rb
1153
1106
  - app/models/spree/shipment.rb
1154
1107
  - app/models/spree/shipment/custom_events.rb
1155
- - app/models/spree/shipment/emails.rb
1156
1108
  - app/models/spree/shipment/webhooks.rb
1157
1109
  - app/models/spree/shipment_handler.rb
1158
1110
  - app/models/spree/shipping_calculator.rb
@@ -1191,9 +1143,6 @@ files:
1191
1143
  - app/models/spree/store_credit_category.rb
1192
1144
  - app/models/spree/store_credit_event.rb
1193
1145
  - app/models/spree/store_credit_type.rb
1194
- - app/models/spree/store_favicon_image.rb
1195
- - app/models/spree/store_logo.rb
1196
- - app/models/spree/store_mailer_logo.rb
1197
1146
  - app/models/spree/store_payment_method.rb
1198
1147
  - app/models/spree/store_product.rb
1199
1148
  - app/models/spree/store_promotion.rb
@@ -1201,8 +1150,6 @@ files:
1201
1150
  - app/models/spree/tax_category.rb
1202
1151
  - app/models/spree/tax_rate.rb
1203
1152
  - app/models/spree/taxon.rb
1204
- - app/models/spree/taxon_image.rb
1205
- - app/models/spree/taxon_image/configuration/active_storage.rb
1206
1153
  - app/models/spree/taxon_rule.rb
1207
1154
  - app/models/spree/taxon_rules/available_on.rb
1208
1155
  - app/models/spree/taxon_rules/sale.rb
@@ -1227,8 +1174,6 @@ files:
1227
1174
  - app/presenters/spree/filters/options_presenter.rb
1228
1175
  - app/presenters/spree/filters/price_presenter.rb
1229
1176
  - app/presenters/spree/filters/price_range_presenter.rb
1230
- - app/presenters/spree/filters/properties_presenter.rb
1231
- - app/presenters/spree/filters/property_presenter.rb
1232
1177
  - app/presenters/spree/filters/quantified_price_range_presenter.rb
1233
1178
  - app/presenters/spree/product_summary_presenter.rb
1234
1179
  - app/presenters/spree/variant_presenter.rb
@@ -1268,11 +1213,6 @@ files:
1268
1213
  - app/services/spree/coupon_codes/bulk_generate.rb
1269
1214
  - app/services/spree/coupon_codes/coupon_codes_handler.rb
1270
1215
  - app/services/spree/credit_cards/destroy.rb
1271
- - app/services/spree/data_feeds/google/optional_attributes.rb
1272
- - app/services/spree/data_feeds/google/optional_sub_attributes.rb
1273
- - app/services/spree/data_feeds/google/products_list.rb
1274
- - app/services/spree/data_feeds/google/required_attributes.rb
1275
- - app/services/spree/data_feeds/google/rss.rb
1276
1216
  - app/services/spree/generate_token.rb
1277
1217
  - app/services/spree/gift_cards/apply.rb
1278
1218
  - app/services/spree/gift_cards/redeem.rb
@@ -1333,7 +1273,6 @@ files:
1333
1273
  - app/sorters/spree/base_sorter.rb
1334
1274
  - app/sorters/spree/classifications/sort.rb
1335
1275
  - app/sorters/spree/orders/sort.rb
1336
- - app/sorters/spree/posts/sort.rb
1337
1276
  - app/sorters/spree/products/sort.rb
1338
1277
  - app/subscribers/spree/event_log_subscriber.rb
1339
1278
  - app/subscribers/spree/export_subscriber.rb
@@ -1343,10 +1282,7 @@ files:
1343
1282
  - app/validators/email_validator.rb
1344
1283
  - app/validators/spree/addresses/phone_validator.rb
1345
1284
  - app/validators/spree/url_validator.rb
1346
- - app/views/action_text/video_embeds/_thumbnail.html.erb
1347
- - app/views/action_text/video_embeds/_video_embed.html.erb
1348
1285
  - app/views/active_storage/blobs/_blob.html.erb
1349
- - app/views/layouts/action_text/contents/_content.html.erb
1350
1286
  - app/views/layouts/spree/base_mailer.html.erb
1351
1287
  - app/views/spree/addresses/_form.html.erb
1352
1288
  - app/views/spree/addresses/_suggestions_box.erb
@@ -1361,8 +1297,6 @@ files:
1361
1297
  - app/views/spree/shared/_mailer_line_item.html.erb
1362
1298
  - app/views/spree/shared/_mailer_logo.html.erb
1363
1299
  - app/views/spree/shared/_payment.html.erb
1364
- - app/views/spree/test_mailer/test_email.html.erb
1365
- - app/views/spree/test_mailer/test_email.text.erb
1366
1300
  - config/brakeman.ignore
1367
1301
  - config/i18n-tasks.yml
1368
1302
  - config/importmap.rb
@@ -1371,7 +1305,6 @@ files:
1371
1305
  - config/initializers/friendly_id.rb
1372
1306
  - config/initializers/inflections.rb
1373
1307
  - config/initializers/mobility.rb
1374
- - config/initializers/oembed.rb
1375
1308
  - config/initializers/rails61_fixes.rb
1376
1309
  - config/locales/en.yml
1377
1310
  - config/routes.rb
@@ -1414,28 +1347,19 @@ files:
1414
1347
  - db/migrate/20221215151408_add_selected_locale_to_spree_users.rb
1415
1348
  - db/migrate/20221219123957_add_deleted_at_to_product_translations.rb
1416
1349
  - db/migrate/20221220133432_add_uniqueness_constraint_to_product_translations.rb
1417
- - db/migrate/20221229132350_create_spree_data_feed_settings.rb
1418
1350
  - db/migrate/20230103144439_create_option_type_translations.rb
1419
1351
  - db/migrate/20230103151034_create_option_value_translations.rb
1420
- - db/migrate/20230109084253_create_product_property_translations.rb
1421
- - db/migrate/20230109105943_create_property_translations.rb
1422
1352
  - db/migrate/20230110142344_backfill_friendly_id_slug_locale.rb
1423
1353
  - db/migrate/20230111121534_add_additional_taxon_translation_fields.rb
1424
1354
  - db/migrate/20230117115531_create_taxonomy_translations.rb
1425
1355
  - db/migrate/20230210142732_create_store_translations.rb
1426
1356
  - db/migrate/20230210230434_add_deleted_at_to_store_translations.rb
1427
- - db/migrate/20230415155958_rename_data_feed_settings_table.rb
1428
- - db/migrate/20230415160828_rename_data_feed_table_columns.rb
1429
- - db/migrate/20230415161226_add_indexes_to_data_feeds_table.rb
1430
- - db/migrate/20230512094803_rename_data_feeds_column_provider_to_type.rb
1431
1357
  - db/migrate/20240303174340_fix_spree_stock_item_unique_index.rb
1432
1358
  - db/migrate/20240514105216_add_weight_and_dimension_units_to_spree_variants.rb
1433
1359
  - db/migrate/20240623172111_add_deleted_at_to_spree_stock_locations.rb
1434
1360
  - db/migrate/20240725124530_add_refunder_to_spree_refunds.rb
1435
1361
  - db/migrate/20240822163534_add_pretty_name_to_spree_taxons.rb
1436
1362
  - db/migrate/20240913143518_change_default_value_of_spree_option_types_filterable.rb
1437
- - db/migrate/20240914153106_add_display_on_to_spree_properties.rb
1438
- - db/migrate/20240915144935_add_position_to_spree_properties.rb
1439
1363
  - db/migrate/20241004181911_create_spree_coupon_codes.rb
1440
1364
  - db/migrate/20241005093437_add_multi_code_to_spree_promotions.rb
1441
1365
  - db/migrate/20241014140140_translate_rich_texts.rb
@@ -1452,17 +1376,13 @@ files:
1452
1376
  - db/migrate/20250114193857_add_metadata_to_spree_stores.rb
1453
1377
  - db/migrate/20250119165904_create_spree_custom_domains.rb
1454
1378
  - db/migrate/20250120152208_add_default_locale_to_action_text_rich_texts.rb
1455
- - db/migrate/20250121160028_create_spree_posts_and_spree_post_categories.rb
1456
1379
  - db/migrate/20250122113708_add_first_and_last_name_to_spree_admin_class.rb
1457
1380
  - db/migrate/20250123135358_add_custom_code_fields_to_spree_store.rb
1458
- - db/migrate/20250127083740_add_kind_to_spree_properties.rb
1459
1381
  - db/migrate/20250127112758_add_latitude_and_longitude_to_spree_addresses.rb
1460
1382
  - db/migrate/20250127151258_add_phone_to_spree_users.rb
1461
1383
  - db/migrate/20250204162453_create_spree_reports.rb
1462
1384
  - db/migrate/20250207084000_add_accepts_email_marketing_field_to_spree_users_table.rb
1463
- - db/migrate/20250217171018_create_action_text_video_embeds.rb
1464
1385
  - db/migrate/20250304115943_add_performed_by_to_spree_reimbursements.rb
1465
- - db/migrate/20250305121657_remove_spree_posts_indices.rb
1466
1386
  - db/migrate/20250311105934_create_spree_gateway_customers.rb
1467
1387
  - db/migrate/20250312202705_add_unique_index_on_promotion_rules_associations.rb
1468
1388
  - db/migrate/20250313104226_add_user_type_to_spree_role_users.rb
@@ -1479,7 +1399,6 @@ files:
1479
1399
  - db/migrate/20250605131334_add_missing_fields_to_users.rb
1480
1400
  - db/migrate/20250728095629_create_spree_metafields.rb
1481
1401
  - db/migrate/20250730102644_add_missing_unique_indexes_to_spree_option_types_and_values.rb
1482
- - db/migrate/20250730154601_add_unique_index_on_spree_properties_name.rb
1483
1402
  - db/migrate/20250811112056_create_spree_policies.rb
1484
1403
  - db/migrate/20250821211705_fix_unique_index_on_spree_order_promotions.rb
1485
1404
  - db/migrate/20250826093602_create_spree_newsletter_subscribers.rb
@@ -1510,11 +1429,12 @@ files:
1510
1429
  - db/migrate/20260213000000_create_spree_payment_sessions.rb
1511
1430
  - db/migrate/20260218000000_create_spree_payment_setup_sessions.rb
1512
1431
  - db/migrate/20260220000000_create_spree_markets.rb
1432
+ - db/migrate/20260226000000_add_locale_to_spree_orders.rb
1433
+ - db/migrate/20260226100000_add_token_digest_to_spree_api_keys.rb
1513
1434
  - db/sample_data/customers.csv
1514
1435
  - db/sample_data/metafield_definitions.rb
1515
1436
  - db/sample_data/orders.rb
1516
1437
  - db/sample_data/payment_methods.rb
1517
- - db/sample_data/posts.rb
1518
1438
  - db/sample_data/products.csv
1519
1439
  - db/sample_data/promotions.rb
1520
1440
  - db/sample_data/shipping_methods.rb
@@ -1528,8 +1448,6 @@ files:
1528
1448
  - lib/generators/spree/authentication/dummy/dummy_generator.rb
1529
1449
  - lib/generators/spree/authentication/dummy/templates/authentication_helpers.rb.tt
1530
1450
  - lib/generators/spree/authentication/dummy/templates/create_spree_admin_users.rb.tt
1531
- - lib/generators/spree/cursor_rules/cursor_rules_generator.rb
1532
- - lib/generators/spree/cursor_rules/templates/spree_rules.mdc
1533
1451
  - lib/generators/spree/dummy/dummy_generator.rb
1534
1452
  - lib/generators/spree/dummy/templates/app/assets/config/manifest.js
1535
1453
  - lib/generators/spree/dummy/templates/rails/application.rb
@@ -1555,16 +1473,12 @@ files:
1555
1473
  - lib/spree/core/controller_helpers/currency.rb
1556
1474
  - lib/spree/core/controller_helpers/locale.rb
1557
1475
  - lib/spree/core/controller_helpers/order.rb
1558
- - lib/spree/core/controller_helpers/search.rb
1559
1476
  - lib/spree/core/controller_helpers/store.rb
1560
1477
  - lib/spree/core/controller_helpers/strong_parameters.rb
1561
1478
  - lib/spree/core/controller_helpers/turbo.rb
1562
1479
  - lib/spree/core/dependencies.rb
1563
1480
  - lib/spree/core/dependencies_helper.rb
1564
1481
  - lib/spree/core/engine.rb
1565
- - lib/spree/core/importer.rb
1566
- - lib/spree/core/importer/order.rb
1567
- - lib/spree/core/importer/product.rb
1568
1482
  - lib/spree/core/number_generator.rb
1569
1483
  - lib/spree/core/partials.rb
1570
1484
  - lib/spree/core/permission_configuration.rb
@@ -1576,15 +1490,8 @@ files:
1576
1490
  - lib/spree/core/preferences/store.rb
1577
1491
  - lib/spree/core/pricing/context.rb
1578
1492
  - lib/spree/core/pricing/resolver.rb
1579
- - lib/spree/core/product_filters.rb
1580
- - lib/spree/core/query_filters.rb
1581
- - lib/spree/core/query_filters/comparable.rb
1582
- - lib/spree/core/query_filters/date.rb
1583
- - lib/spree/core/query_filters/number.rb
1584
- - lib/spree/core/query_filters/text.rb
1585
1493
  - lib/spree/core/ransack_configuration.rb
1586
1494
  - lib/spree/core/routes.rb
1587
- - lib/spree/core/search/base.rb
1588
1495
  - lib/spree/core/token_generator.rb
1589
1496
  - lib/spree/core/version.rb
1590
1497
  - lib/spree/database_type_utilities.rb
@@ -1624,11 +1531,9 @@ files:
1624
1531
  - lib/spree/testing_support/factories/digital_factory.rb
1625
1532
  - lib/spree/testing_support/factories/digital_link_factory.rb
1626
1533
  - lib/spree/testing_support/factories/export_factory.rb
1627
- - lib/spree/testing_support/factories/favicon_image_factory.rb
1628
1534
  - lib/spree/testing_support/factories/gateway_customer_factory.rb
1629
1535
  - lib/spree/testing_support/factories/gift_card_batch_factory.rb
1630
1536
  - lib/spree/testing_support/factories/gift_card_factory.rb
1631
- - lib/spree/testing_support/factories/google_data_feed_factory.rb
1632
1537
  - lib/spree/testing_support/factories/image_factory.rb
1633
1538
  - lib/spree/testing_support/factories/import_factory.rb
1634
1539
  - lib/spree/testing_support/factories/import_mapping_factory.rb
@@ -1652,20 +1557,16 @@ files:
1652
1557
  - lib/spree/testing_support/factories/payment_setup_session_factory.rb
1653
1558
  - lib/spree/testing_support/factories/payment_source_factory.rb
1654
1559
  - lib/spree/testing_support/factories/policy_factory.rb
1655
- - lib/spree/testing_support/factories/post_category_factory.rb
1656
- - lib/spree/testing_support/factories/post_factory.rb
1657
1560
  - lib/spree/testing_support/factories/price_factory.rb
1658
1561
  - lib/spree/testing_support/factories/price_list_factory.rb
1659
1562
  - lib/spree/testing_support/factories/price_rule_factory.rb
1660
1563
  - lib/spree/testing_support/factories/product_factory.rb
1661
1564
  - lib/spree/testing_support/factories/product_option_type_factory.rb
1662
- - lib/spree/testing_support/factories/product_property_factory.rb
1663
1565
  - lib/spree/testing_support/factories/product_translation_factory.rb
1664
1566
  - lib/spree/testing_support/factories/promotion_action_factory.rb
1665
1567
  - lib/spree/testing_support/factories/promotion_category_factory.rb
1666
1568
  - lib/spree/testing_support/factories/promotion_factory.rb
1667
1569
  - lib/spree/testing_support/factories/promotion_rule_factory.rb
1668
- - lib/spree/testing_support/factories/property_factory.rb
1669
1570
  - lib/spree/testing_support/factories/prototype_factory.rb
1670
1571
  - lib/spree/testing_support/factories/refund_factory.rb
1671
1572
  - lib/spree/testing_support/factories/reimbursement_credit_factory.rb
@@ -1696,7 +1597,6 @@ files:
1696
1597
  - lib/spree/testing_support/factories/tax_category_factory.rb
1697
1598
  - lib/spree/testing_support/factories/tax_rate_factory.rb
1698
1599
  - lib/spree/testing_support/factories/taxon_factory.rb
1699
- - lib/spree/testing_support/factories/taxon_image_factory.rb
1700
1600
  - lib/spree/testing_support/factories/taxon_rule_factory.rb
1701
1601
  - lib/spree/testing_support/factories/taxonomy_factory.rb
1702
1602
  - lib/spree/testing_support/factories/user_factory.rb
@@ -1708,8 +1608,6 @@ files:
1708
1608
  - lib/spree/testing_support/factories/wishlist_factory.rb
1709
1609
  - lib/spree/testing_support/factories/zone_factory.rb
1710
1610
  - lib/spree/testing_support/factories/zone_member_factory.rb
1711
- - lib/spree/testing_support/flash.rb
1712
- - lib/spree/testing_support/flatpickr_capybara.rb
1713
1611
  - lib/spree/testing_support/i18n.rb
1714
1612
  - lib/spree/testing_support/image_helpers.rb
1715
1613
  - lib/spree/testing_support/jobs.rb
@@ -1726,9 +1624,9 @@ files:
1726
1624
  - lib/spree/translation_migrations.rb
1727
1625
  - lib/spree/webhooks.rb
1728
1626
  - lib/spree_core.rb
1627
+ - lib/tasks/cli.rake
1729
1628
  - lib/tasks/core.rake
1730
1629
  - lib/tasks/dependencies.rake
1731
- - lib/tasks/exchanges.rake
1732
1630
  - lib/tasks/images.rake
1733
1631
  - lib/tasks/markets.rake
1734
1632
  - lib/tasks/products.rake
@@ -1755,9 +1653,9 @@ licenses:
1755
1653
  - BSD-3-Clause
1756
1654
  metadata:
1757
1655
  bug_tracker_uri: https://github.com/spree/spree/issues
1758
- changelog_uri: https://github.com/spree/spree/releases/tag/v5.4.0.beta
1656
+ changelog_uri: https://github.com/spree/spree/releases/tag/v5.4.0.beta3
1759
1657
  documentation_uri: https://docs.spreecommerce.org/
1760
- source_code_uri: https://github.com/spree/spree/tree/v5.4.0.beta
1658
+ source_code_uri: https://github.com/spree/spree/tree/v5.4.0.beta3
1761
1659
  post_install_message:
1762
1660
  rdoc_options: []
1763
1661
  require_paths:
@@ -1,137 +0,0 @@
1
- module Spree
2
- module Posts
3
- class Find < Spree::BaseFinder
4
- def initialize(scope:, params:)
5
- super(scope: scope, params: params)
6
- @scope = scope
7
- @query = params[:q].presence&.strip
8
- @ids = String(params.dig(:filter, :ids)).split(',')
9
- @slugs = String(params.dig(:filter, :slugs)).split(',')
10
- @category_ids = String(params.dig(:filter, :category_ids)).split(',')
11
- @author_ids = String(params.dig(:filter, :author_ids)).split(',')
12
- @tags = params.dig(:filter, :tags).to_s.split(',').compact_blank
13
- @sort_by = params[:sort_by]
14
- @published = params.dig(:filter, :published)
15
- end
16
-
17
- def execute
18
- posts = by_ids(scope)
19
- posts = by_slugs(posts)
20
- posts = by_query(posts)
21
- posts = by_category_ids(posts)
22
- posts = by_author_ids(posts)
23
- posts = by_tags(posts)
24
- posts = by_published(posts)
25
- posts = ordered(posts)
26
-
27
- posts.distinct
28
- end
29
-
30
- private
31
-
32
- attr_reader :scope, :query, :ids, :slugs, :category_ids, :author_ids, :tags, :sort_by, :published
33
-
34
- def query?
35
- query.present?
36
- end
37
-
38
- def ids?
39
- ids.present?
40
- end
41
-
42
- def slugs?
43
- slugs.present?
44
- end
45
-
46
- def category_ids?
47
- category_ids.present?
48
- end
49
-
50
- def author_ids?
51
- author_ids.present?
52
- end
53
-
54
- def tags?
55
- tags.present?
56
- end
57
-
58
- def published?
59
- published.present?
60
- end
61
-
62
- def sort_by?
63
- sort_by.present?
64
- end
65
-
66
- def by_query(posts)
67
- return posts unless query?
68
-
69
- posts.search_by_title(query)
70
- end
71
-
72
- def by_ids(posts)
73
- return posts unless ids?
74
-
75
- posts.where(id: ids)
76
- end
77
-
78
- def by_slugs(posts)
79
- return posts unless slugs?
80
-
81
- posts.where(slug: slugs)
82
- end
83
-
84
- def by_category_ids(posts)
85
- return posts unless category_ids?
86
-
87
- posts.where(post_category_id: category_ids)
88
- end
89
-
90
- def by_author_ids(posts)
91
- return posts unless author_ids?
92
-
93
- posts.where(author_id: author_ids)
94
- end
95
-
96
- def by_tags(posts)
97
- return posts if tags.empty?
98
-
99
- posts.tagged_with(tags, any: true)
100
- end
101
-
102
- def by_published(posts)
103
- return posts unless published?
104
-
105
- case published.to_s
106
- when 'true'
107
- posts.published
108
- when 'false'
109
- posts.where(published_at: nil)
110
- else
111
- posts
112
- end
113
- end
114
-
115
- def ordered(posts)
116
- return posts unless sort_by?
117
-
118
- case sort_by
119
- when 'newest-first'
120
- posts.by_newest
121
- when 'oldest-first'
122
- posts.order(created_at: :asc)
123
- when 'published-newest'
124
- posts.order(published_at: :desc)
125
- when 'published-oldest'
126
- posts.order(published_at: :asc)
127
- when 'title-a-z'
128
- posts.order(title: :asc)
129
- when 'title-z-a'
130
- posts.order(title: :desc)
131
- else
132
- posts
133
- end
134
- end
135
- end
136
- end
137
- end
@@ -1,20 +0,0 @@
1
- module Spree
2
- module ProductProperties
3
- class FindAvailable
4
- include ProductFilterable
5
-
6
- def initialize(scope: ProductProperty.spree_base_scopes, products_scope: Product.spree_base_scopes)
7
- @scope = scope
8
- @products_scope = products_scope
9
- end
10
-
11
- def execute
12
- find_available(scope, products_scope).includes(:translations)
13
- end
14
-
15
- private
16
-
17
- attr_reader :scope, :products_scope
18
- end
19
- end
20
- end
@@ -1,27 +0,0 @@
1
- module Spree
2
- module MailHelper
3
- include Spree::BaseHelper
4
- include Spree::ImagesHelper
5
-
6
- def variant_image_url(variant)
7
- image = variant.default_image
8
- image.present? && image.attached? ? spree_image_url(image, variant: :mini) : image_url('noimage/small.png')
9
- end
10
-
11
- def name_for(order)
12
- order.name || Spree.t('customer')
13
- end
14
-
15
- def store_logo
16
- @store_logo ||= current_store&.mailer_logo || current_store&.logo
17
- end
18
-
19
- def logo_path
20
- Spree::Deprecation.warn('logo_path is deprecated and will be removed in Spree 5.5. Please use Active Storage URL helpers instead.')
21
-
22
- return main_app.cdn_image_url(store_logo.variant(resize_to_limit: [244, 104])) if store_logo&.variable?
23
-
24
- return main_app.cdn_image_url(store_logo) if store_logo&.image?
25
- end
26
- end
27
- end
@@ -1,9 +0,0 @@
1
- module Spree
2
- class ApiKeyTouchJob < Spree::BaseJob
3
- queue_as Spree.queues.api_keys
4
-
5
- def perform(api_key_id)
6
- Spree::ApiKey.find_by(id: api_key_id)&.touch(:last_used_at)
7
- end
8
- end
9
- end
@@ -1,8 +0,0 @@
1
- module Spree
2
- class TestMailer < BaseMailer
3
- def test_email(email)
4
- subject = "#{Spree::Store.default.name} #{Spree.t('test_mailer.test_email.subject')}"
5
- mail(to: email, from: from_address, reply_to: reply_to_address, subject: subject)
6
- end
7
- end
8
- end
@@ -1,13 +0,0 @@
1
- module ActionText
2
- class VideoEmbed < ApplicationRecord
3
- include ActionText::Attachable
4
-
5
- validates :url, :raw_html, :thumbnail_url, presence: true
6
-
7
- # `to_partial_path` for the storefront render is by default "action_text/video_embeds/video_embed"
8
-
9
- def to_trix_content_attachment_partial_path
10
- 'action_text/video_embeds/thumbnail'
11
- end
12
- end
13
- end