spree_core 5.0.4 → 5.1.0.beta2

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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/logo.png +0 -0
  3. data/app/finders/spree/countries/find.rb +0 -8
  4. data/app/finders/spree/products/find.rb +28 -1
  5. data/app/finders/spree/taxons/find.rb +1 -1
  6. data/app/helpers/spree/base_helper.rb +4 -16
  7. data/app/helpers/spree/integrations_helper.rb +15 -0
  8. data/app/helpers/spree/mail_helper.rb +4 -3
  9. data/app/helpers/spree/products_helper.rb +1 -4
  10. data/app/javascript/spree/core/controllers/disable_submit_button_controller.js +19 -0
  11. data/app/mailers/spree/invitation_mailer.rb +24 -0
  12. data/app/models/concerns/spree/integrations_concern.rb +11 -0
  13. data/app/models/concerns/spree/product_scopes.rb +6 -6
  14. data/app/models/concerns/spree/translatable_resource.rb +4 -0
  15. data/app/models/concerns/spree/translatable_resource_scopes.rb +17 -3
  16. data/app/models/concerns/spree/unique_name.rb +2 -0
  17. data/app/models/concerns/spree/user_management.rb +33 -0
  18. data/app/models/concerns/spree/user_methods.rb +19 -0
  19. data/app/models/concerns/spree/user_roles.rb +43 -17
  20. data/app/models/spree/ability.rb +8 -6
  21. data/app/models/spree/asset.rb +1 -6
  22. data/app/models/spree/base.rb +1 -0
  23. data/app/models/spree/base_analytics_event_handler.rb +7 -2
  24. data/app/models/spree/classification.rb +13 -0
  25. data/app/models/spree/custom_domain.rb +2 -1
  26. data/app/models/spree/export.rb +1 -1
  27. data/app/models/spree/integration.rb +63 -0
  28. data/app/models/spree/invitation.rb +153 -0
  29. data/app/models/spree/invitations/store.rb +6 -0
  30. data/app/models/spree/order.rb +16 -1
  31. data/app/models/spree/order_merger.rb +7 -5
  32. data/app/models/spree/product_property.rb +1 -14
  33. data/app/models/spree/property.rb +3 -1
  34. data/app/models/spree/reports/sales_total.rb +5 -1
  35. data/app/models/spree/role.rb +16 -0
  36. data/app/models/spree/role_user.rb +32 -1
  37. data/app/models/spree/shipment_handler.rb +1 -0
  38. data/app/models/spree/shipping_method.rb +1 -1
  39. data/app/models/spree/store.rb +9 -4
  40. data/app/models/spree/store_credit_category.rb +4 -0
  41. data/app/models/spree/taxon.rb +4 -3
  42. data/app/services/spree/country_to_timezone.rb +273 -0
  43. data/app/services/spree/seeds/admin_user.rb +4 -2
  44. data/app/services/spree/seeds/all.rb +3 -1
  45. data/app/services/spree/seeds/digital_delivery.rb +20 -0
  46. data/app/services/spree/seeds/returns_environment.rb +27 -0
  47. data/app/services/spree/seeds/tax_categories.rb +12 -0
  48. data/app/services/spree/stores/settings_defaults_by_country.rb +38 -0
  49. data/app/services/spree/tags/bulk_add.rb +13 -7
  50. data/app/views/spree/invitation_mailer/invitation_accepted.html.erb +12 -0
  51. data/app/views/spree/invitation_mailer/invitation_email.html.erb +21 -0
  52. data/config/locales/en.yml +43 -9
  53. data/db/migrate/20250407085228_create_spree_integrations.rb +12 -0
  54. data/db/migrate/20250410061306_create_spree_invitations.rb +20 -0
  55. data/db/migrate/20250418174652_add_resource_to_spree_role_users.rb +8 -0
  56. data/db/migrate/20250508060800_add_selected_locale_to_spree_admin_users.rb +8 -0
  57. data/db/migrate/20250509143831_add_session_id_to_spree_assets.rb +5 -0
  58. data/lib/generators/spree/authentication/devise/devise_generator.rb +5 -2
  59. data/lib/generators/spree/authentication/devise/templates/authentication_helpers.rb.tt +3 -3
  60. data/lib/generators/spree/dummy/dummy_generator.rb +1 -1
  61. data/lib/generators/spree/dummy/templates/app/assets/config/manifest.js +0 -0
  62. data/lib/generators/spree/dummy/templates/rails/application.rb +1 -2
  63. data/lib/generators/spree/install/install_generator.rb +5 -0
  64. data/lib/spree/core/controller_helpers/auth.rb +15 -14
  65. data/lib/spree/core/controller_helpers/common.rb +0 -71
  66. data/lib/spree/core/controller_helpers/currency.rb +11 -0
  67. data/lib/spree/core/controller_helpers/strong_parameters.rb +3 -2
  68. data/lib/spree/core/engine.rb +14 -3
  69. data/lib/spree/core/preferences/preferable.rb +10 -0
  70. data/lib/spree/core/preferences/preferable_class_methods.rb +52 -0
  71. data/lib/spree/core/version.rb +1 -1
  72. data/lib/spree/core.rb +1 -0
  73. data/lib/spree/permitted_attributes.rb +121 -13
  74. data/lib/spree/testing_support/controller_requests.rb +0 -92
  75. data/lib/spree/testing_support/factories/integration_factory.rb +7 -0
  76. data/lib/spree/testing_support/factories/invitation_factory.rb +6 -0
  77. data/lib/spree/testing_support/factories/page_block_factory.rb +1 -0
  78. data/lib/spree/testing_support/factories/promotion_action_factory.rb +4 -0
  79. data/lib/spree/testing_support/factories/user_factory.rb +14 -1
  80. data/lib/spree/translation_migrations.rb +27 -15
  81. data/lib/tasks/core.rake +8 -0
  82. metadata +43 -7
  83. data/app/validators/db_maximum_length_validator.rb +0 -16
  84. data/lib/generators/spree/dummy/templates/rails/script/rails +0 -6
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.0.4
4
+ version: 5.1.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -35,7 +35,7 @@ dependencies:
35
35
  version: '7.2'
