spree_core 5.2.6 → 5.3.0.rc1
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/helpers/spree/addresses_helper.rb +1 -23
- data/app/helpers/spree/base_helper.rb +25 -77
- data/app/helpers/spree/currency_helper.rb +2 -2
- data/app/helpers/spree/images_helper.rb +5 -0
- data/app/helpers/spree/mail_helper.rb +1 -1
- data/app/helpers/spree/products_helper.rb +1 -1
- data/app/jobs/spree/events/subscriber_job.rb +58 -0
- data/app/jobs/spree/products/refresh_metrics_job.rb +14 -0
- data/app/jobs/spree/products/touch_taxons_job.rb +0 -1
- data/app/jobs/spree/variants/touch_job.rb +9 -0
- data/app/models/concerns/spree/adjustment_source.rb +8 -0
- data/app/models/concerns/spree/parameterizable_name.rb +1 -1
- data/app/models/concerns/spree/product_scopes.rb +54 -8
- data/app/models/concerns/spree/publishable.rb +253 -0
- data/app/models/concerns/spree/unique_name.rb +1 -1
- data/app/models/concerns/spree/user_methods.rb +21 -1
- data/app/models/spree/ability.rb +3 -3
- data/app/models/spree/address.rb +0 -3
- data/app/models/spree/adjustable/promotion_accumulator.rb +1 -1
- data/app/models/spree/adjustment.rb +32 -6
- data/app/models/spree/asset.rb +6 -3
- data/app/models/spree/base.rb +3 -1
- data/app/models/spree/classification.rb +2 -2
- data/app/models/spree/credit_card.rb +0 -3
- data/app/models/spree/current.rb +24 -3
- data/app/models/spree/custom_domain.rb +1 -1
- data/app/models/spree/customer_group.rb +94 -0
- data/app/models/spree/customer_group_user.rb +16 -0
- data/app/models/spree/customer_return.rb +2 -3
- data/app/models/spree/digital.rb +2 -4
- data/app/models/spree/digital_link.rb +2 -3
- data/app/models/spree/event.rb +104 -0
- data/app/models/spree/export.rb +7 -1
- data/app/models/spree/gift_card.rb +13 -1
- data/app/models/spree/gift_card_batch.rb +3 -1
- data/app/models/spree/image.rb +20 -5
- data/app/models/spree/import.rb +17 -12
- data/app/models/spree/import_row.rb +13 -26
- data/app/models/spree/inventory_unit.rb +0 -3
- data/app/models/spree/invitation.rb +12 -6
- data/app/models/spree/line_item.rb +57 -4
- data/app/models/spree/newsletter_subscriber.rb +2 -0
- data/app/models/spree/option_type.rb +2 -5
- data/app/models/spree/option_value.rb +1 -4
- data/app/models/spree/order/checkout.rb +7 -2
- data/app/models/spree/order/emails.rb +3 -11
- data/app/models/spree/order/store_credit.rb +5 -1
- data/app/models/spree/order.rb +80 -31
- data/app/models/spree/order_updater.rb +28 -9
- data/app/models/spree/payment/custom_events.rb +37 -0
- data/app/models/spree/payment.rb +13 -4
- data/app/models/spree/payment_capture_event.rb +0 -4
- data/app/models/spree/payment_method.rb +1 -1
- data/app/models/spree/permission_sets/default_customer.rb +3 -3
- data/app/models/spree/policy.rb +1 -8
- data/app/models/spree/post.rb +2 -7
- data/app/models/spree/post_category.rb +2 -0
- data/app/models/spree/price.rb +8 -6
- data/app/models/spree/price_list.rb +263 -0
- data/app/models/spree/price_rule.rb +26 -0
- data/app/models/spree/price_rules/customer_group_rule.rb +21 -0
- data/app/models/spree/price_rules/user_rule.rb +19 -0
- data/app/models/spree/price_rules/volume_rule.rb +21 -0
- data/app/models/spree/price_rules/zone_rule.rb +19 -0
- data/app/models/spree/product.rb +117 -76
- data/app/models/spree/product_property.rb +2 -2
- data/app/models/spree/promotion/rules/customer_group.rb +22 -0
- data/app/models/spree/promotion/rules/user.rb +2 -2
- data/app/models/spree/promotion.rb +3 -4
- data/app/models/spree/promotion_handler/coupon.rb +3 -3
- data/app/models/spree/property.rb +3 -6
- data/app/models/spree/prototype.rb +0 -3
- data/app/models/spree/refund.rb +2 -3
- data/app/models/spree/reimbursement.rb +5 -3
- data/app/models/spree/report.rb +7 -1
- data/app/models/spree/reports/products_performance.rb +1 -1
- data/app/models/spree/reports/sales_total.rb +1 -1
- data/app/models/spree/return_authorization.rb +7 -3
- data/app/models/spree/return_item.rb +15 -4
- data/app/models/spree/shipment/custom_events.rb +47 -0
- data/app/models/spree/shipment.rb +12 -5
- data/app/models/spree/shipping_category.rb +0 -3
- data/app/models/spree/shipping_method.rb +0 -3
- data/app/models/spree/stock/quantifier.rb +1 -1
- data/app/models/spree/stock_item.rb +2 -0
- data/app/models/spree/stock_location.rb +0 -3
- data/app/models/spree/stock_movement/custom_events.rb +44 -0
- data/app/models/spree/stock_movement.rb +3 -0
- data/app/models/spree/stock_transfer.rb +2 -3
- data/app/models/spree/store.rb +64 -92
- data/app/models/spree/store_credit.rb +3 -4
- data/app/models/spree/store_product.rb +14 -0
- data/app/models/spree/subscriber.rb +186 -0
- data/app/models/spree/tax_category.rb +0 -4
- data/app/models/spree/tax_rate.rb +0 -3
- data/app/models/spree/taxon.rb +3 -36
- data/app/models/spree/taxonomy.rb +0 -3
- data/app/models/spree/variant.rb +114 -21
- data/app/models/spree/webhook_delivery.rb +60 -0
- data/app/models/spree/webhook_endpoint.rb +53 -0
- data/app/models/spree/wished_item.rb +2 -4
- data/app/models/spree/wishlist.rb +2 -3
- data/app/models/spree/zone.rb +0 -9
- data/app/paginators/spree/shared/paginate.rb +4 -0
- data/app/serializers/spree/events/asset_serializer.rb +22 -0
- data/app/serializers/spree/events/base_serializer.rb +61 -0
- data/app/serializers/spree/events/customer_return_serializer.rb +20 -0
- data/app/serializers/spree/events/digital_link_serializer.rb +20 -0
- data/app/serializers/spree/events/digital_serializer.rb +18 -0
- data/app/serializers/spree/events/export_serializer.rb +22 -0
- data/app/serializers/spree/events/gift_card_batch_serializer.rb +24 -0
- data/app/serializers/spree/events/gift_card_serializer.rb +29 -0
- data/app/serializers/spree/events/image_serializer.rb +9 -0
- data/app/serializers/spree/events/import_row_serializer.rb +23 -0
- data/app/serializers/spree/events/import_serializer.rb +24 -0
- data/app/serializers/spree/events/invitation_serializer.rb +28 -0
- data/app/serializers/spree/events/line_item_serializer.rb +31 -0
- data/app/serializers/spree/events/newsletter_subscriber_serializer.rb +21 -0
- data/app/serializers/spree/events/order_serializer.rb +39 -0
- data/app/serializers/spree/events/payment_serializer.rb +24 -0
- data/app/serializers/spree/events/post_category_serializer.rb +20 -0
- data/app/serializers/spree/events/post_serializer.rb +26 -0
- data/app/serializers/spree/events/price_serializer.rb +22 -0
- data/app/serializers/spree/events/product_serializer.rb +24 -0
- data/app/serializers/spree/events/promotion_serializer.rb +32 -0
- data/app/serializers/spree/events/refund_serializer.rb +23 -0
- data/app/serializers/spree/events/reimbursement_serializer.rb +22 -0
- data/app/serializers/spree/events/report_serializer.rb +23 -0
- data/app/serializers/spree/events/return_authorization_serializer.rb +22 -0
- data/app/serializers/spree/events/return_item_serializer.rb +27 -0
- data/app/serializers/spree/events/shipment_serializer.rb +24 -0
- data/app/serializers/spree/events/stock_item_serializer.rb +22 -0
- data/app/serializers/spree/events/stock_movement_serializer.rb +22 -0
- data/app/serializers/spree/events/stock_transfer_serializer.rb +22 -0
- data/app/serializers/spree/events/store_credit_serializer.rb +30 -0
- data/app/serializers/spree/events/user_serializer.rb +18 -0
- data/app/serializers/spree/events/variant_serializer.rb +34 -0
- data/app/serializers/spree/events/wished_item_serializer.rb +20 -0
- data/app/serializers/spree/events/wishlist_serializer.rb +22 -0
- data/app/services/spree/addresses/update.rb +1 -1
- data/app/services/spree/cart/add_item.rb +1 -1
- data/app/services/spree/coupon_codes/coupon_codes_handler.rb +2 -1
- data/app/services/spree/data_feeds/google/required_attributes.rb +4 -4
- data/app/services/spree/newsletter/verify.rb +5 -0
- data/app/services/spree/products/auto_match_taxons.rb +1 -1
- data/app/services/spree/seeds/all.rb +1 -1
- data/app/services/spree/taxons/add_products.rb +8 -4
- data/app/services/spree/taxons/regenerate_products.rb +8 -0
- data/app/services/spree/taxons/remove_products.rb +12 -7
- data/app/subscribers/spree/event_log_subscriber.rb +64 -0
- data/app/subscribers/spree/export_subscriber.rb +26 -0
- data/app/subscribers/spree/invitation_email_subscriber.rb +40 -0
- data/app/subscribers/spree/product_metrics_subscriber.rb +29 -0
- data/app/subscribers/spree/report_subscriber.rb +26 -0
- data/config/locales/en.yml +126 -0
- data/db/migrate/20251110120000_create_spree_price_lists.rb +22 -0
- data/db/migrate/20251110120001_create_spree_price_rules.rb +13 -0
- data/db/migrate/20251110120002_add_price_list_id_to_spree_prices.rb +6 -0
- data/db/migrate/20251110120003_add_price_list_id_to_spree_line_items.rb +5 -0
- data/db/migrate/20251201172118_fix_indexes_on_friendly_id_slugs.rb +8 -0
- data/db/migrate/20251214000001_create_spree_webhook_endpoints.rb +19 -0
- data/db/migrate/20251214000002_create_spree_webhook_deliveries.rb +23 -0
- data/db/migrate/20251222000000_add_performance_indexes_to_spree_adjustments.rb +25 -0
- data/db/migrate/20260112000000_fix_spree_prices_unique_indexes.rb +33 -0
- data/db/migrate/20260115120000_create_spree_customer_groups.rb +14 -0
- data/db/migrate/20260115120001_create_spree_customer_group_users.rb +14 -0
- data/db/migrate/20260117140831_remove_not_null_constraint_from_policy_name.rb +5 -0
- data/db/migrate/20260118120000_add_statistics_to_store_products.rb +11 -0
- data/db/migrate/20260119120000_add_counter_caches_to_spree_products.rb +9 -0
- data/db/migrate/20260119170000_add_counter_caches_to_spree_taxons.rb +9 -0
- data/db/migrate/20260120120000_add_image_count_to_spree_variants.rb +9 -0
- data/lib/generators/spree/dummy/dummy_generator.rb +14 -2
- data/lib/spree/core/configuration.rb +1 -0
- data/lib/spree/core/controller_helpers/auth.rb +0 -15
- data/lib/spree/core/controller_helpers/currency.rb +13 -9
- data/lib/spree/core/controller_helpers/search.rb +1 -1
- data/lib/spree/core/controller_helpers/store.rb +5 -1
- data/lib/spree/core/engine.rb +61 -78
- data/lib/spree/core/importer/order.rb +1 -1
- data/lib/spree/core/importer/product.rb +1 -1
- data/lib/spree/core/preferences/preferable.rb +14 -1
- data/lib/spree/core/pricing/context.rb +63 -0
- data/lib/spree/core/pricing/resolver.rb +129 -0
- data/lib/spree/core/search/base.rb +1 -1
- data/lib/spree/core/token_generator.rb +1 -1
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/core.rb +42 -47
- data/lib/spree/events/adapters/active_support_notifications.rb +112 -0
- data/lib/spree/events/adapters/base.rb +193 -0
- data/lib/spree/events/registry.rb +99 -0
- data/lib/spree/events.rb +240 -0
- data/lib/spree/permitted_attributes.rb +13 -2
- data/lib/spree/testing_support/common_rake.rb +68 -35
- data/lib/spree/testing_support/factories/customer_group_factory.rb +6 -0
- data/lib/spree/testing_support/factories/customer_group_user_factory.rb +6 -0
- data/lib/spree/testing_support/factories/price_factory.rb +4 -0
- data/lib/spree/testing_support/factories/price_list_factory.rb +34 -0
- data/lib/spree/testing_support/factories/price_rule_factory.rb +49 -0
- data/lib/spree/testing_support/factories/promotion_rule_factory.rb +12 -0
- data/lib/spree/testing_support/factories/stock_item_factory.rb +6 -4
- data/lib/spree/testing_support/factories/store_product_factory.rb +6 -0
- data/lib/spree/testing_support/factories/taxon_factory.rb +0 -1
- data/lib/spree/testing_support/factories/webhook_delivery_factory.rb +48 -0
- data/lib/spree/testing_support/factories/webhook_endpoint_factory.rb +22 -0
- data/lib/spree/testing_support/lifecycle_events.rb +38 -0
- data/lib/spree/testing_support/store.rb +4 -2
- data/lib/spree/webhooks.rb +22 -0
- data/lib/tasks/products.rake +40 -0
- data/lib/tasks/taxons.rake +19 -0
- data/lib/tasks/variants.rake +18 -0
- metadata +112 -114
- data/app/jobs/spree/themes/duplicate_components_job.rb +0 -59
- data/app/jobs/spree/themes/screenshot_job.rb +0 -81
- data/app/models/concerns/spree/has_page_links.rb +0 -53
- data/app/models/spree/page.rb +0 -188
- data/app/models/spree/page_block.rb +0 -73
- data/app/models/spree/page_blocks/buttons.rb +0 -29
- data/app/models/spree/page_blocks/heading.rb +0 -18
- data/app/models/spree/page_blocks/image.rb +0 -20
- data/app/models/spree/page_blocks/link.rb +0 -21
- data/app/models/spree/page_blocks/mega_nav.rb +0 -33
- data/app/models/spree/page_blocks/mega_nav_with_subcategories.rb +0 -32
- data/app/models/spree/page_blocks/metafields.rb +0 -18
- data/app/models/spree/page_blocks/nav.rb +0 -15
- data/app/models/spree/page_blocks/newsletter_form.rb +0 -18
- data/app/models/spree/page_blocks/products/brand.rb +0 -15
- data/app/models/spree/page_blocks/products/buy_buttons.rb +0 -24
- data/app/models/spree/page_blocks/products/description.rb +0 -18
- data/app/models/spree/page_blocks/products/price.rb +0 -18
- data/app/models/spree/page_blocks/products/quantity_selector.rb +0 -20
- data/app/models/spree/page_blocks/products/share.rb +0 -8
- data/app/models/spree/page_blocks/products/title.rb +0 -19
- data/app/models/spree/page_blocks/products/variant_picker.rb +0 -13
- data/app/models/spree/page_blocks/subheading.rb +0 -17
- data/app/models/spree/page_blocks/text.rb +0 -16
- data/app/models/spree/page_link.rb +0 -60
- data/app/models/spree/page_section.rb +0 -222
- data/app/models/spree/page_sections/announcement_bar.rb +0 -28
- data/app/models/spree/page_sections/breadcrumbs.rb +0 -12
- data/app/models/spree/page_sections/collection_banner.rb +0 -18
- data/app/models/spree/page_sections/custom_code.rb +0 -11
- data/app/models/spree/page_sections/featured_posts.rb +0 -45
- data/app/models/spree/page_sections/featured_product.rb +0 -50
- data/app/models/spree/page_sections/featured_taxon.rb +0 -90
- data/app/models/spree/page_sections/featured_taxons.rb +0 -45
- data/app/models/spree/page_sections/footer.rb +0 -101
- data/app/models/spree/page_sections/header.rb +0 -62
- data/app/models/spree/page_sections/image_banner.rb +0 -55
- data/app/models/spree/page_sections/image_with_text.rb +0 -65
- data/app/models/spree/page_sections/main_password_footer.rb +0 -18
- data/app/models/spree/page_sections/main_password_header.rb +0 -20
- data/app/models/spree/page_sections/newsletter.rb +0 -54
- data/app/models/spree/page_sections/page_title.rb +0 -19
- data/app/models/spree/page_sections/post_details.rb +0 -19
- data/app/models/spree/page_sections/post_grid.rb +0 -19
- data/app/models/spree/page_sections/product_details.rb +0 -53
- data/app/models/spree/page_sections/product_grid.rb +0 -13
- data/app/models/spree/page_sections/related_products.rb +0 -58
- data/app/models/spree/page_sections/rich_text.rb +0 -31
- data/app/models/spree/page_sections/taxon_banner.rb +0 -18
- data/app/models/spree/page_sections/taxon_grid.rb +0 -17
- data/app/models/spree/page_sections/video.rb +0 -107
- data/app/models/spree/pages/account.rb +0 -19
- data/app/models/spree/pages/cart.rb +0 -19
- data/app/models/spree/pages/checkout.rb +0 -15
- data/app/models/spree/pages/custom.rb +0 -38
- data/app/models/spree/pages/homepage.rb +0 -72
- data/app/models/spree/pages/login.rb +0 -19
- data/app/models/spree/pages/password.rb +0 -59
- data/app/models/spree/pages/post.rb +0 -27
- data/app/models/spree/pages/post_list.rb +0 -36
- data/app/models/spree/pages/product_details.rb +0 -30
- data/app/models/spree/pages/search_results.rb +0 -43
- data/app/models/spree/pages/shop_all.rb +0 -40
- data/app/models/spree/pages/taxon.rb +0 -29
- data/app/models/spree/pages/taxon_list.rb +0 -41
- data/app/models/spree/pages/wishlist.rb +0 -15
- data/app/models/spree/theme.rb +0 -233
- data/app/models/spree/themes/default.rb +0 -97
- data/app/services/spree/taxons/touch_featured_sections.rb +0 -21
- data/db/migrate/20250120094216_create_page_builder_models.rb +0 -78
- data/db/migrate/20250305121352_remove_page_builder_indices.rb +0 -11
- data/db/migrate/20250825175217_add_missing_page_builder_indexes.rb +0 -7
- data/db/migrate/20250913130044_add_page_links_counter_cache_to_spree_stores.rb +0 -10
- data/lib/generators/spree/dummy/templates/initializers/devise.rb +0 -3
- data/lib/generators/spree/install/install_generator.rb +0 -219
- data/lib/generators/spree/install/templates/config/initializers/spree.rb +0 -126
- data/lib/spree/core/webhooks.rb +0 -21
- data/lib/spree/testing_support/factories/page_block_factory.rb +0 -22
- data/lib/spree/testing_support/factories/page_factory.rb +0 -33
- data/lib/spree/testing_support/factories/page_link_factory.rb +0 -7
- data/lib/spree/testing_support/factories/page_section_factory.rb +0 -27
- data/lib/spree/testing_support/factories/theme_factory.rb +0 -14
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
FactoryBot.define do
|
|
4
|
+
factory :webhook_endpoint, class: Spree::WebhookEndpoint do
|
|
5
|
+
store
|
|
6
|
+
sequence(:url) { |n| "https://example.com/webhooks/#{n}" }
|
|
7
|
+
active { true }
|
|
8
|
+
subscriptions { [] }
|
|
9
|
+
|
|
10
|
+
trait :inactive do
|
|
11
|
+
active { false }
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
trait :with_subscriptions do
|
|
15
|
+
subscriptions { %w[order.created order.completed product.created] }
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
trait :all_events do
|
|
19
|
+
subscriptions { ['*'] }
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
shared_examples_for 'lifecycle events' do |factory: nil, event_prefix: nil|
|
|
4
|
+
let(:lifecycle_factory) { factory || described_class.name.demodulize.underscore.to_sym }
|
|
5
|
+
let(:lifecycle_event_prefix) { event_prefix || described_class.event_prefix }
|
|
6
|
+
|
|
7
|
+
describe 'lifecycle events', events: true do
|
|
8
|
+
describe "#{described_class.event_prefix}.created" do
|
|
9
|
+
it 'publishes created event when record is created' do
|
|
10
|
+
record = build(lifecycle_factory)
|
|
11
|
+
expect(record).to receive(:publish_event).with("#{lifecycle_event_prefix}.created")
|
|
12
|
+
allow(record).to receive(:publish_event).with(anything)
|
|
13
|
+
|
|
14
|
+
record.save!
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
describe "#{described_class.event_prefix}.updated" do
|
|
19
|
+
it 'publishes updated event when record is updated' do
|
|
20
|
+
record = create(lifecycle_factory)
|
|
21
|
+
expect(record).to receive(:publish_event).with("#{lifecycle_event_prefix}.updated")
|
|
22
|
+
allow(record).to receive(:publish_event).with(anything)
|
|
23
|
+
|
|
24
|
+
record.touch
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
describe "#{described_class.event_prefix}.deleted" do
|
|
29
|
+
it 'publishes deleted event when record is deleted' do
|
|
30
|
+
record = create(lifecycle_factory)
|
|
31
|
+
expect(record).to receive(:publish_event).with("#{lifecycle_event_prefix}.deleted", kind_of(Hash))
|
|
32
|
+
allow(record).to receive(:publish_event).with(anything)
|
|
33
|
+
|
|
34
|
+
record.destroy!
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -16,8 +16,10 @@ RSpec.configure do |config|
|
|
|
16
16
|
# Ensure locale is set to :en before creating store to avoid translation issues
|
|
17
17
|
# when previous tests left the locale in a different language
|
|
18
18
|
I18n.with_locale(:en) do
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
Spree::Events.disable do
|
|
20
|
+
@default_country = Spree::Country.find_by(iso: 'US') || FactoryBot.create(:country_us)
|
|
21
|
+
@default_store = Spree::Store.find_by(default: true) || FactoryBot.create(:store, default: true, default_country: @default_country, default_currency: 'USD')
|
|
22
|
+
end
|
|
21
23
|
end
|
|
22
24
|
end
|
|
23
25
|
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module Spree
|
|
2
|
+
module Webhooks
|
|
3
|
+
def self.disable_webhooks
|
|
4
|
+
Spree::Deprecation.warn('Spree::Webhooks.disable_webhooks is deprecated. Use Spree::LegacyWebhooks.disable_webhooks instead.')
|
|
5
|
+
prev_value = disabled?
|
|
6
|
+
RequestStore.store[:disable_spree_legacy_webhooks] = true
|
|
7
|
+
yield
|
|
8
|
+
ensure
|
|
9
|
+
RequestStore.store[:disable_spree_legacy_webhooks] = prev_value
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def self.disabled?
|
|
13
|
+
Spree::Deprecation.warn('Spree::Webhooks.disabled? is deprecated. Use Spree::LegacyWebhooks.disabled? instead.')
|
|
14
|
+
RequestStore.fetch(:disable_spree_legacy_webhooks) { false }
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.disabled=(value)
|
|
18
|
+
Spree::Deprecation.warn('Spree::Webhooks.disabled= is deprecated. Use Spree::LegacyWebhooks.disabled= instead.')
|
|
19
|
+
RequestStore.store[:disable_spree_legacy_webhooks] = value
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
namespace :spree do
|
|
2
|
+
namespace :products do
|
|
3
|
+
desc 'Reset counter caches (variant_count, classification_count, total_image_count) on products'
|
|
4
|
+
task reset_counter_caches: :environment do |_t, _args|
|
|
5
|
+
puts 'Resetting product counter caches...'
|
|
6
|
+
|
|
7
|
+
Spree::Product.find_each do |product|
|
|
8
|
+
product.update_columns(
|
|
9
|
+
variant_count: product.variants.count,
|
|
10
|
+
classification_count: product.classifications.count,
|
|
11
|
+
total_image_count: product.variant_images.count,
|
|
12
|
+
updated_at: Time.current
|
|
13
|
+
)
|
|
14
|
+
print '.'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
puts "\nDone!"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
desc 'Enqueue background jobs to populate product metrics for all store products'
|
|
21
|
+
task populate_metrics: :environment do
|
|
22
|
+
total_count = 0
|
|
23
|
+
|
|
24
|
+
Spree::StoreProduct.in_batches(of: 100) do |batch|
|
|
25
|
+
jobs = batch.pluck(:product_id, :store_id).map do |product_id, store_id|
|
|
26
|
+
Spree::Products::RefreshMetricsJob.new(product_id, store_id)
|
|
27
|
+
end
|
|
28
|
+
ActiveJob.perform_all_later(jobs)
|
|
29
|
+
total_count += jobs.size
|
|
30
|
+
print '.'
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
if total_count.zero?
|
|
34
|
+
puts 'No store products found.'
|
|
35
|
+
else
|
|
36
|
+
puts "\nEnqueued #{total_count} jobs to refresh product metrics."
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
namespace :spree do
|
|
2
|
+
namespace :taxons do
|
|
3
|
+
desc 'Reset counter caches (children_count, classification_count) on taxons'
|
|
4
|
+
task reset_counter_caches: :environment do |_t, _args|
|
|
5
|
+
puts 'Resetting taxon counter caches...'
|
|
6
|
+
|
|
7
|
+
Spree::Taxon.find_each do |taxon|
|
|
8
|
+
taxon.update_columns(
|
|
9
|
+
children_count: taxon.children.count,
|
|
10
|
+
classification_count: taxon.classifications.count,
|
|
11
|
+
updated_at: Time.current
|
|
12
|
+
)
|
|
13
|
+
print '.'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
puts "\nDone!"
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
namespace :spree do
|
|
2
|
+
namespace :variants do
|
|
3
|
+
desc 'Reset image_count counter cache on variants'
|
|
4
|
+
task reset_counter_caches: :environment do |_t, _args|
|
|
5
|
+
puts 'Resetting variant counter caches...'
|
|
6
|
+
|
|
7
|
+
Spree::Variant.find_each do |variant|
|
|
8
|
+
variant.update_columns(
|
|
9
|
+
image_count: variant.images.count,
|
|
10
|
+
updated_at: Time.current
|
|
11
|
+
)
|
|
12
|
+
print '.'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
puts "\nDone!"
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spree_core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.3.0.rc1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sean Schofield
|
|
@@ -87,20 +87,6 @@ dependencies:
|
|
|
87
87
|
- - ">="
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
89
|
version: '0'
|
|
90
|
-
- !ruby/object:Gem::Dependency
|
|
91
|
-
name: auto_strip_attributes
|
|
92
|
-
requirement: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - "~>"
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: '2.6'
|
|
97
|
-
type: :runtime
|
|
98
|
-
prerelease: false
|
|
99
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - "~>"
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: '2.6'
|
|
104
90
|
- !ruby/object:Gem::Dependency
|
|
105
91
|
name: awesome_nested_set
|
|
106
92
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -217,20 +203,6 @@ dependencies:
|
|
|
217
203
|
- - "<"
|
|
218
204
|
- !ruby/object:Gem::Version
|
|
219
205
|
version: '4'
|
|
220
|
-
- !ruby/object:Gem::Dependency
|
|
221
|
-
name: kaminari
|
|
222
|
-
requirement: !ruby/object:Gem::Requirement
|
|
223
|
-
requirements:
|
|
224
|
-
- - "~>"
|
|
225
|
-
- !ruby/object:Gem::Version
|
|
226
|
-
version: '1.2'
|
|
227
|
-
type: :runtime
|
|
228
|
-
prerelease: false
|
|
229
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
230
|
-
requirements:
|
|
231
|
-
- - "~>"
|
|
232
|
-
- !ruby/object:Gem::Version
|
|
233
|
-
version: '1.2'
|
|
234
206
|
- !ruby/object:Gem::Dependency
|
|
235
207
|
name: money
|
|
236
208
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -573,6 +545,20 @@ dependencies:
|
|
|
573
545
|
- - "~>"
|
|
574
546
|
- !ruby/object:Gem::Version
|
|
575
547
|
version: '0.10'
|
|
548
|
+
- !ruby/object:Gem::Dependency
|
|
549
|
+
name: ar_lazy_preload
|
|
550
|
+
requirement: !ruby/object:Gem::Requirement
|
|
551
|
+
requirements:
|
|
552
|
+
- - "~>"
|
|
553
|
+
- !ruby/object:Gem::Version
|
|
554
|
+
version: '2.0'
|
|
555
|
+
type: :runtime
|
|
556
|
+
prerelease: false
|
|
557
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
558
|
+
requirements:
|
|
559
|
+
- - "~>"
|
|
560
|
+
- !ruby/object:Gem::Version
|
|
561
|
+
version: '2.0'
|
|
576
562
|
description: Spree Models, Helpers, Services and core libraries
|
|
577
563
|
email: hello@spreecommerce.org
|
|
578
564
|
executables: []
|
|
@@ -836,19 +822,20 @@ files:
|
|
|
836
822
|
- app/jobs/spree/addresses/geocode_address_job.rb
|
|
837
823
|
- app/jobs/spree/base_job.rb
|
|
838
824
|
- app/jobs/spree/coupon_codes/bulk_generate_job.rb
|
|
825
|
+
- app/jobs/spree/events/subscriber_job.rb
|
|
839
826
|
- app/jobs/spree/exports/generate_job.rb
|
|
840
827
|
- app/jobs/spree/gift_cards/bulk_generate_job.rb
|
|
841
828
|
- app/jobs/spree/images/save_from_url_job.rb
|
|
842
829
|
- app/jobs/spree/imports/create_rows_job.rb
|
|
843
830
|
- app/jobs/spree/imports/process_rows_job.rb
|
|
844
831
|
- app/jobs/spree/products/auto_match_taxons_job.rb
|
|
832
|
+
- app/jobs/spree/products/refresh_metrics_job.rb
|
|
845
833
|
- app/jobs/spree/products/touch_taxons_job.rb
|
|
846
834
|
- app/jobs/spree/reports/generate_job.rb
|
|
847
835
|
- app/jobs/spree/stock_locations/stock_items/create_job.rb
|
|
848
|
-
- app/jobs/spree/themes/duplicate_components_job.rb
|
|
849
|
-
- app/jobs/spree/themes/screenshot_job.rb
|
|
850
836
|
- app/jobs/spree/variants/remove_from_incomplete_orders_job.rb
|
|
851
837
|
- app/jobs/spree/variants/remove_line_item_job.rb
|
|
838
|
+
- app/jobs/spree/variants/touch_job.rb
|
|
852
839
|
- app/mailers/spree/base_mailer.rb
|
|
853
840
|
- app/mailers/spree/export_mailer.rb
|
|
854
841
|
- app/mailers/spree/invitation_mailer.rb
|
|
@@ -865,7 +852,6 @@ files:
|
|
|
865
852
|
- app/models/concerns/spree/filter_param.rb
|
|
866
853
|
- app/models/concerns/spree/has_image_alt_text.rb
|
|
867
854
|
- app/models/concerns/spree/has_one_link.rb
|
|
868
|
-
- app/models/concerns/spree/has_page_links.rb
|
|
869
855
|
- app/models/concerns/spree/image_methods.rb
|
|
870
856
|
- app/models/concerns/spree/integrations_concern.rb
|
|
871
857
|
- app/models/concerns/spree/linkable.rb
|
|
@@ -881,6 +867,7 @@ files:
|
|
|
881
867
|
- app/models/concerns/spree/payment_source_concern.rb
|
|
882
868
|
- app/models/concerns/spree/previewable.rb
|
|
883
869
|
- app/models/concerns/spree/product_scopes.rb
|
|
870
|
+
- app/models/concerns/spree/publishable.rb
|
|
884
871
|
- app/models/concerns/spree/ransackable_attributes.rb
|
|
885
872
|
- app/models/concerns/spree/single_store_resource.rb
|
|
886
873
|
- app/models/concerns/spree/stores/setup.rb
|
|
@@ -930,11 +917,14 @@ files:
|
|
|
930
917
|
- app/models/spree/credit_card.rb
|
|
931
918
|
- app/models/spree/current.rb
|
|
932
919
|
- app/models/spree/custom_domain.rb
|
|
920
|
+
- app/models/spree/customer_group.rb
|
|
921
|
+
- app/models/spree/customer_group_user.rb
|
|
933
922
|
- app/models/spree/customer_return.rb
|
|
934
923
|
- app/models/spree/data_feed.rb
|
|
935
924
|
- app/models/spree/data_feed/google.rb
|
|
936
925
|
- app/models/spree/digital.rb
|
|
937
926
|
- app/models/spree/digital_link.rb
|
|
927
|
+
- app/models/spree/event.rb
|
|
938
928
|
- app/models/spree/exchange.rb
|
|
939
929
|
- app/models/spree/export.rb
|
|
940
930
|
- app/models/spree/exports/customers.rb
|
|
@@ -994,70 +984,8 @@ files:
|
|
|
994
984
|
- app/models/spree/order_merger.rb
|
|
995
985
|
- app/models/spree/order_promotion.rb
|
|
996
986
|
- app/models/spree/order_updater.rb
|
|
997
|
-
- app/models/spree/page.rb
|
|
998
|
-
- app/models/spree/page_block.rb
|
|
999
|
-
- app/models/spree/page_blocks/buttons.rb
|
|
1000
|
-
- app/models/spree/page_blocks/heading.rb
|
|
1001
|
-
- app/models/spree/page_blocks/image.rb
|
|
1002
|
-
- app/models/spree/page_blocks/link.rb
|
|
1003
|
-
- app/models/spree/page_blocks/mega_nav.rb
|
|
1004
|
-
- app/models/spree/page_blocks/mega_nav_with_subcategories.rb
|
|
1005
|
-
- app/models/spree/page_blocks/metafields.rb
|
|
1006
|
-
- app/models/spree/page_blocks/nav.rb
|
|
1007
|
-
- app/models/spree/page_blocks/newsletter_form.rb
|
|
1008
|
-
- app/models/spree/page_blocks/products/brand.rb
|
|
1009
|
-
- app/models/spree/page_blocks/products/buy_buttons.rb
|
|
1010
|
-
- app/models/spree/page_blocks/products/description.rb
|
|
1011
|
-
- app/models/spree/page_blocks/products/price.rb
|
|
1012
|
-
- app/models/spree/page_blocks/products/quantity_selector.rb
|
|
1013
|
-
- app/models/spree/page_blocks/products/share.rb
|
|
1014
|
-
- app/models/spree/page_blocks/products/title.rb
|
|
1015
|
-
- app/models/spree/page_blocks/products/variant_picker.rb
|
|
1016
|
-
- app/models/spree/page_blocks/subheading.rb
|
|
1017
|
-
- app/models/spree/page_blocks/text.rb
|
|
1018
|
-
- app/models/spree/page_link.rb
|
|
1019
|
-
- app/models/spree/page_section.rb
|
|
1020
|
-
- app/models/spree/page_sections/announcement_bar.rb
|
|
1021
|
-
- app/models/spree/page_sections/breadcrumbs.rb
|
|
1022
|
-
- app/models/spree/page_sections/collection_banner.rb
|
|
1023
|
-
- app/models/spree/page_sections/custom_code.rb
|
|
1024
|
-
- app/models/spree/page_sections/featured_posts.rb
|
|
1025
|
-
- app/models/spree/page_sections/featured_product.rb
|
|
1026
|
-
- app/models/spree/page_sections/featured_taxon.rb
|
|
1027
|
-
- app/models/spree/page_sections/featured_taxons.rb
|
|
1028
|
-
- app/models/spree/page_sections/footer.rb
|
|
1029
|
-
- app/models/spree/page_sections/header.rb
|
|
1030
|
-
- app/models/spree/page_sections/image_banner.rb
|
|
1031
|
-
- app/models/spree/page_sections/image_with_text.rb
|
|
1032
|
-
- app/models/spree/page_sections/main_password_footer.rb
|
|
1033
|
-
- app/models/spree/page_sections/main_password_header.rb
|
|
1034
|
-
- app/models/spree/page_sections/newsletter.rb
|
|
1035
|
-
- app/models/spree/page_sections/page_title.rb
|
|
1036
|
-
- app/models/spree/page_sections/post_details.rb
|
|
1037
|
-
- app/models/spree/page_sections/post_grid.rb
|
|
1038
|
-
- app/models/spree/page_sections/product_details.rb
|
|
1039
|
-
- app/models/spree/page_sections/product_grid.rb
|
|
1040
|
-
- app/models/spree/page_sections/related_products.rb
|
|
1041
|
-
- app/models/spree/page_sections/rich_text.rb
|
|
1042
|
-
- app/models/spree/page_sections/taxon_banner.rb
|
|
1043
|
-
- app/models/spree/page_sections/taxon_grid.rb
|
|
1044
|
-
- app/models/spree/page_sections/video.rb
|
|
1045
|
-
- app/models/spree/pages/account.rb
|
|
1046
|
-
- app/models/spree/pages/cart.rb
|
|
1047
|
-
- app/models/spree/pages/checkout.rb
|
|
1048
|
-
- app/models/spree/pages/custom.rb
|
|
1049
|
-
- app/models/spree/pages/homepage.rb
|
|
1050
|
-
- app/models/spree/pages/login.rb
|
|
1051
|
-
- app/models/spree/pages/password.rb
|
|
1052
|
-
- app/models/spree/pages/post.rb
|
|
1053
|
-
- app/models/spree/pages/post_list.rb
|
|
1054
|
-
- app/models/spree/pages/product_details.rb
|
|
1055
|
-
- app/models/spree/pages/search_results.rb
|
|
1056
|
-
- app/models/spree/pages/shop_all.rb
|
|
1057
|
-
- app/models/spree/pages/taxon.rb
|
|
1058
|
-
- app/models/spree/pages/taxon_list.rb
|
|
1059
|
-
- app/models/spree/pages/wishlist.rb
|
|
1060
987
|
- app/models/spree/payment.rb
|
|
988
|
+
- app/models/spree/payment/custom_events.rb
|
|
1061
989
|
- app/models/spree/payment/gateway_options.rb
|
|
1062
990
|
- app/models/spree/payment/processing.rb
|
|
1063
991
|
- app/models/spree/payment/webhooks.rb
|
|
@@ -1086,6 +1014,12 @@ files:
|
|
|
1086
1014
|
- app/models/spree/post_category.rb
|
|
1087
1015
|
- app/models/spree/preference.rb
|
|
1088
1016
|
- app/models/spree/price.rb
|
|
1017
|
+
- app/models/spree/price_list.rb
|
|
1018
|
+
- app/models/spree/price_rule.rb
|
|
1019
|
+
- app/models/spree/price_rules/customer_group_rule.rb
|
|
1020
|
+
- app/models/spree/price_rules/user_rule.rb
|
|
1021
|
+
- app/models/spree/price_rules/volume_rule.rb
|
|
1022
|
+
- app/models/spree/price_rules/zone_rule.rb
|
|
1089
1023
|
- app/models/spree/product.rb
|
|
1090
1024
|
- app/models/spree/product/slugs.rb
|
|
1091
1025
|
- app/models/spree/product/webhooks.rb
|
|
@@ -1099,6 +1033,7 @@ files:
|
|
|
1099
1033
|
- app/models/spree/promotion/actions/free_shipping.rb
|
|
1100
1034
|
- app/models/spree/promotion/rules/country.rb
|
|
1101
1035
|
- app/models/spree/promotion/rules/currency.rb
|
|
1036
|
+
- app/models/spree/promotion/rules/customer_group.rb
|
|
1102
1037
|
- app/models/spree/promotion/rules/first_order.rb
|
|
1103
1038
|
- app/models/spree/promotion/rules/item_total.rb
|
|
1104
1039
|
- app/models/spree/promotion/rules/one_use_per_user.rb
|
|
@@ -1159,6 +1094,7 @@ files:
|
|
|
1159
1094
|
- app/models/spree/role.rb
|
|
1160
1095
|
- app/models/spree/role_user.rb
|
|
1161
1096
|
- app/models/spree/shipment.rb
|
|
1097
|
+
- app/models/spree/shipment/custom_events.rb
|
|
1162
1098
|
- app/models/spree/shipment/emails.rb
|
|
1163
1099
|
- app/models/spree/shipment/webhooks.rb
|
|
1164
1100
|
- app/models/spree/shipment_handler.rb
|
|
@@ -1190,6 +1126,7 @@ files:
|
|
|
1190
1126
|
- app/models/spree/stock_item/webhooks.rb
|
|
1191
1127
|
- app/models/spree/stock_location.rb
|
|
1192
1128
|
- app/models/spree/stock_movement.rb
|
|
1129
|
+
- app/models/spree/stock_movement/custom_events.rb
|
|
1193
1130
|
- app/models/spree/stock_movement/webhooks.rb
|
|
1194
1131
|
- app/models/spree/stock_transfer.rb
|
|
1195
1132
|
- app/models/spree/store.rb
|
|
@@ -1203,6 +1140,7 @@ files:
|
|
|
1203
1140
|
- app/models/spree/store_payment_method.rb
|
|
1204
1141
|
- app/models/spree/store_product.rb
|
|
1205
1142
|
- app/models/spree/store_promotion.rb
|
|
1143
|
+
- app/models/spree/subscriber.rb
|
|
1206
1144
|
- app/models/spree/tax_category.rb
|
|
1207
1145
|
- app/models/spree/tax_rate.rb
|
|
1208
1146
|
- app/models/spree/taxon.rb
|
|
@@ -1213,10 +1151,10 @@ files:
|
|
|
1213
1151
|
- app/models/spree/taxon_rules/sale.rb
|
|
1214
1152
|
- app/models/spree/taxon_rules/tag.rb
|
|
1215
1153
|
- app/models/spree/taxonomy.rb
|
|
1216
|
-
- app/models/spree/theme.rb
|
|
1217
|
-
- app/models/spree/themes/default.rb
|
|
1218
1154
|
- app/models/spree/variant.rb
|
|
1219
1155
|
- app/models/spree/variant/webhooks.rb
|
|
1156
|
+
- app/models/spree/webhook_delivery.rb
|
|
1157
|
+
- app/models/spree/webhook_endpoint.rb
|
|
1220
1158
|
- app/models/spree/wished_item.rb
|
|
1221
1159
|
- app/models/spree/wishlist.rb
|
|
1222
1160
|
- app/models/spree/zone.rb
|
|
@@ -1238,6 +1176,41 @@ files:
|
|
|
1238
1176
|
- app/presenters/spree/variant_presenter.rb
|
|
1239
1177
|
- app/presenters/spree/variants/option_types_presenter.rb
|
|
1240
1178
|
- app/presenters/spree/variants/options_presenter.rb
|
|
1179
|
+
- app/serializers/spree/events/asset_serializer.rb
|
|
1180
|
+
- app/serializers/spree/events/base_serializer.rb
|
|
1181
|
+
- app/serializers/spree/events/customer_return_serializer.rb
|
|
1182
|
+
- app/serializers/spree/events/digital_link_serializer.rb
|
|
1183
|
+
- app/serializers/spree/events/digital_serializer.rb
|
|
1184
|
+
- app/serializers/spree/events/export_serializer.rb
|
|
1185
|
+
- app/serializers/spree/events/gift_card_batch_serializer.rb
|
|
1186
|
+
- app/serializers/spree/events/gift_card_serializer.rb
|
|
1187
|
+
- app/serializers/spree/events/image_serializer.rb
|
|
1188
|
+
- app/serializers/spree/events/import_row_serializer.rb
|
|
1189
|
+
- app/serializers/spree/events/import_serializer.rb
|
|
1190
|
+
- app/serializers/spree/events/invitation_serializer.rb
|
|
1191
|
+
- app/serializers/spree/events/line_item_serializer.rb
|
|
1192
|
+
- app/serializers/spree/events/newsletter_subscriber_serializer.rb
|
|
1193
|
+
- app/serializers/spree/events/order_serializer.rb
|
|
1194
|
+
- app/serializers/spree/events/payment_serializer.rb
|
|
1195
|
+
- app/serializers/spree/events/post_category_serializer.rb
|
|
1196
|
+
- app/serializers/spree/events/post_serializer.rb
|
|
1197
|
+
- app/serializers/spree/events/price_serializer.rb
|
|
1198
|
+
- app/serializers/spree/events/product_serializer.rb
|
|
1199
|
+
- app/serializers/spree/events/promotion_serializer.rb
|
|
1200
|
+
- app/serializers/spree/events/refund_serializer.rb
|
|
1201
|
+
- app/serializers/spree/events/reimbursement_serializer.rb
|
|
1202
|
+
- app/serializers/spree/events/report_serializer.rb
|
|
1203
|
+
- app/serializers/spree/events/return_authorization_serializer.rb
|
|
1204
|
+
- app/serializers/spree/events/return_item_serializer.rb
|
|
1205
|
+
- app/serializers/spree/events/shipment_serializer.rb
|
|
1206
|
+
- app/serializers/spree/events/stock_item_serializer.rb
|
|
1207
|
+
- app/serializers/spree/events/stock_movement_serializer.rb
|
|
1208
|
+
- app/serializers/spree/events/stock_transfer_serializer.rb
|
|
1209
|
+
- app/serializers/spree/events/store_credit_serializer.rb
|
|
1210
|
+
- app/serializers/spree/events/user_serializer.rb
|
|
1211
|
+
- app/serializers/spree/events/variant_serializer.rb
|
|
1212
|
+
- app/serializers/spree/events/wished_item_serializer.rb
|
|
1213
|
+
- app/serializers/spree/events/wishlist_serializer.rb
|
|
1241
1214
|
- app/services/spree/account/addresses/create.rb
|
|
1242
1215
|
- app/services/spree/account/addresses/update.rb
|
|
1243
1216
|
- app/services/spree/account/create.rb
|
|
@@ -1326,7 +1299,6 @@ files:
|
|
|
1326
1299
|
- app/services/spree/taxons/add_products.rb
|
|
1327
1300
|
- app/services/spree/taxons/regenerate_products.rb
|
|
1328
1301
|
- app/services/spree/taxons/remove_products.rb
|
|
1329
|
-
- app/services/spree/taxons/touch_featured_sections.rb
|
|
1330
1302
|
- app/services/spree/themes/duplicator.rb
|
|
1331
1303
|
- app/services/spree/tracking_numbers/base_service.rb
|
|
1332
1304
|
- app/services/spree/variants/remove_line_items.rb
|
|
@@ -1336,6 +1308,11 @@ files:
|
|
|
1336
1308
|
- app/sorters/spree/orders/sort.rb
|
|
1337
1309
|
- app/sorters/spree/posts/sort.rb
|
|
1338
1310
|
- app/sorters/spree/products/sort.rb
|
|
1311
|
+
- app/subscribers/spree/event_log_subscriber.rb
|
|
1312
|
+
- app/subscribers/spree/export_subscriber.rb
|
|
1313
|
+
- app/subscribers/spree/invitation_email_subscriber.rb
|
|
1314
|
+
- app/subscribers/spree/product_metrics_subscriber.rb
|
|
1315
|
+
- app/subscribers/spree/report_subscriber.rb
|
|
1339
1316
|
- app/validators/email_validator.rb
|
|
1340
1317
|
- app/validators/spree/addresses/phone_validator.rb
|
|
1341
1318
|
- app/validators/spree/url_validator.rb
|
|
@@ -1446,7 +1423,6 @@ files:
|
|
|
1446
1423
|
- db/migrate/20250113180019_add_preferences_to_spree_stores.rb
|
|
1447
1424
|
- db/migrate/20250114193857_add_metadata_to_spree_stores.rb
|
|
1448
1425
|
- db/migrate/20250119165904_create_spree_custom_domains.rb
|
|
1449
|
-
- db/migrate/20250120094216_create_page_builder_models.rb
|
|
1450
1426
|
- db/migrate/20250120152208_add_default_locale_to_action_text_rich_texts.rb
|
|
1451
1427
|
- db/migrate/20250121160028_create_spree_posts_and_spree_post_categories.rb
|
|
1452
1428
|
- db/migrate/20250122113708_add_first_and_last_name_to_spree_admin_class.rb
|
|
@@ -1458,7 +1434,6 @@ files:
|
|
|
1458
1434
|
- db/migrate/20250207084000_add_accepts_email_marketing_field_to_spree_users_table.rb
|
|
1459
1435
|
- db/migrate/20250217171018_create_action_text_video_embeds.rb
|
|
1460
1436
|
- db/migrate/20250304115943_add_performed_by_to_spree_reimbursements.rb
|
|
1461
|
-
- db/migrate/20250305121352_remove_page_builder_indices.rb
|
|
1462
1437
|
- db/migrate/20250305121657_remove_spree_posts_indices.rb
|
|
1463
1438
|
- db/migrate/20250311105934_create_spree_gateway_customers.rb
|
|
1464
1439
|
- db/migrate/20250312202705_add_unique_index_on_promotion_rules_associations.rb
|
|
@@ -1479,14 +1454,28 @@ files:
|
|
|
1479
1454
|
- db/migrate/20250730154601_add_unique_index_on_spree_properties_name.rb
|
|
1480
1455
|
- db/migrate/20250811112056_create_spree_policies.rb
|
|
1481
1456
|
- db/migrate/20250821211705_fix_unique_index_on_spree_order_promotions.rb
|
|
1482
|
-
- db/migrate/20250825175217_add_missing_page_builder_indexes.rb
|
|
1483
1457
|
- db/migrate/20250826093602_create_spree_newsletter_subscribers.rb
|
|
1484
1458
|
- db/migrate/20250902143122_fix_policies_store_association.rb
|
|
1485
1459
|
- db/migrate/20250911205659_add_missing_index_on_spree_products_promotionable.rb
|
|
1486
|
-
- db/migrate/20250913130044_add_page_links_counter_cache_to_spree_stores.rb
|
|
1487
1460
|
- db/migrate/20250914101955_add_missing_indexes_on_spree_adjustments.rb
|
|
1488
1461
|
- db/migrate/20250915093930_add_metadata_to_spree_newsletter_subscribers.rb
|
|
1489
1462
|
- db/migrate/20250923141845_create_spree_imports.rb
|
|
1463
|
+
- db/migrate/20251110120000_create_spree_price_lists.rb
|
|
1464
|
+
- db/migrate/20251110120001_create_spree_price_rules.rb
|
|
1465
|
+
- db/migrate/20251110120002_add_price_list_id_to_spree_prices.rb
|
|
1466
|
+
- db/migrate/20251110120003_add_price_list_id_to_spree_line_items.rb
|
|
1467
|
+
- db/migrate/20251201172118_fix_indexes_on_friendly_id_slugs.rb
|
|
1468
|
+
- db/migrate/20251214000001_create_spree_webhook_endpoints.rb
|
|
1469
|
+
- db/migrate/20251214000002_create_spree_webhook_deliveries.rb
|
|
1470
|
+
- db/migrate/20251222000000_add_performance_indexes_to_spree_adjustments.rb
|
|
1471
|
+
- db/migrate/20260112000000_fix_spree_prices_unique_indexes.rb
|
|
1472
|
+
- db/migrate/20260115120000_create_spree_customer_groups.rb
|
|
1473
|
+
- db/migrate/20260115120001_create_spree_customer_group_users.rb
|
|
1474
|
+
- db/migrate/20260117140831_remove_not_null_constraint_from_policy_name.rb
|
|
1475
|
+
- db/migrate/20260118120000_add_statistics_to_store_products.rb
|
|
1476
|
+
- db/migrate/20260119120000_add_counter_caches_to_spree_products.rb
|
|
1477
|
+
- db/migrate/20260119170000_add_counter_caches_to_spree_taxons.rb
|
|
1478
|
+
- db/migrate/20260120120000_add_image_count_to_spree_variants.rb
|
|
1490
1479
|
- db/seeds.rb
|
|
1491
1480
|
- lib/friendly_id/history_decorator.rb
|
|
1492
1481
|
- lib/friendly_id/paranoia.rb
|
|
@@ -1498,7 +1487,6 @@ files:
|
|
|
1498
1487
|
- lib/generators/spree/cursor_rules/templates/spree_rules.mdc
|
|
1499
1488
|
- lib/generators/spree/dummy/dummy_generator.rb
|
|
1500
1489
|
- lib/generators/spree/dummy/templates/app/assets/config/manifest.js
|
|
1501
|
-
- lib/generators/spree/dummy/templates/initializers/devise.rb
|
|
1502
1490
|
- lib/generators/spree/dummy/templates/rails/application.rb
|
|
1503
1491
|
- lib/generators/spree/dummy/templates/rails/boot.rb
|
|
1504
1492
|
- lib/generators/spree/dummy/templates/rails/database.yml
|
|
@@ -1507,8 +1495,6 @@ files:
|
|
|
1507
1495
|
- lib/generators/spree/dummy_model/dummy_model_generator.rb
|
|
1508
1496
|
- lib/generators/spree/dummy_model/templates/migration.rb.tt
|
|
1509
1497
|
- lib/generators/spree/dummy_model/templates/model.rb.tt
|
|
1510
|
-
- lib/generators/spree/install/install_generator.rb
|
|
1511
|
-
- lib/generators/spree/install/templates/config/initializers/spree.rb
|
|
1512
1498
|
- lib/generators/spree/model/model_generator.rb
|
|
1513
1499
|
- lib/generators/spree/model/templates/model.rb.tt
|
|
1514
1500
|
- lib/generators/spree/model_decorator/model_decorator_generator.rb
|
|
@@ -1543,6 +1529,8 @@ files:
|
|
|
1543
1529
|
- lib/spree/core/preferences/runtime_configuration.rb
|
|
1544
1530
|
- lib/spree/core/preferences/scoped_store.rb
|
|
1545
1531
|
- lib/spree/core/preferences/store.rb
|
|
1532
|
+
- lib/spree/core/pricing/context.rb
|
|
1533
|
+
- lib/spree/core/pricing/resolver.rb
|
|
1546
1534
|
- lib/spree/core/product_filters.rb
|
|
1547
1535
|
- lib/spree/core/query_filters.rb
|
|
1548
1536
|
- lib/spree/core/query_filters/comparable.rb
|
|
@@ -1554,8 +1542,11 @@ files:
|
|
|
1554
1542
|
- lib/spree/core/search/base.rb
|
|
1555
1543
|
- lib/spree/core/token_generator.rb
|
|
1556
1544
|
- lib/spree/core/version.rb
|
|
1557
|
-
- lib/spree/core/webhooks.rb
|
|
1558
1545
|
- lib/spree/database_type_utilities.rb
|
|
1546
|
+
- lib/spree/events.rb
|
|
1547
|
+
- lib/spree/events/adapters/active_support_notifications.rb
|
|
1548
|
+
- lib/spree/events/adapters/base.rb
|
|
1549
|
+
- lib/spree/events/registry.rb
|
|
1559
1550
|
- lib/spree/i18n.rb
|
|
1560
1551
|
- lib/spree/localized_number.rb
|
|
1561
1552
|
- lib/spree/migrations.rb
|
|
@@ -1581,6 +1572,8 @@ files:
|
|
|
1581
1572
|
- lib/spree/testing_support/factories/coupon_code_factory.rb
|
|
1582
1573
|
- lib/spree/testing_support/factories/credit_card_factory.rb
|
|
1583
1574
|
- lib/spree/testing_support/factories/custom_domain_factory.rb
|
|
1575
|
+
- lib/spree/testing_support/factories/customer_group_factory.rb
|
|
1576
|
+
- lib/spree/testing_support/factories/customer_group_user_factory.rb
|
|
1584
1577
|
- lib/spree/testing_support/factories/customer_return_factory.rb
|
|
1585
1578
|
- lib/spree/testing_support/factories/digital_factory.rb
|
|
1586
1579
|
- lib/spree/testing_support/factories/digital_link_factory.rb
|
|
@@ -1605,10 +1598,6 @@ files:
|
|
|
1605
1598
|
- lib/spree/testing_support/factories/options_factory.rb
|
|
1606
1599
|
- lib/spree/testing_support/factories/order_factory.rb
|
|
1607
1600
|
- lib/spree/testing_support/factories/order_promotion_factory.rb
|
|
1608
|
-
- lib/spree/testing_support/factories/page_block_factory.rb
|
|
1609
|
-
- lib/spree/testing_support/factories/page_factory.rb
|
|
1610
|
-
- lib/spree/testing_support/factories/page_link_factory.rb
|
|
1611
|
-
- lib/spree/testing_support/factories/page_section_factory.rb
|
|
1612
1601
|
- lib/spree/testing_support/factories/payment_capture_event_factory.rb
|
|
1613
1602
|
- lib/spree/testing_support/factories/payment_factory.rb
|
|
1614
1603
|
- lib/spree/testing_support/factories/payment_method_factory.rb
|
|
@@ -1617,6 +1606,8 @@ files:
|
|
|
1617
1606
|
- lib/spree/testing_support/factories/post_category_factory.rb
|
|
1618
1607
|
- lib/spree/testing_support/factories/post_factory.rb
|
|
1619
1608
|
- lib/spree/testing_support/factories/price_factory.rb
|
|
1609
|
+
- lib/spree/testing_support/factories/price_list_factory.rb
|
|
1610
|
+
- lib/spree/testing_support/factories/price_rule_factory.rb
|
|
1620
1611
|
- lib/spree/testing_support/factories/product_factory.rb
|
|
1621
1612
|
- lib/spree/testing_support/factories/product_option_type_factory.rb
|
|
1622
1613
|
- lib/spree/testing_support/factories/product_property_factory.rb
|
|
@@ -1652,15 +1643,17 @@ files:
|
|
|
1652
1643
|
- lib/spree/testing_support/factories/store_credit_factory.rb
|
|
1653
1644
|
- lib/spree/testing_support/factories/store_credit_type_factory.rb
|
|
1654
1645
|
- lib/spree/testing_support/factories/store_factory.rb
|
|
1646
|
+
- lib/spree/testing_support/factories/store_product_factory.rb
|
|
1655
1647
|
- lib/spree/testing_support/factories/tax_category_factory.rb
|
|
1656
1648
|
- lib/spree/testing_support/factories/tax_rate_factory.rb
|
|
1657
1649
|
- lib/spree/testing_support/factories/taxon_factory.rb
|
|
1658
1650
|
- lib/spree/testing_support/factories/taxon_image_factory.rb
|
|
1659
1651
|
- lib/spree/testing_support/factories/taxon_rule_factory.rb
|
|
1660
1652
|
- lib/spree/testing_support/factories/taxonomy_factory.rb
|
|
1661
|
-
- lib/spree/testing_support/factories/theme_factory.rb
|
|
1662
1653
|
- lib/spree/testing_support/factories/user_factory.rb
|
|
1663
1654
|
- lib/spree/testing_support/factories/variant_factory.rb
|
|
1655
|
+
- lib/spree/testing_support/factories/webhook_delivery_factory.rb
|
|
1656
|
+
- lib/spree/testing_support/factories/webhook_endpoint_factory.rb
|
|
1664
1657
|
- lib/spree/testing_support/factories/wished_variant_factory.rb
|
|
1665
1658
|
- lib/spree/testing_support/factories/wishlist_factory.rb
|
|
1666
1659
|
- lib/spree/testing_support/factories/zone_factory.rb
|
|
@@ -1671,6 +1664,7 @@ files:
|
|
|
1671
1664
|
- lib/spree/testing_support/image_helpers.rb
|
|
1672
1665
|
- lib/spree/testing_support/jobs.rb
|
|
1673
1666
|
- lib/spree/testing_support/kernel.rb
|
|
1667
|
+
- lib/spree/testing_support/lifecycle_events.rb
|
|
1674
1668
|
- lib/spree/testing_support/locale_helpers.rb
|
|
1675
1669
|
- lib/spree/testing_support/metadata.rb
|
|
1676
1670
|
- lib/spree/testing_support/next_instance_of.rb
|
|
@@ -1680,10 +1674,14 @@ files:
|
|
|
1680
1674
|
- lib/spree/testing_support/store.rb
|
|
1681
1675
|
- lib/spree/testing_support/url_helpers.rb
|
|
1682
1676
|
- lib/spree/translation_migrations.rb
|
|
1677
|
+
- lib/spree/webhooks.rb
|
|
1683
1678
|
- lib/spree_core.rb
|
|
1684
1679
|
- lib/tasks/core.rake
|
|
1685
1680
|
- lib/tasks/dependencies.rake
|
|
1686
1681
|
- lib/tasks/exchanges.rake
|
|
1682
|
+
- lib/tasks/products.rake
|
|
1683
|
+
- lib/tasks/taxons.rake
|
|
1684
|
+
- lib/tasks/variants.rake
|
|
1687
1685
|
- spec/fixtures/favicon.ico
|
|
1688
1686
|
- spec/fixtures/files/example.json
|
|
1689
1687
|
- spec/fixtures/files/icon_256x256.gif
|
|
@@ -1704,9 +1702,9 @@ licenses:
|
|
|
1704
1702
|
- BSD-3-Clause
|
|
1705
1703
|
metadata:
|
|
1706
1704
|
bug_tracker_uri: https://github.com/spree/spree/issues
|
|
1707
|
-
changelog_uri: https://github.com/spree/spree/releases/tag/v5.
|
|
1705
|
+
changelog_uri: https://github.com/spree/spree/releases/tag/v5.3.0.rc1
|
|
1708
1706
|
documentation_uri: https://docs.spreecommerce.org/
|
|
1709
|
-
source_code_uri: https://github.com/spree/spree/tree/v5.
|
|
1707
|
+
source_code_uri: https://github.com/spree/spree/tree/v5.3.0.rc1
|
|
1710
1708
|
rdoc_options: []
|
|
1711
1709
|
require_paths:
|
|
1712
1710
|
- lib
|
|
@@ -1714,7 +1712,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
1714
1712
|
requirements:
|
|
1715
1713
|
- - ">="
|
|
1716
1714
|
- !ruby/object:Gem::Version
|
|
1717
|
-
version: '3.
|
|
1715
|
+
version: '3.2'
|
|
1718
1716
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1719
1717
|
requirements:
|
|
1720
1718
|
- - ">="
|