spree_core 5.3.4 → 5.4.0.beta
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.
- checksums.yaml +4 -4
- data/app/finders/spree/orders/find_complete.rb +33 -2
- data/app/finders/spree/stores/find_default.rb +17 -0
- data/app/finders/spree/variants/visible_finder.rb +1 -0
- data/app/helpers/spree/addresses_helper.rb +1 -2
- data/app/helpers/spree/base_helper.rb +5 -4
- data/app/jobs/spree/api_key_touch_job.rb +9 -0
- data/app/models/concerns/spree/admin_user_methods.rb +32 -0
- data/app/models/concerns/spree/number_as_param.rb +5 -3
- data/app/models/concerns/spree/prefixed_id.rb +82 -0
- data/app/models/concerns/spree/product_scopes.rb +33 -18
- data/app/models/concerns/spree/publishable.rb +47 -47
- data/app/models/concerns/spree/{multi_store_resource.rb → store_scoped_resource.rb} +1 -10
- data/app/models/concerns/spree/stores/markets.rb +124 -0
- data/app/models/concerns/spree/user_methods.rb +7 -7
- data/app/models/concerns/spree/user_payment_source.rb +2 -0
- data/app/models/concerns/spree/user_roles.rb +1 -0
- data/app/models/spree/ability.rb +13 -0
- data/app/models/spree/address.rb +30 -0
- data/app/models/spree/adjustment.rb +2 -0
- data/app/models/spree/api_key.rb +47 -0
- data/app/models/spree/asset.rb +2 -0
- data/app/models/spree/authentication/strategies/base_strategy.rb +55 -0
- data/app/models/spree/authentication/strategies/email_password_strategy.rb +47 -0
- data/app/models/spree/base.rb +1 -0
- data/app/models/spree/calculator.rb +2 -0
- data/app/models/spree/country.rb +56 -0
- data/app/models/spree/coupon_code.rb +2 -0
- data/app/models/spree/credit_card.rb +2 -0
- data/app/models/spree/current.rb +9 -4
- data/app/models/spree/customer_group.rb +2 -0
- data/app/models/spree/customer_return.rb +2 -0
- data/app/models/spree/data_feed.rb +2 -0
- data/app/models/spree/digital.rb +2 -0
- data/app/models/spree/digital_link.rb +2 -0
- data/app/models/spree/export.rb +3 -2
- data/app/models/spree/fulfilment_changer.rb +8 -2
- data/app/models/spree/gateway/bogus.rb +60 -0
- data/app/models/spree/gateway_customer.rb +2 -0
- data/app/models/spree/gift_card.rb +2 -0
- data/app/models/spree/gift_card_batch.rb +2 -0
- data/app/models/spree/image.rb +18 -0
- data/app/models/spree/import.rb +5 -3
- data/app/models/spree/import_mapping.rb +2 -0
- data/app/models/spree/import_row.rb +2 -0
- data/app/models/spree/import_schemas/customers.rb +21 -0
- data/app/models/spree/imports/customers.rb +9 -0
- data/app/models/spree/integration.rb +2 -0
- data/app/models/spree/inventory_unit.rb +2 -0
- data/app/models/spree/invitation.rb +6 -6
- data/app/models/spree/legacy_admin_user.rb +31 -0
- data/app/models/spree/legacy_user.rb +19 -1
- data/app/models/spree/line_item.rb +15 -4
- data/app/models/spree/log_entry.rb +2 -0
- data/app/models/spree/market.rb +83 -0
- data/app/models/spree/market_country.rb +25 -0
- data/app/models/spree/metafield.rb +2 -0
- data/app/models/spree/metafield_definition.rb +2 -0
- data/app/models/spree/newsletter_subscriber.rb +2 -0
- data/app/models/spree/option_type.rb +2 -0
- data/app/models/spree/option_value.rb +2 -0
- data/app/models/spree/order/address_book.rb +2 -1
- data/app/models/spree/order.rb +73 -45
- data/app/models/spree/payment.rb +6 -1
- data/app/models/spree/payment_capture_event.rb +2 -0
- data/app/models/spree/payment_method.rb +59 -1
- data/app/models/spree/payment_session.rb +109 -0
- data/app/models/spree/payment_sessions/bogus.rb +4 -0
- data/app/models/spree/payment_setup_session.rb +79 -0
- data/app/models/spree/payment_source.rb +2 -0
- data/app/models/spree/permission_sets/default_customer.rb +19 -0
- data/app/models/spree/policy.rb +2 -0
- data/app/models/spree/post.rb +2 -0
- data/app/models/spree/post_category.rb +2 -0
- data/app/models/spree/price.rb +26 -2
- data/app/models/spree/price_list.rb +2 -0
- data/app/models/spree/price_rule.rb +2 -0
- data/app/models/spree/price_rules/market_rule.rb +19 -0
- data/app/models/spree/product.rb +41 -29
- data/app/models/spree/promotion/rules/country.rb +1 -1
- data/app/models/spree/promotion.rb +3 -1
- data/app/models/spree/promotion_action.rb +2 -0
- data/app/models/spree/promotion_category.rb +2 -0
- data/app/models/spree/promotion_rule.rb +2 -0
- data/app/models/spree/prototype.rb +2 -0
- data/app/models/spree/refund.rb +2 -0
- data/app/models/spree/refund_reason.rb +2 -0
- data/app/models/spree/reimbursement/credit.rb +2 -0
- data/app/models/spree/reimbursement.rb +2 -0
- data/app/models/spree/reimbursement_type.rb +2 -0
- data/app/models/spree/report.rb +3 -1
- data/app/models/spree/return_authorization.rb +2 -0
- data/app/models/spree/return_authorization_reason.rb +2 -0
- data/app/models/spree/return_item.rb +2 -0
- data/app/models/spree/role.rb +2 -0
- data/app/models/spree/shipment.rb +11 -1
- data/app/models/spree/shipping_category.rb +2 -0
- data/app/models/spree/shipping_method.rb +2 -0
- data/app/models/spree/shipping_method_category.rb +2 -0
- data/app/models/spree/shipping_rate.rb +2 -0
- data/app/models/spree/state_change.rb +2 -0
- data/app/models/spree/stock_item.rb +2 -0
- data/app/models/spree/stock_location.rb +2 -0
- data/app/models/spree/stock_movement.rb +2 -0
- data/app/models/spree/stock_transfer.rb +2 -1
- data/app/models/spree/store.rb +110 -179
- data/app/models/spree/store_credit.rb +2 -0
- data/app/models/spree/store_credit_category.rb +2 -0
- data/app/models/spree/store_credit_event.rb +2 -0
- data/app/models/spree/store_credit_type.rb +2 -0
- data/app/models/spree/store_product.rb +2 -0
- data/app/models/spree/tax_category.rb +2 -0
- data/app/models/spree/tax_rate.rb +2 -0
- data/app/models/spree/taxon.rb +4 -1
- data/app/models/spree/taxon_image.rb +8 -0
- data/app/models/spree/taxon_rule.rb +2 -0
- data/app/models/spree/taxonomy.rb +2 -0
- data/app/models/spree/user_identity.rb +81 -0
- data/app/models/spree/variant.rb +13 -3
- data/app/models/spree/webhook_delivery.rb +2 -0
- data/app/models/spree/webhook_endpoint.rb +2 -0
- data/app/models/spree/wished_item.rb +15 -0
- data/app/models/spree/wishlist.rb +2 -8
- data/app/models/spree/zone.rb +2 -6
- data/app/presenters/spree/filters/price_presenter.rb +1 -0
- data/app/presenters/spree/filters/price_range_presenter.rb +1 -0
- data/app/presenters/spree/filters/quantified_price_range_presenter.rb +1 -0
- data/app/presenters/spree/product_summary_presenter.rb +1 -0
- data/app/services/spree/addresses/helper.rb +22 -3
- data/app/services/spree/cart/associate.rb +19 -6
- data/app/services/spree/checkout/select_shipping_method.rb +13 -1
- data/app/services/spree/classifications/reposition.rb +5 -0
- data/app/services/spree/imports/row_processors/customer.rb +70 -0
- data/app/services/spree/orders/approve.rb +5 -3
- data/app/services/spree/orders/cancel.rb +9 -4
- data/app/services/spree/products/prepare_nested_attributes.rb +1 -1
- data/app/services/spree/sample_data/import_runner.rb +54 -0
- data/app/services/spree/sample_data/loader.rb +78 -0
- data/app/services/spree/seeds/admin_user.rb +2 -3
- data/app/services/spree/seeds/all.rb +1 -0
- data/app/services/spree/seeds/api_keys.rb +16 -0
- data/app/services/spree/seeds/stores.rb +2 -4
- data/app/sorters/spree/orders/sort.rb +4 -0
- data/app/subscribers/spree/product_metrics_subscriber.rb +4 -4
- data/config/brakeman.ignore +120 -0
- data/config/locales/en.yml +20 -1
- data/db/migrate/20250923141900_create_spree_user_identities.rb +17 -0
- data/db/migrate/20260123000000_create_spree_api_keys.rb +19 -0
- data/db/migrate/20260131000000_add_thumbnail_id_to_spree_variants_and_products.rb +9 -0
- data/db/migrate/20260213000000_create_spree_payment_sessions.rb +27 -0
- data/db/migrate/20260218000000_create_spree_payment_setup_sessions.rb +24 -0
- data/db/migrate/20260220000000_create_spree_markets.rb +29 -0
- data/db/sample_data/customers.csv +21 -0
- data/db/sample_data/metafield_definitions.rb +7 -0
- data/db/sample_data/orders.rb +131 -0
- data/db/sample_data/payment_methods.rb +17 -0
- data/db/sample_data/posts.rb +7 -0
- data/db/sample_data/products.csv +1083 -0
- data/db/sample_data/promotions.rb +8 -0
- data/db/sample_data/shipping_methods.rb +39 -0
- data/lib/generators/spree/authentication/devise/devise_generator.rb +2 -2
- data/lib/generators/spree/authentication/dummy/dummy_generator.rb +54 -0
- data/lib/generators/spree/authentication/dummy/templates/authentication_helpers.rb.tt +52 -0
- data/lib/generators/spree/authentication/dummy/templates/create_spree_admin_users.rb.tt +33 -0
- data/lib/generators/spree/dummy/dummy_generator.rb +1 -1
- data/lib/spree/core/configuration.rb +1 -0
- data/lib/spree/core/controller_helpers/common.rb +6 -0
- data/lib/spree/core/controller_helpers/currency.rb +5 -0
- data/lib/spree/core/controller_helpers/order.rb +5 -1
- data/lib/spree/core/controller_helpers/store.rb +1 -1
- data/lib/spree/core/dependencies.rb +1 -1
- data/lib/spree/core/engine.rb +17 -4
- data/lib/spree/core/pricing/context.rb +6 -3
- data/lib/spree/core/product_filters.rb +14 -0
- data/lib/spree/core/query_filters/comparable.rb +4 -0
- data/lib/spree/core/query_filters/text.rb +4 -0
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/core.rb +4 -4
- data/lib/spree/database_type_utilities.rb +7 -0
- data/lib/spree/events.rb +17 -10
- data/lib/spree/money.rb +2 -9
- data/lib/spree/permitted_attributes.rb +19 -7
- data/lib/spree/testing_support/capybara_config.rb +2 -2
- data/lib/spree/testing_support/common_rake.rb +15 -4
- data/lib/spree/testing_support/factories/api_key_factory.rb +19 -0
- data/lib/spree/testing_support/factories/custom_domain_factory.rb +7 -5
- data/lib/spree/testing_support/factories/import_factory.rb +12 -0
- data/lib/spree/testing_support/factories/market_factory.rb +35 -0
- data/lib/spree/testing_support/factories/order_factory.rb +3 -1
- data/lib/spree/testing_support/factories/payment_method_factory.rb +2 -0
- data/lib/spree/testing_support/factories/payment_session_factory.rb +47 -0
- data/lib/spree/testing_support/factories/payment_setup_session_factory.rb +31 -0
- data/lib/spree/testing_support/factories/price_rule_factory.rb +10 -0
- data/lib/spree/testing_support/factories/user_identity_factory.rb +15 -0
- data/lib/spree/testing_support/store.rb +3 -2
- data/lib/spree/webhooks.rb +7 -7
- data/lib/tasks/images.rake +20 -0
- data/lib/tasks/markets.rake +40 -0
- data/lib/tasks/sample_data.rake +15 -0
- data/spec/fixtures/files/customers_import.csv +4 -0
- metadata +99 -59
- data/LICENSE.md +0 -57
- data/app/finders/spree/stores/find_current.rb +0 -28
- data/app/models/spree/custom_domain.rb +0 -59
- data/app/serializers/spree/events/asset_serializer.rb +0 -22
- data/app/serializers/spree/events/base_serializer.rb +0 -61
- data/app/serializers/spree/events/customer_return_serializer.rb +0 -20
- data/app/serializers/spree/events/digital_link_serializer.rb +0 -20
- data/app/serializers/spree/events/digital_serializer.rb +0 -18
- data/app/serializers/spree/events/export_serializer.rb +0 -22
- data/app/serializers/spree/events/gift_card_batch_serializer.rb +0 -24
- data/app/serializers/spree/events/gift_card_serializer.rb +0 -29
- data/app/serializers/spree/events/image_serializer.rb +0 -9
- data/app/serializers/spree/events/import_row_serializer.rb +0 -23
- data/app/serializers/spree/events/import_serializer.rb +0 -24
- data/app/serializers/spree/events/invitation_serializer.rb +0 -28
- data/app/serializers/spree/events/line_item_serializer.rb +0 -31
- data/app/serializers/spree/events/newsletter_subscriber_serializer.rb +0 -21
- data/app/serializers/spree/events/order_serializer.rb +0 -39
- data/app/serializers/spree/events/payment_serializer.rb +0 -24
- data/app/serializers/spree/events/post_category_serializer.rb +0 -20
- data/app/serializers/spree/events/post_serializer.rb +0 -26
- data/app/serializers/spree/events/price_serializer.rb +0 -22
- data/app/serializers/spree/events/product_serializer.rb +0 -24
- data/app/serializers/spree/events/promotion_serializer.rb +0 -32
- data/app/serializers/spree/events/refund_serializer.rb +0 -23
- data/app/serializers/spree/events/reimbursement_serializer.rb +0 -22
- data/app/serializers/spree/events/report_serializer.rb +0 -23
- data/app/serializers/spree/events/return_authorization_serializer.rb +0 -22
- data/app/serializers/spree/events/return_item_serializer.rb +0 -27
- data/app/serializers/spree/events/shipment_serializer.rb +0 -24
- data/app/serializers/spree/events/stock_item_serializer.rb +0 -22
- data/app/serializers/spree/events/stock_movement_serializer.rb +0 -22
- data/app/serializers/spree/events/stock_transfer_serializer.rb +0 -22
- data/app/serializers/spree/events/store_credit_serializer.rb +0 -30
- data/app/serializers/spree/events/user_serializer.rb +0 -18
- data/app/serializers/spree/events/variant_serializer.rb +0 -34
- data/app/serializers/spree/events/wished_item_serializer.rb +0 -20
- data/app/serializers/spree/events/wishlist_serializer.rb +0 -22
metadata
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spree_core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.4.0.beta
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sean Schofield
|
|
8
8
|
- Spark Solutions Sp. z o.o.
|
|
9
9
|
- Vendo Connect Inc.
|
|
10
|
+
autorequire:
|
|
10
11
|
bindir: bin
|
|
11
12
|
cert_chain: []
|
|
12
|
-
date:
|
|
13
|
+
date: 2026-02-25 00:00:00.000000000 Z
|
|
13
14
|
dependencies:
|
|
14
15
|
- !ruby/object:Gem::Dependency
|
|
15
16
|
name: i18n-tasks
|
|
@@ -217,6 +218,20 @@ dependencies:
|
|
|
217
218
|
- - "<"
|
|
218
219
|
- !ruby/object:Gem::Version
|
|
219
220
|
version: '4'
|
|
221
|
+
- !ruby/object:Gem::Dependency
|
|
222
|
+
name: jwt
|
|
223
|
+
requirement: !ruby/object:Gem::Requirement
|
|
224
|
+
requirements:
|
|
225
|
+
- - "~>"
|
|
226
|
+
- !ruby/object:Gem::Version
|
|
227
|
+
version: '3.1'
|
|
228
|
+
type: :runtime
|
|
229
|
+
prerelease: false
|
|
230
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
231
|
+
requirements:
|
|
232
|
+
- - "~>"
|
|
233
|
+
- !ruby/object:Gem::Version
|
|
234
|
+
version: '3.1'
|
|
220
235
|
- !ruby/object:Gem::Dependency
|
|
221
236
|
name: money
|
|
222
237
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -489,20 +504,6 @@ dependencies:
|
|
|
489
504
|
- - "~>"
|
|
490
505
|
- !ruby/object:Gem::Version
|
|
491
506
|
version: '1.0'
|
|
492
|
-
- !ruby/object:Gem::Dependency
|
|
493
|
-
name: request_store
|
|
494
|
-
requirement: !ruby/object:Gem::Requirement
|
|
495
|
-
requirements:
|
|
496
|
-
- - "~>"
|
|
497
|
-
- !ruby/object:Gem::Version
|
|
498
|
-
version: '1.7'
|
|
499
|
-
type: :runtime
|
|
500
|
-
prerelease: false
|
|
501
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
502
|
-
requirements:
|
|
503
|
-
- - "~>"
|
|
504
|
-
- !ruby/object:Gem::Version
|
|
505
|
-
version: '1.7'
|
|
506
507
|
- !ruby/object:Gem::Dependency
|
|
507
508
|
name: wannabe_bool
|
|
508
509
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -573,13 +574,40 @@ dependencies:
|
|
|
573
574
|
- - "~>"
|
|
574
575
|
- !ruby/object:Gem::Version
|
|
575
576
|
version: '2.0'
|
|
577
|
+
- !ruby/object:Gem::Dependency
|
|
578
|
+
name: bcrypt
|
|
579
|
+
requirement: !ruby/object:Gem::Requirement
|
|
580
|
+
requirements:
|
|
581
|
+
- - "~>"
|
|
582
|
+
- !ruby/object:Gem::Version
|
|
583
|
+
version: '3.1'
|
|
584
|
+
type: :runtime
|
|
585
|
+
prerelease: false
|
|
586
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
587
|
+
requirements:
|
|
588
|
+
- - "~>"
|
|
589
|
+
- !ruby/object:Gem::Version
|
|
590
|
+
version: '3.1'
|
|
591
|
+
- !ruby/object:Gem::Dependency
|
|
592
|
+
name: sqids
|
|
593
|
+
requirement: !ruby/object:Gem::Requirement
|
|
594
|
+
requirements:
|
|
595
|
+
- - "~>"
|
|
596
|
+
- !ruby/object:Gem::Version
|
|
597
|
+
version: '0.2'
|
|
598
|
+
type: :runtime
|
|
599
|
+
prerelease: false
|
|
600
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
601
|
+
requirements:
|
|
602
|
+
- - "~>"
|
|
603
|
+
- !ruby/object:Gem::Version
|
|
604
|
+
version: '0.2'
|
|
576
605
|
description: Spree Models, Helpers, Services and core libraries
|
|
577
606
|
email: hello@spreecommerce.org
|
|
578
607
|
executables: []
|
|
579
608
|
extensions: []
|
|
580
609
|
extra_rdoc_files: []
|
|
581
610
|
files:
|
|
582
|
-
- LICENSE.md
|
|
583
611
|
- README.md
|
|
584
612
|
- Rakefile
|
|
585
613
|
- app/assets/config/spree_core_manifest.js
|
|
@@ -813,7 +841,7 @@ files:
|
|
|
813
841
|
- app/finders/spree/posts/find.rb
|
|
814
842
|
- app/finders/spree/product_properties/find_available.rb
|
|
815
843
|
- app/finders/spree/products/find.rb
|
|
816
|
-
- app/finders/spree/stores/
|
|
844
|
+
- app/finders/spree/stores/find_default.rb
|
|
817
845
|
- app/finders/spree/taxons/find.rb
|
|
818
846
|
- app/finders/spree/variants/find.rb
|
|
819
847
|
- app/finders/spree/variants/option_types_finder.rb
|
|
@@ -835,6 +863,7 @@ files:
|
|
|
835
863
|
- app/javascript/spree/core/helpers/debounce.js
|
|
836
864
|
- app/javascript/spree/core/helpers/scroll_lock.js
|
|
837
865
|
- app/jobs/spree/addresses/geocode_address_job.rb
|
|
866
|
+
- app/jobs/spree/api_key_touch_job.rb
|
|
838
867
|
- app/jobs/spree/base_job.rb
|
|
839
868
|
- app/jobs/spree/coupon_codes/bulk_generate_job.rb
|
|
840
869
|
- app/jobs/spree/events/subscriber_job.rb
|
|
@@ -874,17 +903,19 @@ files:
|
|
|
874
903
|
- app/models/concerns/spree/metadata.rb
|
|
875
904
|
- app/models/concerns/spree/metafields.rb
|
|
876
905
|
- app/models/concerns/spree/multi_searchable.rb
|
|
877
|
-
- app/models/concerns/spree/multi_store_resource.rb
|
|
878
906
|
- app/models/concerns/spree/named_type.rb
|
|
879
907
|
- app/models/concerns/spree/number_as_param.rb
|
|
880
908
|
- app/models/concerns/spree/number_identifier.rb
|
|
881
909
|
- app/models/concerns/spree/parameterizable_name.rb
|
|
882
910
|
- app/models/concerns/spree/payment_source_concern.rb
|
|
911
|
+
- app/models/concerns/spree/prefixed_id.rb
|
|
883
912
|
- app/models/concerns/spree/previewable.rb
|
|
884
913
|
- app/models/concerns/spree/product_scopes.rb
|
|
885
914
|
- app/models/concerns/spree/publishable.rb
|
|
886
915
|
- app/models/concerns/spree/ransackable_attributes.rb
|
|
887
916
|
- app/models/concerns/spree/single_store_resource.rb
|
|
917
|
+
- app/models/concerns/spree/store_scoped_resource.rb
|
|
918
|
+
- app/models/concerns/spree/stores/markets.rb
|
|
888
919
|
- app/models/concerns/spree/stores/setup.rb
|
|
889
920
|
- app/models/concerns/spree/stores/socials.rb
|
|
890
921
|
- app/models/concerns/spree/translatable_resource.rb
|
|
@@ -906,8 +937,11 @@ files:
|
|
|
906
937
|
- app/models/spree/adjustable/adjustments_updater.rb
|
|
907
938
|
- app/models/spree/adjustable/promotion_accumulator.rb
|
|
908
939
|
- app/models/spree/adjustment.rb
|
|
940
|
+
- app/models/spree/api_key.rb
|
|
909
941
|
- app/models/spree/asset.rb
|
|
910
942
|
- app/models/spree/asset/support/active_storage.rb
|
|
943
|
+
- app/models/spree/authentication/strategies/base_strategy.rb
|
|
944
|
+
- app/models/spree/authentication/strategies/email_password_strategy.rb
|
|
911
945
|
- app/models/spree/base.rb
|
|
912
946
|
- app/models/spree/base_analytics_event_handler.rb
|
|
913
947
|
- app/models/spree/calculator.rb
|
|
@@ -931,7 +965,6 @@ files:
|
|
|
931
965
|
- app/models/spree/coupon_code.rb
|
|
932
966
|
- app/models/spree/credit_card.rb
|
|
933
967
|
- app/models/spree/current.rb
|
|
934
|
-
- app/models/spree/custom_domain.rb
|
|
935
968
|
- app/models/spree/customer_group.rb
|
|
936
969
|
- app/models/spree/customer_group_user.rb
|
|
937
970
|
- app/models/spree/customer_return.rb
|
|
@@ -961,15 +994,20 @@ files:
|
|
|
961
994
|
- app/models/spree/import_mapping.rb
|
|
962
995
|
- app/models/spree/import_row.rb
|
|
963
996
|
- app/models/spree/import_schema.rb
|
|
997
|
+
- app/models/spree/import_schemas/customers.rb
|
|
964
998
|
- app/models/spree/import_schemas/products.rb
|
|
999
|
+
- app/models/spree/imports/customers.rb
|
|
965
1000
|
- app/models/spree/imports/products.rb
|
|
966
1001
|
- app/models/spree/integration.rb
|
|
967
1002
|
- app/models/spree/inventory_unit.rb
|
|
968
1003
|
- app/models/spree/invitation.rb
|
|
969
1004
|
- app/models/spree/invitations/store.rb
|
|
1005
|
+
- app/models/spree/legacy_admin_user.rb
|
|
970
1006
|
- app/models/spree/legacy_user.rb
|
|
971
1007
|
- app/models/spree/line_item.rb
|
|
972
1008
|
- app/models/spree/log_entry.rb
|
|
1009
|
+
- app/models/spree/market.rb
|
|
1010
|
+
- app/models/spree/market_country.rb
|
|
973
1011
|
- app/models/spree/metafield.rb
|
|
974
1012
|
- app/models/spree/metafield_definition.rb
|
|
975
1013
|
- app/models/spree/metafields/boolean.rb
|
|
@@ -1008,6 +1046,9 @@ files:
|
|
|
1008
1046
|
- app/models/spree/payment_method.rb
|
|
1009
1047
|
- app/models/spree/payment_method/check.rb
|
|
1010
1048
|
- app/models/spree/payment_method/store_credit.rb
|
|
1049
|
+
- app/models/spree/payment_session.rb
|
|
1050
|
+
- app/models/spree/payment_sessions/bogus.rb
|
|
1051
|
+
- app/models/spree/payment_setup_session.rb
|
|
1011
1052
|
- app/models/spree/payment_source.rb
|
|
1012
1053
|
- app/models/spree/permission_sets/base.rb
|
|
1013
1054
|
- app/models/spree/permission_sets/configuration_management.rb
|
|
@@ -1032,6 +1073,7 @@ files:
|
|
|
1032
1073
|
- app/models/spree/price_list.rb
|
|
1033
1074
|
- app/models/spree/price_rule.rb
|
|
1034
1075
|
- app/models/spree/price_rules/customer_group_rule.rb
|
|
1076
|
+
- app/models/spree/price_rules/market_rule.rb
|
|
1035
1077
|
- app/models/spree/price_rules/user_rule.rb
|
|
1036
1078
|
- app/models/spree/price_rules/volume_rule.rb
|
|
1037
1079
|
- app/models/spree/price_rules/zone_rule.rb
|
|
@@ -1166,6 +1208,7 @@ files:
|
|
|
1166
1208
|
- app/models/spree/taxon_rules/sale.rb
|
|
1167
1209
|
- app/models/spree/taxon_rules/tag.rb
|
|
1168
1210
|
- app/models/spree/taxonomy.rb
|
|
1211
|
+
- app/models/spree/user_identity.rb
|
|
1169
1212
|
- app/models/spree/variant.rb
|
|
1170
1213
|
- app/models/spree/variant/webhooks.rb
|
|
1171
1214
|
- app/models/spree/webhook_delivery.rb
|
|
@@ -1191,41 +1234,6 @@ files:
|
|
|
1191
1234
|
- app/presenters/spree/variant_presenter.rb
|
|
1192
1235
|
- app/presenters/spree/variants/option_types_presenter.rb
|
|
1193
1236
|
- app/presenters/spree/variants/options_presenter.rb
|
|
1194
|
-
- app/serializers/spree/events/asset_serializer.rb
|
|
1195
|
-
- app/serializers/spree/events/base_serializer.rb
|
|
1196
|
-
- app/serializers/spree/events/customer_return_serializer.rb
|
|
1197
|
-
- app/serializers/spree/events/digital_link_serializer.rb
|
|
1198
|
-
- app/serializers/spree/events/digital_serializer.rb
|
|
1199
|
-
- app/serializers/spree/events/export_serializer.rb
|
|
1200
|
-
- app/serializers/spree/events/gift_card_batch_serializer.rb
|
|
1201
|
-
- app/serializers/spree/events/gift_card_serializer.rb
|
|
1202
|
-
- app/serializers/spree/events/image_serializer.rb
|
|
1203
|
-
- app/serializers/spree/events/import_row_serializer.rb
|
|
1204
|
-
- app/serializers/spree/events/import_serializer.rb
|
|
1205
|
-
- app/serializers/spree/events/invitation_serializer.rb
|
|
1206
|
-
- app/serializers/spree/events/line_item_serializer.rb
|
|
1207
|
-
- app/serializers/spree/events/newsletter_subscriber_serializer.rb
|
|
1208
|
-
- app/serializers/spree/events/order_serializer.rb
|
|
1209
|
-
- app/serializers/spree/events/payment_serializer.rb
|
|
1210
|
-
- app/serializers/spree/events/post_category_serializer.rb
|
|
1211
|
-
- app/serializers/spree/events/post_serializer.rb
|
|
1212
|
-
- app/serializers/spree/events/price_serializer.rb
|
|
1213
|
-
- app/serializers/spree/events/product_serializer.rb
|
|
1214
|
-
- app/serializers/spree/events/promotion_serializer.rb
|
|
1215
|
-
- app/serializers/spree/events/refund_serializer.rb
|
|
1216
|
-
- app/serializers/spree/events/reimbursement_serializer.rb
|
|
1217
|
-
- app/serializers/spree/events/report_serializer.rb
|
|
1218
|
-
- app/serializers/spree/events/return_authorization_serializer.rb
|
|
1219
|
-
- app/serializers/spree/events/return_item_serializer.rb
|
|
1220
|
-
- app/serializers/spree/events/shipment_serializer.rb
|
|
1221
|
-
- app/serializers/spree/events/stock_item_serializer.rb
|
|
1222
|
-
- app/serializers/spree/events/stock_movement_serializer.rb
|
|
1223
|
-
- app/serializers/spree/events/stock_transfer_serializer.rb
|
|
1224
|
-
- app/serializers/spree/events/store_credit_serializer.rb
|
|
1225
|
-
- app/serializers/spree/events/user_serializer.rb
|
|
1226
|
-
- app/serializers/spree/events/variant_serializer.rb
|
|
1227
|
-
- app/serializers/spree/events/wished_item_serializer.rb
|
|
1228
|
-
- app/serializers/spree/events/wishlist_serializer.rb
|
|
1229
1237
|
- app/services/spree/account/addresses/create.rb
|
|
1230
1238
|
- app/services/spree/account/addresses/update.rb
|
|
1231
1239
|
- app/services/spree/account/create.rb
|
|
@@ -1270,6 +1278,7 @@ files:
|
|
|
1270
1278
|
- app/services/spree/gift_cards/redeem.rb
|
|
1271
1279
|
- app/services/spree/gift_cards/remove.rb
|
|
1272
1280
|
- app/services/spree/imports/row_processors/base.rb
|
|
1281
|
+
- app/services/spree/imports/row_processors/customer.rb
|
|
1273
1282
|
- app/services/spree/imports/row_processors/product_variant.rb
|
|
1274
1283
|
- app/services/spree/line_items/create.rb
|
|
1275
1284
|
- app/services/spree/line_items/destroy.rb
|
|
@@ -1286,8 +1295,11 @@ files:
|
|
|
1286
1295
|
- app/services/spree/products/auto_match_taxons.rb
|
|
1287
1296
|
- app/services/spree/products/duplicator.rb
|
|
1288
1297
|
- app/services/spree/products/prepare_nested_attributes.rb
|
|
1298
|
+
- app/services/spree/sample_data/import_runner.rb
|
|
1299
|
+
- app/services/spree/sample_data/loader.rb
|
|
1289
1300
|
- app/services/spree/seeds/admin_user.rb
|
|
1290
1301
|
- app/services/spree/seeds/all.rb
|
|
1302
|
+
- app/services/spree/seeds/api_keys.rb
|
|
1291
1303
|
- app/services/spree/seeds/countries.rb
|
|
1292
1304
|
- app/services/spree/seeds/default_reimbursement_types.rb
|
|
1293
1305
|
- app/services/spree/seeds/digital_delivery.rb
|
|
@@ -1351,6 +1363,7 @@ files:
|
|
|
1351
1363
|
- app/views/spree/shared/_payment.html.erb
|
|
1352
1364
|
- app/views/spree/test_mailer/test_email.html.erb
|
|
1353
1365
|
- app/views/spree/test_mailer/test_email.text.erb
|
|
1366
|
+
- config/brakeman.ignore
|
|
1354
1367
|
- config/i18n-tasks.yml
|
|
1355
1368
|
- config/importmap.rb
|
|
1356
1369
|
- config/initializers/active_storage.rb
|
|
@@ -1475,6 +1488,7 @@ files:
|
|
|
1475
1488
|
- db/migrate/20250914101955_add_missing_indexes_on_spree_adjustments.rb
|
|
1476
1489
|
- db/migrate/20250915093930_add_metadata_to_spree_newsletter_subscribers.rb
|
|
1477
1490
|
- db/migrate/20250923141845_create_spree_imports.rb
|
|
1491
|
+
- db/migrate/20250923141900_create_spree_user_identities.rb
|
|
1478
1492
|
- db/migrate/20251110120000_create_spree_price_lists.rb
|
|
1479
1493
|
- db/migrate/20251110120001_create_spree_price_rules.rb
|
|
1480
1494
|
- db/migrate/20251110120002_add_price_list_id_to_spree_prices.rb
|
|
@@ -1491,6 +1505,19 @@ files:
|
|
|
1491
1505
|
- db/migrate/20260119120000_add_counter_caches_to_spree_products.rb
|
|
1492
1506
|
- db/migrate/20260119170000_add_counter_caches_to_spree_taxons.rb
|
|
1493
1507
|
- db/migrate/20260120120000_add_image_count_to_spree_variants.rb
|
|
1508
|
+
- db/migrate/20260123000000_create_spree_api_keys.rb
|
|
1509
|
+
- db/migrate/20260131000000_add_thumbnail_id_to_spree_variants_and_products.rb
|
|
1510
|
+
- db/migrate/20260213000000_create_spree_payment_sessions.rb
|
|
1511
|
+
- db/migrate/20260218000000_create_spree_payment_setup_sessions.rb
|
|
1512
|
+
- db/migrate/20260220000000_create_spree_markets.rb
|
|
1513
|
+
- db/sample_data/customers.csv
|
|
1514
|
+
- db/sample_data/metafield_definitions.rb
|
|
1515
|
+
- db/sample_data/orders.rb
|
|
1516
|
+
- db/sample_data/payment_methods.rb
|
|
1517
|
+
- db/sample_data/posts.rb
|
|
1518
|
+
- db/sample_data/products.csv
|
|
1519
|
+
- db/sample_data/promotions.rb
|
|
1520
|
+
- db/sample_data/shipping_methods.rb
|
|
1494
1521
|
- db/seeds.rb
|
|
1495
1522
|
- lib/friendly_id/history_decorator.rb
|
|
1496
1523
|
- lib/friendly_id/paranoia.rb
|
|
@@ -1498,6 +1525,9 @@ files:
|
|
|
1498
1525
|
- lib/generators/spree/authentication/custom/templates/authentication_helpers.rb.tt
|
|
1499
1526
|
- lib/generators/spree/authentication/devise/devise_generator.rb
|
|
1500
1527
|
- lib/generators/spree/authentication/devise/templates/authentication_helpers.rb.tt
|
|
1528
|
+
- lib/generators/spree/authentication/dummy/dummy_generator.rb
|
|
1529
|
+
- lib/generators/spree/authentication/dummy/templates/authentication_helpers.rb.tt
|
|
1530
|
+
- lib/generators/spree/authentication/dummy/templates/create_spree_admin_users.rb.tt
|
|
1501
1531
|
- lib/generators/spree/cursor_rules/cursor_rules_generator.rb
|
|
1502
1532
|
- lib/generators/spree/cursor_rules/templates/spree_rules.mdc
|
|
1503
1533
|
- lib/generators/spree/dummy/dummy_generator.rb
|
|
@@ -1580,6 +1610,7 @@ files:
|
|
|
1580
1610
|
- lib/spree/testing_support/factories.rb
|
|
1581
1611
|
- lib/spree/testing_support/factories/address_factory.rb
|
|
1582
1612
|
- lib/spree/testing_support/factories/adjustment_factory.rb
|
|
1613
|
+
- lib/spree/testing_support/factories/api_key_factory.rb
|
|
1583
1614
|
- lib/spree/testing_support/factories/asset_factory.rb
|
|
1584
1615
|
- lib/spree/testing_support/factories/calculator_factory.rb
|
|
1585
1616
|
- lib/spree/testing_support/factories/classification_factory.rb
|
|
@@ -1607,6 +1638,7 @@ files:
|
|
|
1607
1638
|
- lib/spree/testing_support/factories/invitation_factory.rb
|
|
1608
1639
|
- lib/spree/testing_support/factories/line_item_factory.rb
|
|
1609
1640
|
- lib/spree/testing_support/factories/log_entry_factory.rb
|
|
1641
|
+
- lib/spree/testing_support/factories/market_factory.rb
|
|
1610
1642
|
- lib/spree/testing_support/factories/metafield_definition_factory.rb
|
|
1611
1643
|
- lib/spree/testing_support/factories/metafield_factory.rb
|
|
1612
1644
|
- lib/spree/testing_support/factories/newsletter_subscriber_factory.rb
|
|
@@ -1616,6 +1648,8 @@ files:
|
|
|
1616
1648
|
- lib/spree/testing_support/factories/payment_capture_event_factory.rb
|
|
1617
1649
|
- lib/spree/testing_support/factories/payment_factory.rb
|
|
1618
1650
|
- lib/spree/testing_support/factories/payment_method_factory.rb
|
|
1651
|
+
- lib/spree/testing_support/factories/payment_session_factory.rb
|
|
1652
|
+
- lib/spree/testing_support/factories/payment_setup_session_factory.rb
|
|
1619
1653
|
- lib/spree/testing_support/factories/payment_source_factory.rb
|
|
1620
1654
|
- lib/spree/testing_support/factories/policy_factory.rb
|
|
1621
1655
|
- lib/spree/testing_support/factories/post_category_factory.rb
|
|
@@ -1666,6 +1700,7 @@ files:
|
|
|
1666
1700
|
- lib/spree/testing_support/factories/taxon_rule_factory.rb
|
|
1667
1701
|
- lib/spree/testing_support/factories/taxonomy_factory.rb
|
|
1668
1702
|
- lib/spree/testing_support/factories/user_factory.rb
|
|
1703
|
+
- lib/spree/testing_support/factories/user_identity_factory.rb
|
|
1669
1704
|
- lib/spree/testing_support/factories/variant_factory.rb
|
|
1670
1705
|
- lib/spree/testing_support/factories/webhook_delivery_factory.rb
|
|
1671
1706
|
- lib/spree/testing_support/factories/webhook_endpoint_factory.rb
|
|
@@ -1694,10 +1729,14 @@ files:
|
|
|
1694
1729
|
- lib/tasks/core.rake
|
|
1695
1730
|
- lib/tasks/dependencies.rake
|
|
1696
1731
|
- lib/tasks/exchanges.rake
|
|
1732
|
+
- lib/tasks/images.rake
|
|
1733
|
+
- lib/tasks/markets.rake
|
|
1697
1734
|
- lib/tasks/products.rake
|
|
1735
|
+
- lib/tasks/sample_data.rake
|
|
1698
1736
|
- lib/tasks/taxons.rake
|
|
1699
1737
|
- lib/tasks/variants.rake
|
|
1700
1738
|
- spec/fixtures/favicon.ico
|
|
1739
|
+
- spec/fixtures/files/customers_import.csv
|
|
1701
1740
|
- spec/fixtures/files/example.json
|
|
1702
1741
|
- spec/fixtures/files/icon_256x256.gif
|
|
1703
1742
|
- spec/fixtures/files/icon_256x256.png
|
|
@@ -1713,13 +1752,13 @@ files:
|
|
|
1713
1752
|
- vendor/javascript/tailwindcss-stimulus-components.js
|
|
1714
1753
|
homepage: https://spreecommerce.org
|
|
1715
1754
|
licenses:
|
|
1716
|
-
- AGPL-3.0-or-later
|
|
1717
1755
|
- BSD-3-Clause
|
|
1718
1756
|
metadata:
|
|
1719
1757
|
bug_tracker_uri: https://github.com/spree/spree/issues
|
|
1720
|
-
changelog_uri: https://github.com/spree/spree/releases/tag/v5.
|
|
1758
|
+
changelog_uri: https://github.com/spree/spree/releases/tag/v5.4.0.beta
|
|
1721
1759
|
documentation_uri: https://docs.spreecommerce.org/
|
|
1722
|
-
source_code_uri: https://github.com/spree/spree/tree/v5.
|
|
1760
|
+
source_code_uri: https://github.com/spree/spree/tree/v5.4.0.beta
|
|
1761
|
+
post_install_message:
|
|
1723
1762
|
rdoc_options: []
|
|
1724
1763
|
require_paths:
|
|
1725
1764
|
- lib
|
|
@@ -1734,7 +1773,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
1734
1773
|
- !ruby/object:Gem::Version
|
|
1735
1774
|
version: 1.8.23
|
|
1736
1775
|
requirements: []
|
|
1737
|
-
rubygems_version:
|
|
1776
|
+
rubygems_version: 3.5.22
|
|
1777
|
+
signing_key:
|
|
1738
1778
|
specification_version: 4
|
|
1739
1779
|
summary: The bare bones necessary for Spree
|
|
1740
1780
|
test_files: []
|
data/LICENSE.md
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# License
|
|
2
|
-
|
|
3
|
-
Copyright © 2024-present, Vendo Connect Inc.
|
|
4
|
-
|
|
5
|
-
Copyright © 2015-2024, Spark Solutions Sp. z o.o.
|
|
6
|
-
|
|
7
|
-
Copyright © 2007-2015, Spree Commerce Inc.
|
|
8
|
-
|
|
9
|
-
Spree Commerce is a free, open-source eCommerce framework giving you full control and customizability.
|
|
10
|
-
|
|
11
|
-
For **Spree Commerce versions 4.10** and later in the [spree/spree](https://github.com/spree/spree) repository two licenses apply simultaneously and users are required to comply with the terms of these two licenses at the same time:
|
|
12
|
-
|
|
13
|
-
* [AGPL-3.0](https://opensource.org/license/agpl-v3) - for all contributions from version 4.10 onwards
|
|
14
|
-
|
|
15
|
-
* [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) - for all other contributions predating version 4.10
|
|
16
|
-
Effectively, for versions 4.10 and upwards **AGPL-3.0** license applies.
|
|
17
|
-
|
|
18
|
-
**Spree Commerce versions 4.9** and earlier in the [spree/spree](https://github.com/spree/spree) repository are available under the **BSD-3-Clause** license and users are required to comply with its terms.
|
|
19
|
-
|
|
20
|
-
If you’d like to use Spree Commerce without the AGPL-3.0 restrictions e.g. for a **SaaS** business, please talk to us about obtaining a [Commercial License](#commercial-license).
|
|
21
|
-
|
|
22
|
-
All third party components incorporated into this software are licensed under the original license provided by the owner of the applicable component.
|
|
23
|
-
|
|
24
|
-
Please refer to our [Licensing FAQ](https://spreecommerce.org/why-spree-is-changing-its-open-source-license-to-agpl-3-0-and-introducing-a-commercial-license/) in case of questions.
|
|
25
|
-
|
|
26
|
-
## AGPL-3.0 License - Spree 4.10 upwards
|
|
27
|
-
|
|
28
|
-
If you decide to accept the AGPL-3.0 license by using Spree Commerce version 4.10 or later, you must comply with the following terms:
|
|
29
|
-
|
|
30
|
-
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
|
31
|
-
|
|
32
|
-
This program is distributed in the hope that it will be useful,
|
|
33
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
34
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
35
|
-
GNU Affero General Public License for more details.
|
|
36
|
-
|
|
37
|
-
You should have received a copy of the GNU Affero General Public License
|
|
38
|
-
along with this program. If not, see [https://www.gnu.org/licenses/](https://www.gnu.org/licenses/).
|
|
39
|
-
|
|
40
|
-
## BSD 3-Clause License
|
|
41
|
-
|
|
42
|
-
If you decide to accept the BSD-3-Clause license by using Spree Commerce, you must comply with the following terms:
|
|
43
|
-
|
|
44
|
-
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
45
|
-
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
46
|
-
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
47
|
-
Neither the name of Spree Commerce Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
48
|
-
|
|
49
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
50
|
-
|
|
51
|
-
## Commercial License
|
|
52
|
-
|
|
53
|
-
Should you decide to use Spree Commerce version 4.10 or later for commercial redistribution (eg. SaaS) - also known as Commercial Distribution - you must do so in accordance with the terms and conditions contained in a separate written agreement between you and [Vendo Connect Inc.](https://www.getvendo.com/).
|
|
54
|
-
|
|
55
|
-
For more information about the Commercial License (CL) please contact [sales@getvendo.com](mailto:sales@getvendo.com).
|
|
56
|
-
|
|
57
|
-
Please refer to our [Licensing FAQ](https://spreecommerce.org/why-spree-is-changing-its-open-source-license-to-agpl-3-0-and-introducing-a-commercial-license/) in case of questions.
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
module Spree
|
|
2
|
-
module Stores
|
|
3
|
-
class FindCurrent
|
|
4
|
-
def initialize(scope: nil, url: nil)
|
|
5
|
-
@scope = scope || Spree::Store
|
|
6
|
-
@url = url
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
def execute
|
|
10
|
-
store = by_url(scope) || scope.default
|
|
11
|
-
return if store.nil?
|
|
12
|
-
|
|
13
|
-
Spree::Current.store = store
|
|
14
|
-
store
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
protected
|
|
18
|
-
|
|
19
|
-
attr_reader :scope, :url
|
|
20
|
-
|
|
21
|
-
def by_url(scope)
|
|
22
|
-
return if url.blank?
|
|
23
|
-
|
|
24
|
-
scope.by_custom_domain(url).or(scope.by_url(url)).first
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
module Spree
|
|
2
|
-
class CustomDomain < Spree::Base
|
|
3
|
-
include Spree::SingleStoreResource
|
|
4
|
-
include Spree::Metafields
|
|
5
|
-
include Spree::Metadata
|
|
6
|
-
|
|
7
|
-
normalizes :url, with: ->(value) { value&.to_s&.squish&.presence }
|
|
8
|
-
|
|
9
|
-
#
|
|
10
|
-
# Associations
|
|
11
|
-
#
|
|
12
|
-
belongs_to :store, class_name: 'Spree::Store', inverse_of: :custom_domains, touch: true
|
|
13
|
-
|
|
14
|
-
#
|
|
15
|
-
# Validations
|
|
16
|
-
#
|
|
17
|
-
validates :url, presence: true, uniqueness: true, format: {
|
|
18
|
-
with: %r{\A(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\z}i
|
|
19
|
-
}, length: { in: 1..63 }
|
|
20
|
-
validate :url_is_valid
|
|
21
|
-
|
|
22
|
-
#
|
|
23
|
-
# Callbacks
|
|
24
|
-
#
|
|
25
|
-
before_validation :sanitize_url
|
|
26
|
-
after_save :ensure_has_one_default
|
|
27
|
-
after_validation :ensure_default, on: :create
|
|
28
|
-
|
|
29
|
-
def url_is_valid
|
|
30
|
-
return if url.blank?
|
|
31
|
-
parts = url.split('.')
|
|
32
|
-
|
|
33
|
-
errors.add(:url, 'use domain or subdomain') if parts.size > 4 || parts.size < 2
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def ensure_default
|
|
37
|
-
self.default = store.custom_domains.count.zero?
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def ensure_has_one_default
|
|
41
|
-
store.custom_domains.where.not(id: id).update_all(default: false) if default?
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def active?
|
|
45
|
-
true
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def name
|
|
49
|
-
url
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
private
|
|
53
|
-
|
|
54
|
-
# remove https:// and http:// from the url
|
|
55
|
-
def sanitize_url
|
|
56
|
-
self.url = url&.gsub(%r{https?://}, '')
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Spree
|
|
4
|
-
module Events
|
|
5
|
-
class AssetSerializer < BaseSerializer
|
|
6
|
-
protected
|
|
7
|
-
|
|
8
|
-
def attributes
|
|
9
|
-
{
|
|
10
|
-
id: resource.id,
|
|
11
|
-
type: resource.type,
|
|
12
|
-
viewable_type: resource.viewable_type,
|
|
13
|
-
viewable_id: resource.viewable_id,
|
|
14
|
-
position: resource.position,
|
|
15
|
-
alt: resource.alt,
|
|
16
|
-
created_at: timestamp(resource.created_at),
|
|
17
|
-
updated_at: timestamp(resource.updated_at)
|
|
18
|
-
}
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Spree
|
|
4
|
-
module Events
|
|
5
|
-
class BaseSerializer
|
|
6
|
-
attr_reader :resource, :context
|
|
7
|
-
|
|
8
|
-
def initialize(resource, context = {})
|
|
9
|
-
@resource = resource
|
|
10
|
-
@context = context
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
# Main serialization method
|
|
14
|
-
def as_json
|
|
15
|
-
attributes
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
# Class method for convenience
|
|
19
|
-
def self.serialize(resource, context = {})
|
|
20
|
-
new(resource, context).as_json
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
protected
|
|
24
|
-
|
|
25
|
-
# Override in subclasses to define attributes
|
|
26
|
-
def attributes
|
|
27
|
-
{
|
|
28
|
-
id: resource.id
|
|
29
|
-
}
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
# Context helpers
|
|
33
|
-
def event_name
|
|
34
|
-
context[:event_name]
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def triggered_at
|
|
38
|
-
context[:triggered_at] || Time.current
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
# Attribute helpers
|
|
42
|
-
|
|
43
|
-
# Safely get attribute, returns nil if not present
|
|
44
|
-
def attribute(name)
|
|
45
|
-
resource.public_send(name) if resource.respond_to?(name)
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
# Timestamp helper - ISO8601 format
|
|
49
|
-
def timestamp(time)
|
|
50
|
-
time&.iso8601
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
# Money helper - decimal value for events
|
|
54
|
-
def money(amount)
|
|
55
|
-
return nil if amount.nil?
|
|
56
|
-
|
|
57
|
-
amount.respond_to?(:to_d) ? amount.to_d : amount
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Spree
|
|
4
|
-
module Events
|
|
5
|
-
class CustomerReturnSerializer < BaseSerializer
|
|
6
|
-
protected
|
|
7
|
-
|
|
8
|
-
def attributes
|
|
9
|
-
{
|
|
10
|
-
id: resource.id,
|
|
11
|
-
number: resource.number,
|
|
12
|
-
stock_location_id: resource.stock_location_id,
|
|
13
|
-
store_id: resource.store_id,
|
|
14
|
-
created_at: timestamp(resource.created_at),
|
|
15
|
-
updated_at: timestamp(resource.updated_at)
|
|
16
|
-
}
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Spree
|
|
4
|
-
module Events
|
|
5
|
-
class DigitalLinkSerializer < BaseSerializer
|
|
6
|
-
protected
|
|
7
|
-
|
|
8
|
-
def attributes
|
|
9
|
-
{
|
|
10
|
-
id: resource.id,
|
|
11
|
-
digital_id: resource.digital_id,
|
|
12
|
-
line_item_id: resource.line_item_id,
|
|
13
|
-
access_counter: resource.access_counter,
|
|
14
|
-
created_at: timestamp(resource.created_at),
|
|
15
|
-
updated_at: timestamp(resource.updated_at)
|
|
16
|
-
}
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Spree
|
|
4
|
-
module Events
|
|
5
|
-
class DigitalSerializer < BaseSerializer
|
|
6
|
-
protected
|
|
7
|
-
|
|
8
|
-
def attributes
|
|
9
|
-
{
|
|
10
|
-
id: resource.id,
|
|
11
|
-
variant_id: resource.variant_id,
|
|
12
|
-
created_at: timestamp(resource.created_at),
|
|
13
|
-
updated_at: timestamp(resource.updated_at)
|
|
14
|
-
}
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|