36
36
  - - "<"
37
37
  - !ruby/object:Gem::Version
38
- version: '8.0'
38
+ version: '8.1'
39
39
  type: :runtime
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
@@ -45,7 +45,7 @@ dependencies:
45
45
  version: '7.2'
46
46
  - - "<"
47
47
  - !ruby/object:Gem::Version
48
- version: '8.0'
48
+ version: '8.1'
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: activemerchant
51
51
  requirement: !ruby/object:Gem::Requirement
@@ -526,6 +526,20 @@ dependencies:
526
526
  - - "~>"
527
527
  - !ruby/object:Gem::Version
528
528
  version: 0.3.2
529
+ - !ruby/object:Gem::Dependency
530
+ name: safely_block
531
+ requirement: !ruby/object:Gem::Requirement
532
+ requirements:
533
+ - - "~>"
534
+ - !ruby/object:Gem::Version
535
+ version: '0.4'
536
+ type: :runtime
537
+ prerelease: false
538
+ version_requirements: !ruby/object:Gem::Requirement
539
+ requirements:
540
+ - - "~>"
541
+ - !ruby/object:Gem::Version
542
+ version: '0.4'
529
543
  description: Spree Models, Helpers, Services and core libraries
530
544
  email: hello@spreecommerce.org
531
545
  executables: []
@@ -536,6 +550,7 @@ files:
536
550
  - Rakefile
537
551
  - app/assets/config/spree_core_manifest.js
538
552
  - app/assets/images/google_on_white_hdpi.png
553
+ - app/assets/images/logo.png
539
554
  - app/controllers/spree/base_controller.rb
540
555
  - app/finders/concerns/spree/product_filterable.rb
541
556
  - app/finders/spree/addresses/find.rb
@@ -558,11 +573,13 @@ files:
558
573
  - app/helpers/spree/base_helper.rb
559
574
  - app/helpers/spree/currency_helper.rb
560
575
  - app/helpers/spree/images_helper.rb
576
+ - app/helpers/spree/integrations_helper.rb
561
577
  - app/helpers/spree/locale_helper.rb
562
578
  - app/helpers/spree/mail_helper.rb
563
579
  - app/helpers/spree/products_helper.rb
564
580
  - app/javascript/spree/core/controllers/address_autocomplete_controller.js
565
581
  - app/javascript/spree/core/controllers/address_form_controller.js
582
+ - app/javascript/spree/core/controllers/disable_submit_button_controller.js
566
583
  - app/javascript/spree/core/controllers/enable_button_controller.js
567
584
  - app/javascript/spree/core/helpers/address_autocomplete/google_places_suggestions_provider.js
568
585
  - app/javascript/spree/core/helpers/debounce.js
@@ -581,6 +598,7 @@ files:
581
598
  - app/jobs/spree/variants/remove_line_item_job.rb
582
599
  - app/mailers/spree/base_mailer.rb
583
600
  - app/mailers/spree/export_mailer.rb
601
+ - app/mailers/spree/invitation_mailer.rb
584
602
  - app/mailers/spree/report_mailer.rb
585
603
  - app/mailers/spree/test_mailer.rb
586
604
  - app/models/action_text/rich_text_decorator.rb
@@ -595,6 +613,7 @@ files:
595
613
  - app/models/concerns/spree/has_one_link.rb
596
614
  - app/models/concerns/spree/has_page_links.rb
597
615
  - app/models/concerns/spree/image_methods.rb
616
+ - app/models/concerns/spree/integrations_concern.rb
598
617
  - app/models/concerns/spree/memoized_data.rb
599
618
  - app/models/concerns/spree/metadata.rb
600
619
  - app/models/concerns/spree/multi_searchable.rb
@@ -614,6 +633,7 @@ files:
614
633
  - app/models/concerns/spree/translatable_resource_slug.rb
615
634
  - app/models/concerns/spree/unique_name.rb
616
635
  - app/models/concerns/spree/user_address.rb
636
+ - app/models/concerns/spree/user_management.rb
617
637
  - app/models/concerns/spree/user_methods.rb
618
638
  - app/models/concerns/spree/user_payment_source.rb
619
639
  - app/models/concerns/spree/user_reporting.rb
@@ -669,7 +689,10 @@ files:
669
689
  - app/models/spree/gateway_customer.rb
670
690
  - app/models/spree/image.rb
671
691
  - app/models/spree/image/configuration/active_storage.rb
692
+ - app/models/spree/integration.rb
672
693
  - app/models/spree/inventory_unit.rb
694
+ - app/models/spree/invitation.rb
695
+ - app/models/spree/invitations/store.rb
673
696
  - app/models/spree/legacy_user.rb
674
697
  - app/models/spree/line_item.rb
675
698
  - app/models/spree/log_entry.rb
@@ -941,6 +964,7 @@ files:
941
964
  - app/services/spree/checkout/update.rb
942
965
  - app/services/spree/classifications/reposition.rb
943
966
  - app/services/spree/compare_line_items.rb
967
+ - app/services/spree/country_to_timezone.rb
944
968
  - app/services/spree/coupon_codes/bulk_generate.rb
945
969
  - app/services/spree/coupon_codes/coupon_codes_handler.rb
946
970
  - app/services/spree/credit_cards/destroy.rb
@@ -967,13 +991,16 @@ files:
967
991
  - app/services/spree/seeds/all.rb
968
992
  - app/services/spree/seeds/countries.rb
969
993
  - app/services/spree/seeds/default_reimbursement_types.rb
994
+ - app/services/spree/seeds/digital_delivery.rb
970
995
  - app/services/spree/seeds/payment_methods.rb
996
+ - app/services/spree/seeds/returns_environment.rb
971
997
  - app/services/spree/seeds/roles.rb
972
998
  - app/services/spree/seeds/shipping_categories.rb
973
999
  - app/services/spree/seeds/states.rb
974
1000
  - app/services/spree/seeds/stock_locations.rb
975
1001
  - app/services/spree/seeds/store_credit_categories.rb
976
1002
  - app/services/spree/seeds/stores.rb
1003
+ - app/services/spree/seeds/tax_categories.rb
977
1004
  - app/services/spree/seeds/zones.rb
978
1005
  - app/services/spree/shipments/add_item.rb
979
1006
  - app/services/spree/shipments/change_state.rb
@@ -982,6 +1009,7 @@ files:
982
1009
  - app/services/spree/shipments/remove_item.rb
983
1010
  - app/services/spree/shipments/update.rb
984
1011
  - app/services/spree/stock_locations/stock_items/create.rb
1012
+ - app/services/spree/stores/settings_defaults_by_country.rb
985
1013
  - app/services/spree/tags/bulk_add.rb
986
1014
  - app/services/spree/tags/bulk_remove.rb
987
1015
  - app/services/spree/taxons/add_products.rb
@@ -996,7 +1024,6 @@ files:
996
1024
  - app/sorters/spree/classifications/sort.rb
997
1025
  - app/sorters/spree/orders/sort.rb
998
1026
  - app/sorters/spree/products/sort.rb
999
- - app/validators/db_maximum_length_validator.rb
1000
1027
  - app/validators/email_validator.rb
1001
1028
  - app/validators/spree/url_validator.rb
1002
1029
  - app/views/action_text/video_embeds/_thumbnail.html.erb
@@ -1007,6 +1034,8 @@ files:
1007
1034
  - app/views/spree/addresses/_form.html.erb
1008
1035
  - app/views/spree/addresses/_suggestions_box.erb
1009
1036
  - app/views/spree/export_mailer/export_done.html.erb
1037
+ - app/views/spree/invitation_mailer/invitation_accepted.html.erb
1038
+ - app/views/spree/invitation_mailer/invitation_email.html.erb
1010
1039
  - app/views/spree/report_mailer/report_done.html.erb
1011
1040
  - app/views/spree/shared/_base_mailer_footer.html.erb
1012
1041
  - app/views/spree/shared/_base_mailer_header.html.erb
@@ -1124,6 +1153,11 @@ files:
1124
1153
  - db/migrate/20250313104226_add_user_type_to_spree_role_users.rb
1125
1154
  - db/migrate/20250313175830_add_unique_index_on_promotion_action_line_items.rb
1126
1155
  - db/migrate/20250314144210_create_spree_taggings_and_spree_tags.rb
1156
+ - db/migrate/20250407085228_create_spree_integrations.rb
1157
+ - db/migrate/20250410061306_create_spree_invitations.rb
1158
+ - db/migrate/20250418174652_add_resource_to_spree_role_users.rb
1159
+ - db/migrate/20250508060800_add_selected_locale_to_spree_admin_users.rb
1160
+ - db/migrate/20250509143831_add_session_id_to_spree_assets.rb
1127
1161
  - db/seeds.rb
1128
1162
  - lib/friendly_id/paranoia.rb
1129
1163
  - lib/generators/spree/authentication/custom/custom_generator.rb
@@ -1131,12 +1165,12 @@ files:
1131
1165
  - lib/generators/spree/authentication/devise/devise_generator.rb
1132
1166
  - lib/generators/spree/authentication/devise/templates/authentication_helpers.rb.tt
1133
1167
  - lib/generators/spree/dummy/dummy_generator.rb
1168
+ - lib/generators/spree/dummy/templates/app/assets/config/manifest.js
1134
1169
  - lib/generators/spree/dummy/templates/initializers/devise.rb
1135
1170
  - lib/generators/spree/dummy/templates/rails/application.rb
1136
1171
  - lib/generators/spree/dummy/templates/rails/boot.rb
1137
1172
  - lib/generators/spree/dummy/templates/rails/database.yml
1138
1173
  - lib/generators/spree/dummy/templates/rails/routes.rb
1139
- - lib/generators/spree/dummy/templates/rails/script/rails
1140
1174
  - lib/generators/spree/dummy/templates/rails/test.rb
1141
1175
  - lib/generators/spree/dummy_model/dummy_model_generator.rb
1142
1176
  - lib/generators/spree/dummy_model/templates/migration.rb.tt
@@ -1216,7 +1250,9 @@ files:
1216
1250
  - lib/spree/testing_support/factories/gateway_customer_factory.rb
1217
1251
  - lib/spree/testing_support/factories/google_data_feed_factory.rb
1218
1252
  - lib/spree/testing_support/factories/image_factory.rb
1253
+ - lib/spree/testing_support/factories/integration_factory.rb
1219
1254
  - lib/spree/testing_support/factories/inventory_unit_factory.rb
1255
+ - lib/spree/testing_support/factories/invitation_factory.rb
1220
1256
  - lib/spree/testing_support/factories/line_item_factory.rb
1221
1257
  - lib/spree/testing_support/factories/log_entry_factory.rb
1222
1258
  - lib/spree/testing_support/factories/options_factory.rb
@@ -1308,9 +1344,9 @@ licenses:
1308
1344
  - BSD-3-Clause
1309
1345
  metadata:
1310
1346
  bug_tracker_uri: https://github.com/spree/spree/issues
1311
- changelog_uri: https://github.com/spree/spree/releases/tag/v5.0.4
1347
+ changelog_uri: https://github.com/spree/spree/releases/tag/v5.1.0.beta2
1312
1348
  documentation_uri: https://docs.spreecommerce.org/
1313
- source_code_uri: https://github.com/spree/spree/tree/v5.0.4
1349
+ source_code_uri: https://github.com/spree/spree/tree/v5.1.0.beta2
1314
1350
  post_install_message:
1315
1351
  rdoc_options: []
1316
1352
  require_paths:
@@ -1,16 +0,0 @@
1
- ##
2
- # Validates a field based on the maximum length of the underlying DB field, if there is one.
3
- class DbMaximumLengthValidator < ActiveModel::EachValidator
4
- def validate_each(record, attribute, value)
5
- Spree::Deprecation.warn(<<-DEPRECATION, caller)
6
- `DbMaximumLengthValidator` is deprecated and will be removed in Spree 5.0.
7
- Please remove any `db_maximum_length: true` validations from your codebase
8
- DEPRECATION
9
-
10
- limit = record.class.columns_hash[attribute.to_s].limit
11
- value = record[attribute.to_sym]
12
- if value && limit && value.to_s.length > limit
13
- record.errors.add(attribute.to_sym, :too_long, count: limit)
14
- end
15
- end
16
- end
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
-
4
- APP_PATH = File.expand_path('../../config/application', __FILE__)
5
- require File.expand_path('../../config/boot', __FILE__)
6
- require 'rails/commands'