spree_core 6.0.0.beta3 → 6.0.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/README.md +2 -2
- data/app/helpers/spree/images_helper.rb +0 -57
- data/app/jobs/spree/base_job.rb +21 -0
- data/app/jobs/spree/carts/reap_expired_job.rb +2 -2
- data/app/jobs/spree/collections/regenerate_time_based_job.rb +6 -3
- data/app/jobs/spree/orders/finalize_stale_drafts_job.rb +8 -5
- data/app/jobs/spree/payments/cancel_unused_sessions_job.rb +61 -0
- data/app/jobs/spree/seller_payouts/sweep_seller_job.rb +2 -0
- data/app/mailers/spree/admin_user_mailer.rb +4 -19
- data/app/mailers/spree/base_mailer.rb +96 -13
- data/app/mailers/spree/email_template_mailer.rb +27 -0
- data/app/mailers/spree/export_mailer.rb +3 -4
- data/app/mailers/spree/import_mailer.rb +3 -4
- data/app/mailers/spree/invitation_mailer.rb +24 -7
- data/app/mailers/spree/seller_user_mailer.rb +4 -16
- data/app/mailers/spree/webhook_mailer.rb +2 -2
- data/app/models/concerns/spree/acted_by.rb +1 -1
- data/app/models/concerns/spree/admin_user_methods.rb +13 -1
- data/app/models/concerns/spree/api_typed.rb +91 -0
- data/app/models/concerns/spree/calculator/tiers.rb +76 -0
- data/app/models/concerns/spree/customer_methods.rb +15 -14
- data/app/models/concerns/spree/email_template_identity.rb +52 -0
- data/app/models/concerns/spree/parameterizable_name.rb +2 -0
- data/app/models/concerns/spree/payment_session_transitions.rb +8 -2
- data/app/models/concerns/spree/post_sale/taxation.rb +54 -0
- data/app/models/concerns/spree/post_sale/taxed_line.rb +51 -0
- data/app/models/concerns/spree/preference_schema.rb +4 -12
- data/app/models/concerns/spree/product_scopes.rb +11 -1
- data/app/models/concerns/spree/provider_listing.rb +41 -0
- data/app/models/concerns/spree/publishable.rb +82 -14
- data/app/models/concerns/spree/purchase/addresses.rb +23 -10
- data/app/models/concerns/spree/purchase/currency.rb +1 -1
- data/app/models/concerns/spree/purchase/deprecated_aliases.rb +87 -0
- data/app/models/concerns/spree/purchase/gift_cards.rb +10 -4
- data/app/models/concerns/spree/purchase/locale.rb +1 -1
- data/app/models/concerns/spree/purchase/payment_processing.rb +7 -3
- data/app/models/concerns/spree/purchase/purchase_order.rb +2 -2
- data/app/models/concerns/spree/purchase/totals.rb +49 -1
- data/app/models/concerns/spree/receivable.rb +1 -1
- data/app/models/concerns/spree/searchable.rb +0 -4
- data/app/models/concerns/spree/secret_preferences.rb +59 -0
- data/app/models/concerns/spree/single_store_resource.rb +1 -1
- data/app/models/concerns/spree/stores/email_branding.rb +31 -0
- data/app/models/concerns/spree/type_labels.rb +38 -0
- data/app/models/concerns/spree/typed_adjustment_line.rb +1 -1
- data/app/models/concerns/spree/typed_associations.rb +6 -0
- data/app/models/spree/address.rb +11 -1
- data/app/models/spree/adjusters/promotion.rb +1 -15
- data/app/models/spree/allowed_origin.rb +0 -1
- data/app/models/spree/api_key.rb +5 -6
- data/app/models/spree/authentication/strategies/oidc_strategy.rb +5 -5
- data/app/models/spree/base.rb +70 -22
- data/app/models/spree/calculator/flat_percent_item_total.rb +1 -3
- data/app/models/spree/calculator/flat_rate.rb +1 -3
- data/app/models/spree/calculator/flexi_rate.rb +1 -3
- data/app/models/spree/calculator/percent_on_line_item.rb +1 -1
- data/app/models/spree/calculator/price_sack.rb +1 -3
- data/app/models/spree/calculator/shipping/digital_delivery.rb +1 -3
- data/app/models/spree/calculator/shipping/flat_percent_item_total.rb +1 -3
- data/app/models/spree/calculator/shipping/flat_rate.rb +1 -3
- data/app/models/spree/calculator/shipping/flexi_rate.rb +1 -3
- data/app/models/spree/calculator/shipping/per_item.rb +1 -3
- data/app/models/spree/calculator/shipping/price_sack.rb +1 -3
- data/app/models/spree/calculator/tiered_flat_rate.rb +6 -23
- data/app/models/spree/calculator/tiered_percent.rb +7 -25
- data/app/models/spree/cart.rb +78 -18
- data/app/models/spree/channel/gating.rb +1 -1
- data/app/models/spree/channel.rb +4 -4
- data/app/models/spree/claim.rb +21 -1
- data/app/models/spree/claim_line_item.rb +41 -6
- data/app/models/spree/collection.rb +0 -1
- data/app/models/spree/collection_rule.rb +5 -21
- data/app/models/spree/commission_line.rb +1 -1
- data/app/models/spree/commission_rate.rb +2 -3
- data/app/models/spree/commission_rate_value.rb +1 -1
- data/app/models/spree/commission_rule.rb +4 -11
- data/app/models/spree/commission_rules/product_rule.rb +1 -1
- data/app/models/spree/company_invitation.rb +1 -0
- data/app/models/spree/consent_record.rb +0 -1
- data/app/models/spree/credit_card.rb +1 -1
- data/app/models/spree/current.rb +23 -0
- data/app/models/spree/custom_field.rb +2 -2
- data/app/models/spree/custom_field_definition.rb +9 -23
- data/app/models/spree/custom_fields/boolean.rb +1 -1
- data/app/models/spree/custom_fields/json.rb +1 -1
- data/app/models/spree/data_feed/google.rb +0 -2
- data/app/models/spree/data_request.rb +1 -1
- data/app/models/spree/delivery_method.rb +30 -13
- data/app/models/spree/delivery_method_rule.rb +4 -11
- data/app/models/spree/delivery_rate.rb +4 -5
- data/app/models/spree/delivery_rate_provider/base.rb +1 -0
- data/app/models/spree/delivery_zone.rb +0 -1
- data/app/models/spree/delivery_zone_member.rb +4 -4
- data/app/models/spree/digital_asset.rb +7 -0
- data/app/models/spree/digital_asset_provider/base.rb +2 -0
- data/app/models/spree/digital_link.rb +2 -5
- data/app/models/spree/discount.rb +1 -1
- data/app/models/spree/email_template.rb +25 -0
- data/app/models/spree/email_template_draft.rb +13 -0
- data/app/models/spree/email_template_revision.rb +17 -0
- data/app/models/spree/email_templates/entry.rb +118 -0
- data/app/models/spree/email_templates/sample_record.rb +16 -0
- data/app/models/spree/emails/branding.rb +80 -0
- data/app/models/spree/exchange.rb +15 -1
- data/app/models/spree/exchange_line_item.rb +121 -5
- data/app/models/spree/export.rb +0 -1
- data/app/models/spree/exports/products.rb +10 -1
- data/app/models/spree/exports/report.rb +1 -1
- data/app/models/spree/fee.rb +4 -2
- data/app/models/spree/fulfillment.rb +53 -27
- data/app/models/spree/fulfillment_changer.rb +2 -2
- data/app/models/spree/fulfillment_item.rb +0 -4
- data/app/models/spree/fulfillment_provider/base.rb +1 -0
- data/app/models/spree/gateway/bogus.rb +4 -0
- data/app/models/spree/gateway/custom_payment_source_method.rb +5 -0
- data/app/models/spree/gateway.rb +5 -1
- data/app/models/spree/gift_card.rb +12 -1
- data/app/models/spree/gift_card_batch.rb +0 -1
- data/app/models/spree/import.rb +2 -7
- data/app/models/spree/import_mapping.rb +1 -2
- data/app/models/spree/import_row.rb +2 -2
- data/app/models/spree/import_schemas/products.rb +1 -0
- data/app/models/spree/integration.rb +8 -18
- data/app/models/spree/invitation.rb +5 -5
- data/app/models/spree/line_item.rb +13 -2
- data/app/models/spree/locale.rb +11 -8
- data/app/models/spree/market.rb +1 -0
- data/app/models/spree/newsletter_subscriber.rb +3 -0
- data/app/models/spree/order.rb +56 -138
- data/app/models/spree/order_group.rb +11 -2
- data/app/models/spree/order_inventory.rb +10 -5
- data/app/models/spree/order_promotion.rb +1 -1
- data/app/models/spree/order_routing/has_strategy_preference.rb +1 -1
- data/app/models/spree/order_routing/strategy/base.rb +4 -2
- data/app/models/spree/order_routing/strategy/rules.rb +1 -1
- data/app/models/spree/order_routing_rule.rb +6 -22
- data/app/models/spree/package_type.rb +1 -2
- data/app/models/spree/payment/gateway_options.rb +14 -52
- data/app/models/spree/payment/processing.rb +2 -4
- data/app/models/spree/payment.rb +20 -5
- data/app/models/spree/payment_method/session_instrumentation.rb +1 -0
- data/app/models/spree/payment_method/store_credit.rb +4 -4
- data/app/models/spree/payment_method.rb +36 -4
- data/app/models/spree/payment_session.rb +5 -1
- data/app/models/spree/payment_setup_session.rb +1 -0
- data/app/models/spree/payout_provider/base.rb +3 -1
- data/app/models/spree/pickup_point_provider/base.rb +2 -0
- data/app/models/spree/price_list.rb +1 -2
- data/app/models/spree/price_rules/channel_rule.rb +1 -1
- data/app/models/spree/price_rules/customer_group_rule.rb +1 -1
- data/app/models/spree/product.rb +31 -7
- data/app/models/spree/product_submission.rb +0 -12
- data/app/models/spree/product_type.rb +0 -1
- data/app/models/spree/promotion/actions/create_line_items.rb +27 -17
- data/app/models/spree/promotion/rules/category.rb +0 -4
- data/app/models/spree/promotion/rules/channel.rb +0 -4
- data/app/models/spree/promotion/rules/country.rb +0 -4
- data/app/models/spree/promotion/rules/currency.rb +0 -4
- data/app/models/spree/promotion/rules/customer_group.rb +0 -4
- data/app/models/spree/promotion/rules/first_order.rb +0 -4
- data/app/models/spree/promotion/rules/item_total.rb +4 -8
- data/app/models/spree/promotion/rules/market.rb +0 -4
- data/app/models/spree/promotion/rules/one_use_per_user.rb +0 -4
- data/app/models/spree/promotion/rules/option_value.rb +0 -3
- data/app/models/spree/promotion/rules/product.rb +0 -4
- data/app/models/spree/promotion/rules/user.rb +0 -4
- data/app/models/spree/promotion/rules/user_logged_in.rb +0 -4
- data/app/models/spree/promotion.rb +35 -6
- data/app/models/spree/promotion_action.rb +7 -14
- data/app/models/spree/promotion_action_line_item.rb +1 -1
- data/app/models/spree/promotion_handler/coupon.rb +59 -27
- data/app/models/spree/promotion_rule.rb +7 -14
- data/app/models/spree/purchase_order.rb +1 -0
- data/app/models/spree/quantity_rule.rb +1 -1
- data/app/models/spree/refund.rb +28 -3
- data/app/models/spree/return.rb +30 -2
- data/app/models/spree/return_line_item.rb +65 -14
- data/app/models/spree/role.rb +7 -7
- data/app/models/spree/saved_report.rb +1 -1
- data/app/models/spree/seller.rb +2 -1
- data/app/models/spree/seller_payout.rb +7 -0
- data/app/models/spree/seller_requirement.rb +4 -12
- data/app/models/spree/seller_requirement_custom_field.rb +1 -2
- data/app/models/spree/seller_requirement_submission.rb +2 -2
- data/app/models/spree/seller_requirements/accept_terms.rb +2 -3
- data/app/models/spree/seller_transfer.rb +5 -0
- data/app/models/spree/shipping_label.rb +1 -0
- data/app/models/spree/stock/availability_validator.rb +2 -2
- data/app/models/spree/stock/inventory_unit_builder.rb +1 -1
- data/app/models/spree/stock/packer.rb +2 -2
- data/app/models/spree/stock/splitter/weight.rb +1 -1
- data/app/models/spree/stock_level/custom_events.rb +6 -0
- data/app/models/spree/stock_level.rb +1 -1
- data/app/models/spree/stock_movement.rb +1 -1
- data/app/models/spree/stock_receipt_item.rb +1 -1
- data/app/models/spree/stock_reservation.rb +2 -2
- data/app/models/spree/stock_transfer.rb +4 -2
- data/app/models/spree/store.rb +33 -7
- data/app/models/spree/store_credit.rb +8 -9
- data/app/models/spree/store_credit_event.rb +5 -5
- data/app/models/spree/tax_exemption_certificate.rb +2 -0
- data/app/models/spree/tax_identifier.rb +3 -1
- data/app/models/spree/tax_line.rb +53 -3
- data/app/models/spree/tax_provider/base.rb +71 -14
- data/app/models/spree/tax_provider/internal.rb +59 -33
- data/app/models/spree/tax_provider/recorded_share.rb +114 -0
- data/app/models/spree/tax_rate.rb +1 -2
- data/app/models/spree/taxonomy.rb +0 -1
- data/app/models/spree/variant.rb +4 -3
- data/app/models/spree/variant_media.rb +1 -1
- data/app/models/spree/webhook_endpoint.rb +10 -13
- data/app/models/spree/wishlist.rb +1 -6
- data/app/models/spree/wishlist_item/custom_events.rb +6 -0
- data/app/presenters/spree/csv/customer_presenter.rb +1 -1
- data/app/presenters/spree/csv/newsletter_subscriber_presenter.rb +1 -1
- data/app/presenters/spree/csv/order_line_item_presenter.rb +1 -1
- data/app/presenters/spree/csv/product_variant_presenter.rb +42 -12
- data/app/serializers/spree/emails/base_serializer.rb +14 -0
- data/app/serializers/spree/emails/export_serializer.rb +13 -0
- data/app/serializers/spree/emails/import_serializer.rb +19 -0
- data/app/serializers/spree/emails/invitation_serializer.rb +28 -0
- data/app/serializers/spree/emails/store_serializer.rb +31 -0
- data/app/serializers/spree/emails/user_serializer.rb +12 -0
- data/app/serializers/spree/emails/webhook_endpoint_serializer.rb +16 -0
- data/app/services/spree/carts/create.rb +8 -2
- data/app/services/spree/carts/destroy.rb +2 -2
- data/app/services/spree/carts/remove_out_of_stock_items.rb +2 -2
- data/app/services/spree/carts/split_by_seller.rb +1 -1
- data/app/services/spree/carts/update.rb +19 -5
- data/app/services/spree/catalogs/set_product_terms.rb +1 -1
- data/app/services/spree/categories/add_products.rb +13 -31
- data/app/services/spree/categories/remove_products.rb +12 -51
- data/app/services/spree/checkout/advance.rb +1 -4
- data/app/services/spree/collections/add_products.rb +10 -23
- data/app/services/spree/collections/remove_products.rb +7 -43
- data/app/services/spree/coupon_codes/bulk_generate.rb +8 -14
- data/app/services/spree/data_requests/create.rb +1 -1
- data/app/services/spree/deliveries/destroy.rb +2 -2
- data/app/services/spree/email_templates/check.rb +58 -0
- data/app/services/spree/email_templates/no_sample_record.rb +7 -0
- data/app/services/spree/email_templates/preview.rb +99 -0
- data/app/services/spree/emails/file_system.rb +23 -0
- data/app/services/spree/emails/filters.rb +84 -0
- data/app/services/spree/emails/liquid_context.rb +48 -0
- data/app/services/spree/emails/rendered_email.rb +14 -0
- data/app/services/spree/emails/renderer.rb +125 -0
- data/app/services/spree/emails/template.rb +51 -0
- data/app/services/spree/emails/template_data.rb +23 -0
- data/app/services/spree/emails/template_resolver.rb +109 -0
- data/app/services/spree/emails/text_converter.rb +72 -0
- data/app/services/spree/emails/translation_inliner.rb +134 -0
- data/app/services/spree/imports/row_processors/price_list_price.rb +10 -10
- data/app/services/spree/imports/row_processors/product_variant.rb +65 -34
- data/app/services/spree/imports/row_processors/purchase_order.rb +13 -13
- data/app/services/spree/locales.rb +4 -5
- data/app/services/spree/newsletter/subscribe.rb +8 -12
- data/app/services/spree/orders/build_fulfillments.rb +3 -2
- data/app/services/spree/orders/create.rb +2 -1
- data/app/services/spree/orders/discounts/create.rb +7 -4
- data/app/services/spree/orders/discounts/destroy.rb +1 -0
- data/app/services/spree/orders/discounts/update.rb +1 -0
- data/app/services/spree/orders/fees/create.rb +1 -0
- data/app/services/spree/orders/fees/destroy.rb +1 -0
- data/app/services/spree/orders/fees/update.rb +1 -0
- data/app/services/spree/orders/remove_line_item.rb +13 -3
- data/app/services/spree/orders/update.rb +10 -6
- data/app/services/spree/orders/update_item.rb +6 -3
- data/app/services/spree/orders/update_statuses.rb +3 -1
- data/app/services/spree/product_memberships.rb +61 -0
- data/app/services/spree/returns/eligibility_validator.rb +1 -1
- data/app/services/spree/search_provider/custom_field_schema.rb +2 -2
- data/app/services/spree/seeds/commission_rates.rb +1 -1
- data/app/services/spree/seeds/digital_delivery.rb +1 -1
- data/app/services/spree/seeds/payment_methods.rb +2 -2
- data/app/services/spree/seeds/saved_reports.rb +3 -3
- data/app/services/spree/sellers/requirements.rb +1 -2
- data/app/services/spree/shipping_labels/confirm_refund.rb +1 -1
- data/app/services/spree/shipping_labels/store_file.rb +3 -3
- data/app/services/spree/stock_levels/correct.rb +3 -3
- data/app/services/spree/stock_reservations/reserve.rb +2 -3
- data/app/services/spree/store_credits/apply.rb +15 -13
- data/app/services/spree/stores/provision_defaults.rb +15 -14
- data/app/subscribers/spree/seller_onboarding_subscriber.rb +1 -1
- data/app/views/layouts/spree/base_mailer.html.erb +2 -43
- data/app/views/layouts/spree/base_mailer.liquid +79 -0
- data/app/views/spree/admin_user_mailer/password_reset_email.liquid +14 -0
- data/app/views/spree/export_mailer/export_done.liquid +12 -0
- data/app/views/spree/import_mailer/import_done.liquid +15 -0
- data/app/views/spree/invitation_mailer/invitation_accepted.liquid +9 -0
- data/app/views/spree/invitation_mailer/invitation_email.liquid +13 -0
- data/app/views/spree/seller_user_mailer/password_reset_email.liquid +14 -0
- data/app/views/spree/shared/_mailer_button.html.erb +4 -5
- data/app/views/spree/shared/_mailer_hero.html.erb +6 -5
- data/app/views/spree/shared/_summary_row.liquid +8 -0
- data/app/views/spree/webhook_mailer/endpoint_disabled.liquid +21 -0
- data/app/workflows/spree/carts/add_item.rb +4 -4
- data/app/workflows/spree/carts/complete.rb +13 -3
- data/app/workflows/spree/carts/merge.rb +1 -1
- data/app/workflows/spree/carts/recalculate_totals.rb +5 -0
- data/app/workflows/spree/carts/upsert_items.rb +18 -9
- data/app/workflows/spree/claims/approve.rb +5 -22
- data/app/workflows/spree/claims/cancel.rb +5 -21
- data/app/workflows/spree/claims/create.rb +15 -0
- data/app/workflows/spree/claims/deny.rb +7 -0
- data/app/workflows/spree/claims/resolve.rb +34 -31
- data/app/workflows/spree/customers/anonymize.rb +3 -4
- data/app/workflows/spree/customers/create.rb +1 -1
- data/app/workflows/spree/data_requests/fulfill.rb +2 -2
- data/app/workflows/spree/deliveries/update_tracking.rb +1 -1
- data/app/workflows/spree/email_templates/discard_draft.rb +20 -0
- data/app/workflows/spree/email_templates/publish.rb +70 -0
- data/app/workflows/spree/email_templates/restore_revision.rb +33 -0
- data/app/workflows/spree/email_templates/revert.rb +29 -0
- data/app/workflows/spree/email_templates/save_draft.rb +85 -0
- data/app/workflows/spree/exchanges/approve.rb +5 -22
- data/app/workflows/spree/exchanges/cancel.rb +5 -21
- data/app/workflows/spree/exchanges/create.rb +6 -0
- data/app/workflows/spree/exchanges/fulfill.rb +75 -51
- data/app/workflows/spree/exchanges/receive.rb +6 -65
- data/app/workflows/spree/fulfillments/cancel.rb +1 -1
- data/app/workflows/spree/fulfillments/create.rb +51 -47
- data/app/workflows/spree/fulfillments/fulfill.rb +23 -27
- data/app/workflows/spree/fulfillments/mark_delivered.rb +1 -1
- data/app/workflows/spree/fulfillments/replacements.rb +59 -0
- data/app/workflows/spree/gift_cards/apply.rb +2 -2
- data/app/workflows/spree/orders/add_item.rb +5 -1
- data/app/workflows/spree/orders/cancel.rb +3 -3
- data/app/workflows/spree/orders/complete.rb +16 -8
- data/app/workflows/spree/payments/process.rb +2 -2
- data/app/workflows/spree/post_sale/approval.rb +35 -0
- data/app/workflows/spree/post_sale/cancellation.rb +44 -0
- data/app/workflows/spree/post_sale/receipt.rb +92 -0
- data/app/workflows/spree/products/nested_attributes.rb +1 -1
- data/app/workflows/spree/purchase_orders/cancel.rb +1 -1
- data/app/workflows/spree/purchase_orders/close.rb +3 -31
- data/app/workflows/spree/purchase_orders/mark_draft.rb +2 -2
- data/app/workflows/spree/purchase_orders/mark_ordered.rb +2 -2
- data/app/workflows/spree/purchase_orders/receive.rb +1 -1
- data/app/workflows/spree/purchase_orders/update.rb +5 -34
- data/app/workflows/spree/receivables/closing_short.rb +46 -0
- data/app/workflows/spree/receivables/draft_editing.rb +48 -0
- data/app/workflows/spree/refunds/create.rb +5 -2
- data/app/workflows/spree/refunds/order_payments.rb +14 -2
- data/app/workflows/spree/refunds/tax_credit.rb +67 -0
- data/app/workflows/spree/returns/approve.rb +5 -22
- data/app/workflows/spree/returns/cancel.rb +5 -22
- data/app/workflows/spree/returns/create.rb +8 -0
- data/app/workflows/spree/returns/receive.rb +5 -76
- data/app/workflows/spree/returns/refund.rb +31 -8
- data/app/workflows/spree/seller_requirement_submissions/create.rb +1 -2
- data/app/workflows/spree/seller_transfers/reverse.rb +28 -1
- data/app/workflows/spree/shipping_labels/purchase.rb +8 -8
- data/app/workflows/spree/shipping_labels/record.rb +5 -5
- data/app/workflows/spree/shipping_labels/refund.rb +2 -2
- data/app/workflows/spree/stock_receipts/recording.rb +4 -4
- data/app/workflows/spree/stock_transfers/cancel.rb +2 -2
- data/app/workflows/spree/stock_transfers/close.rb +3 -30
- data/app/workflows/spree/stock_transfers/mark_draft.rb +1 -1
- data/app/workflows/spree/stock_transfers/mark_in_transit.rb +3 -3
- data/app/workflows/spree/stock_transfers/mark_ready.rb +2 -2
- data/app/workflows/spree/stock_transfers/receive.rb +1 -1
- data/app/workflows/spree/stock_transfers/update.rb +5 -33
- data/config/i18n-tasks.yml +32 -18
- data/config/initializers/alba.rb +7 -0
- data/config/language_names.csv +264 -0
- data/config/locales/ar.yml +811 -0
- data/config/locales/be.yml +855 -0
- data/config/locales/bg.yml +723 -0
- data/config/locales/ca.yml +689 -0
- data/config/locales/cs.yml +855 -0
- data/config/locales/da.yml +771 -0
- data/config/locales/de-CH.yml +248 -0
- data/config/locales/de.yml +835 -0
- data/config/locales/el.yml +769 -0
- data/config/locales/en.yml +37 -503
- data/config/locales/es-CL.yml +301 -0
- data/config/locales/es-EC.yml +186 -0
- data/config/locales/es-MX.yml +334 -0
- data/config/locales/es.yml +831 -0
- data/config/locales/et.yml +644 -0
- data/config/locales/fa.yml +709 -0
- data/config/locales/fi.yml +771 -0
- data/config/locales/fr.yml +830 -0
- data/config/locales/hu.yml +751 -0
- data/config/locales/id.yml +756 -0
- data/config/locales/it.yml +833 -0
- data/config/locales/ja.yml +726 -0
- data/config/locales/km.yml +759 -0
- data/config/locales/ko.yml +575 -0
- data/config/locales/ku.yml +753 -0
- data/config/locales/lt.yml +821 -0
- data/config/locales/lv.yml +685 -0
- data/config/locales/nb.yml +824 -0
- data/config/locales/ne.yml +823 -0
- data/config/locales/nl.yml +826 -0
- data/config/locales/pl.yml +835 -0
- data/config/locales/pt-BR.yml +547 -0
- data/config/locales/pt.yml +636 -0
- data/config/locales/ro.yml +750 -0
- data/config/locales/ru.yml +834 -0
- data/config/locales/sk.yml +680 -0
- data/config/locales/sl-SI.yml +600 -0
- data/config/locales/sv.yml +827 -0
- data/config/locales/th.yml +745 -0
- data/config/locales/tr.yml +777 -0
- data/config/locales/uk.yml +836 -0
- data/config/locales/vi.yml +768 -0
- data/config/locales/zh-CN.yml +786 -0
- data/config/locales/zh-TW.yml +834 -0
- data/db/migrate/20260925000001_add_replacement_to_spree_fulfillment_items.rb +5 -0
- data/db/migrate/20261001000001_add_post_sale_tax.rb +30 -0
- data/db/migrate/20261001000001_convert_preferences_to_json.rb +166 -0
- data/db/migrate/20261001000001_create_spree_email_templates.rb +52 -0
- data/lib/generators/spree/dummy/dummy_generator.rb +0 -9
- data/lib/generators/spree/dummy/templates/rails/test.rb +7 -0
- data/lib/spree/checkout/default_requirements.rb +37 -13
- data/lib/spree/core/configuration.rb +1 -1
- data/lib/spree/core/controller_helpers/store.rb +1 -1
- data/lib/spree/core/dependencies.rb +5 -4
- data/lib/spree/core/emails/escaped_output.rb +60 -0
- data/lib/spree/core/engine.rb +48 -167
- data/lib/spree/core/permissions/default_catalog.rb +5 -0
- data/lib/spree/core/preferences/json_conversion.rb +182 -0
- data/lib/spree/core/preferences/masking.rb +4 -1
- data/lib/spree/core/preferences/preferable.rb +137 -83
- data/lib/spree/core/preferences/preferable_class_methods.rb +81 -146
- data/lib/spree/core/previews/import_preview.rb +10 -0
- data/lib/spree/core/tax/provider_error.rb +37 -0
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/core.rb +85 -370
- data/lib/spree/emails/editable_templates.rb +82 -0
- data/lib/spree/events/catalog.rb +189 -0
- data/lib/spree/events.rb +21 -1
- data/lib/spree/hooks.rb +0 -17
- data/lib/spree/i18n.rb +32 -15
- data/lib/spree/reporting/adapters/live.rb +6 -6
- data/lib/spree/reporting/default_vocabulary.rb +22 -10
- data/lib/spree/reporting/hydration.rb +1 -1
- data/lib/spree/reporting/query.rb +8 -0
- data/lib/spree/reporting/schema.rb +10 -10
- data/lib/spree/testing_support/editable_email_templates.rb +61 -0
- data/lib/spree/testing_support/emails.rb +22 -0
- data/lib/spree/testing_support/factories/cart_factory.rb +1 -1
- data/lib/spree/testing_support/factories/email_template_factory.rb +28 -0
- data/lib/spree/testing_support/factories/order_factory.rb +2 -2
- data/lib/spree/testing_support/factories/refund_factory.rb +1 -1
- data/lib/spree/testing_support/factories/stock_factory.rb +1 -1
- data/lib/spree/testing_support/factories/variant_factory.rb +1 -1
- data/lib/spree/testing_support/i18n.rb +3 -94
- data/lib/spree/testing_support/lifecycle_events.rb +1 -1
- data/lib/spree/testing_support/order_walkthrough.rb +1 -1
- data/lib/spree/testing_support/preferences.rb +0 -5
- data/lib/spree/testing_support/store.rb +9 -1
- data/lib/spree/upgrades/5_6_to_6_0/manifest.yml +45 -0
- data/lib/tasks/categories_and_collections.rake +3 -3
- data/lib/tasks/core.rake +6 -4
- data/lib/tasks/media.rake +3 -3
- data/lib/tasks/package_types.rake +1 -1
- data/lib/tasks/preferences_json.rake +101 -0
- data/spec/fixtures/mailer_views/custom_views_probe_mailer/welcome_email.html.erb +4 -0
- metadata +188 -44
- data/app/models/acts_as_taggable_on/tag_decorator.rb +0 -10
- data/app/models/concerns/spree/has_image_alt_text.rb +0 -18
- data/app/models/spree/base_analytics_event_handler.rb +0 -54
- data/app/models/spree/invitations/store.rb +0 -6
- data/app/models/spree/preference.rb +0 -14
- data/app/models/spree/promotion_handler/page.rb +0 -25
- data/app/models/spree/promotion_handler/promotion_duplicator.rb +0 -60
- data/app/models/spree/stock/differentiator.rb +0 -45
- data/app/presenters/spree/filters/options_presenter.rb +0 -47
- data/app/services/spree/carts/empty.rb +0 -42
- data/app/services/spree/country_to_timezone.rb +0 -273
- data/app/services/spree/payments/create.rb +0 -92
- data/app/validators/spree/url_validator.rb +0 -23
- data/app/views/active_storage/blobs/_blob.html.erb +0 -14
- data/app/views/spree/admin_user_mailer/password_reset_email.html.erb +0 -8
- data/app/views/spree/export_mailer/export_done.html.erb +0 -7
- data/app/views/spree/import_mailer/import_done.html.erb +0 -12
- data/app/views/spree/invitation_mailer/invitation_accepted.html.erb +0 -4
- data/app/views/spree/invitation_mailer/invitation_email.html.erb +0 -12
- data/app/views/spree/seller_user_mailer/password_reset_email.html.erb +0 -8
- data/app/views/spree/shared/_base_mailer_footer.html.erb +0 -19
- data/app/views/spree/shared/_base_mailer_header.html.erb +0 -8
- data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +0 -399
- data/app/views/spree/shared/_mailer_logo.html.erb +0 -41
- data/app/views/spree/shared/_purchased_items_styles.html.erb +0 -119
- data/app/views/spree/webhook_mailer/endpoint_disabled.html.erb +0 -51
- data/app/views/spree/webhook_mailer/endpoint_disabled.text.erb +0 -10
- data/app/workflows/spree/fulfillments/purchase_label.rb +0 -40
- data/app/workflows/spree/returns/purchase_label.rb +0 -32
- data/lib/spree/analytics.rb +0 -11
- data/lib/spree/core/preferences/scoped_store.rb +0 -34
- data/lib/spree/core/preferences/store.rb +0 -105
- data/lib/spree/translation_migrations.rb +0 -52
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: 6.0.0.
|
|
4
|
+
version: 6.0.0.rc1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sean Schofield
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2026-
|
|
13
|
+
date: 2026-10-08 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: i18n-tasks
|
|
@@ -60,6 +60,20 @@ dependencies:
|
|
|
60
60
|
- - ">="
|
|
61
61
|
- !ruby/object:Gem::Version
|
|
62
62
|
version: '0.8'
|
|
63
|
+
- !ruby/object:Gem::Dependency
|
|
64
|
+
name: alba
|
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
|
66
|
+
requirements:
|
|
67
|
+
- - "~>"
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '3.0'
|
|
70
|
+
type: :runtime
|
|
71
|
+
prerelease: false
|
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
+
requirements:
|
|
74
|
+
- - "~>"
|
|
75
|
+
- !ruby/object:Gem::Version
|
|
76
|
+
version: '3.0'
|
|
63
77
|
- !ruby/object:Gem::Dependency
|
|
64
78
|
name: acts-as-taggable-on
|
|
65
79
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -218,6 +232,20 @@ dependencies:
|
|
|
218
232
|
- - "~>"
|
|
219
233
|
- !ruby/object:Gem::Version
|
|
220
234
|
version: '3.1'
|
|
235
|
+
- !ruby/object:Gem::Dependency
|
|
236
|
+
name: liquid
|
|
237
|
+
requirement: !ruby/object:Gem::Requirement
|
|
238
|
+
requirements:
|
|
239
|
+
- - "~>"
|
|
240
|
+
- !ruby/object:Gem::Version
|
|
241
|
+
version: '5.14'
|
|
242
|
+
type: :runtime
|
|
243
|
+
prerelease: false
|
|
244
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
245
|
+
requirements:
|
|
246
|
+
- - "~>"
|
|
247
|
+
- !ruby/object:Gem::Version
|
|
248
|
+
version: '5.14'
|
|
221
249
|
- !ruby/object:Gem::Dependency
|
|
222
250
|
name: money
|
|
223
251
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -232,6 +260,20 @@ dependencies:
|
|
|
232
260
|
- - "~>"
|
|
233
261
|
- !ruby/object:Gem::Version
|
|
234
262
|
version: '6.13'
|
|
263
|
+
- !ruby/object:Gem::Dependency
|
|
264
|
+
name: mrml
|
|
265
|
+
requirement: !ruby/object:Gem::Requirement
|
|
266
|
+
requirements:
|
|
267
|
+
- - "~>"
|
|
268
|
+
- !ruby/object:Gem::Version
|
|
269
|
+
version: '1.10'
|
|
270
|
+
type: :runtime
|
|
271
|
+
prerelease: false
|
|
272
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
273
|
+
requirements:
|
|
274
|
+
- - "~>"
|
|
275
|
+
- !ruby/object:Gem::Version
|
|
276
|
+
version: '1.10'
|
|
235
277
|
- !ruby/object:Gem::Dependency
|
|
236
278
|
name: monetize
|
|
237
279
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -275,19 +317,19 @@ dependencies:
|
|
|
275
317
|
- !ruby/object:Gem::Version
|
|
276
318
|
version: '1.18'
|
|
277
319
|
- !ruby/object:Gem::Dependency
|
|
278
|
-
name:
|
|
320
|
+
name: oj
|
|
279
321
|
requirement: !ruby/object:Gem::Requirement
|
|
280
322
|
requirements:
|
|
281
|
-
- - "
|
|
323
|
+
- - "~>"
|
|
282
324
|
- !ruby/object:Gem::Version
|
|
283
|
-
version: '
|
|
325
|
+
version: '3.16'
|
|
284
326
|
type: :runtime
|
|
285
327
|
prerelease: false
|
|
286
328
|
version_requirements: !ruby/object:Gem::Requirement
|
|
287
329
|
requirements:
|
|
288
|
-
- - "
|
|
330
|
+
- - "~>"
|
|
289
331
|
- !ruby/object:Gem::Version
|
|
290
|
-
version: '
|
|
332
|
+
version: '3.16'
|
|
291
333
|
- !ruby/object:Gem::Dependency
|
|
292
334
|
name: paranoia
|
|
293
335
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -330,6 +372,20 @@ dependencies:
|
|
|
330
372
|
- - "~>"
|
|
331
373
|
- !ruby/object:Gem::Version
|
|
332
374
|
version: '1.6'
|
|
375
|
+
- !ruby/object:Gem::Dependency
|
|
376
|
+
name: rails-i18n
|
|
377
|
+
requirement: !ruby/object:Gem::Requirement
|
|
378
|
+
requirements:
|
|
379
|
+
- - "~>"
|
|
380
|
+
- !ruby/object:Gem::Version
|
|
381
|
+
version: '8.0'
|
|
382
|
+
type: :runtime
|
|
383
|
+
prerelease: false
|
|
384
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
385
|
+
requirements:
|
|
386
|
+
- - "~>"
|
|
387
|
+
- !ruby/object:Gem::Version
|
|
388
|
+
version: '8.0'
|
|
333
389
|
- !ruby/object:Gem::Dependency
|
|
334
390
|
name: ransack
|
|
335
391
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -620,14 +676,14 @@ dependencies:
|
|
|
620
676
|
requirements:
|
|
621
677
|
- - ">="
|
|
622
678
|
- !ruby/object:Gem::Version
|
|
623
|
-
version:
|
|
679
|
+
version: 43.6.3
|
|
624
680
|
type: :runtime
|
|
625
681
|
prerelease: false
|
|
626
682
|
version_requirements: !ruby/object:Gem::Requirement
|
|
627
683
|
requirements:
|
|
628
684
|
- - ">="
|
|
629
685
|
- !ruby/object:Gem::Version
|
|
630
|
-
version:
|
|
686
|
+
version: 43.6.3
|
|
631
687
|
description: Spree Models, Services, Workflows and background jobs
|
|
632
688
|
email: hello@spreecommerce.org
|
|
633
689
|
executables: []
|
|
@@ -662,6 +718,7 @@ files:
|
|
|
662
718
|
- app/jobs/spree/imports/process_job.rb
|
|
663
719
|
- app/jobs/spree/imports/process_rows_job.rb
|
|
664
720
|
- app/jobs/spree/orders/finalize_stale_drafts_job.rb
|
|
721
|
+
- app/jobs/spree/payments/cancel_unused_sessions_job.rb
|
|
665
722
|
- app/jobs/spree/payments/handle_webhook_job.rb
|
|
666
723
|
- app/jobs/spree/price_lists/sync_currencies_job.rb
|
|
667
724
|
- app/jobs/spree/product_types/apply_to_products_job.rb
|
|
@@ -687,28 +744,30 @@ files:
|
|
|
687
744
|
- app/jobs/spree/variants/touch_job.rb
|
|
688
745
|
- app/mailers/spree/admin_user_mailer.rb
|
|
689
746
|
- app/mailers/spree/base_mailer.rb
|
|
747
|
+
- app/mailers/spree/email_template_mailer.rb
|
|
690
748
|
- app/mailers/spree/export_mailer.rb
|
|
691
749
|
- app/mailers/spree/import_mailer.rb
|
|
692
750
|
- app/mailers/spree/invitation_mailer.rb
|
|
693
751
|
- app/mailers/spree/seller_user_mailer.rb
|
|
694
752
|
- app/mailers/spree/webhook_mailer.rb
|
|
695
|
-
- app/models/acts_as_taggable_on/tag_decorator.rb
|
|
696
753
|
- app/models/concerns/spree/account_lockout.rb
|
|
697
754
|
- app/models/concerns/spree/acted_by.rb
|
|
698
755
|
- app/models/concerns/spree/actor.rb
|
|
699
756
|
- app/models/concerns/spree/admin_user_methods.rb
|
|
757
|
+
- app/models/concerns/spree/api_typed.rb
|
|
700
758
|
- app/models/concerns/spree/calculated_adjustments.rb
|
|
701
759
|
- app/models/concerns/spree/calculator/currency_amounts.rb
|
|
760
|
+
- app/models/concerns/spree/calculator/tiers.rb
|
|
702
761
|
- app/models/concerns/spree/capture_method.rb
|
|
703
762
|
- app/models/concerns/spree/custom_field_filterable.rb
|
|
704
763
|
- app/models/concerns/spree/customer_methods.rb
|
|
705
764
|
- app/models/concerns/spree/deprecated_customer_alias.rb
|
|
706
765
|
- app/models/concerns/spree/derived_number.rb
|
|
707
766
|
- app/models/concerns/spree/display_money.rb
|
|
767
|
+
- app/models/concerns/spree/email_template_identity.rb
|
|
708
768
|
- app/models/concerns/spree/has_address_book.rb
|
|
709
769
|
- app/models/concerns/spree/has_custom_fields.rb
|
|
710
770
|
- app/models/concerns/spree/has_external_references.rb
|
|
711
|
-
- app/models/concerns/spree/has_image_alt_text.rb
|
|
712
771
|
- app/models/concerns/spree/has_iso_geography.rb
|
|
713
772
|
- app/models/concerns/spree/has_library_media.rb
|
|
714
773
|
- app/models/concerns/spree/has_list_position.rb
|
|
@@ -730,17 +789,21 @@ files:
|
|
|
730
789
|
- app/models/concerns/spree/payment_session_transitions.rb
|
|
731
790
|
- app/models/concerns/spree/payment_source_concern.rb
|
|
732
791
|
- app/models/concerns/spree/personal_data_matching.rb
|
|
792
|
+
- app/models/concerns/spree/post_sale/taxation.rb
|
|
793
|
+
- app/models/concerns/spree/post_sale/taxed_line.rb
|
|
733
794
|
- app/models/concerns/spree/preference_schema.rb
|
|
734
795
|
- app/models/concerns/spree/prefixed_id.rb
|
|
735
796
|
- app/models/concerns/spree/presentation_translatable.rb
|
|
736
797
|
- app/models/concerns/spree/product_scopes.rb
|
|
737
798
|
- app/models/concerns/spree/provider_failure_policy.rb
|
|
799
|
+
- app/models/concerns/spree/provider_listing.rb
|
|
738
800
|
- app/models/concerns/spree/publishable.rb
|
|
739
801
|
- app/models/concerns/spree/purchase/addresses.rb
|
|
740
802
|
- app/models/concerns/spree/purchase/channel.rb
|
|
741
803
|
- app/models/concerns/spree/purchase/checkout_steps.rb
|
|
742
804
|
- app/models/concerns/spree/purchase/company.rb
|
|
743
805
|
- app/models/concerns/spree/purchase/currency.rb
|
|
806
|
+
- app/models/concerns/spree/purchase/deprecated_aliases.rb
|
|
744
807
|
- app/models/concerns/spree/purchase/digital_items.rb
|
|
745
808
|
- app/models/concerns/spree/purchase/freight.rb
|
|
746
809
|
- app/models/concerns/spree/purchase/gift_cards.rb
|
|
@@ -763,15 +826,18 @@ files:
|
|
|
763
826
|
- app/models/concerns/spree/sanitizable_rich_text.rb
|
|
764
827
|
- app/models/concerns/spree/search_indexable.rb
|
|
765
828
|
- app/models/concerns/spree/searchable.rb
|
|
829
|
+
- app/models/concerns/spree/secret_preferences.rb
|
|
766
830
|
- app/models/concerns/spree/single_store_resource.rb
|
|
767
831
|
- app/models/concerns/spree/store_data_sources.rb
|
|
768
832
|
- app/models/concerns/spree/store_preferences.rb
|
|
769
833
|
- app/models/concerns/spree/stores/channels.rb
|
|
834
|
+
- app/models/concerns/spree/stores/email_branding.rb
|
|
770
835
|
- app/models/concerns/spree/stores/markets.rb
|
|
771
836
|
- app/models/concerns/spree/stores/setup.rb
|
|
772
837
|
- app/models/concerns/spree/translatable_resource.rb
|
|
773
838
|
- app/models/concerns/spree/translatable_resource_scopes.rb
|
|
774
839
|
- app/models/concerns/spree/translatable_resource_slug.rb
|
|
840
|
+
- app/models/concerns/spree/type_labels.rb
|
|
775
841
|
- app/models/concerns/spree/typed_adjustment_line.rb
|
|
776
842
|
- app/models/concerns/spree/typed_associations.rb
|
|
777
843
|
- app/models/concerns/spree/user_address.rb
|
|
@@ -798,7 +864,6 @@ files:
|
|
|
798
864
|
- app/models/spree/authentication/strategies/oidc_strategy.rb
|
|
799
865
|
- app/models/spree/authentication/strategy_registry.rb
|
|
800
866
|
- app/models/spree/base.rb
|
|
801
|
-
- app/models/spree/base_analytics_event_handler.rb
|
|
802
867
|
- app/models/spree/calculator.rb
|
|
803
868
|
- app/models/spree/calculator/flat_percent_item_total.rb
|
|
804
869
|
- app/models/spree/calculator/flat_rate.rb
|
|
@@ -904,6 +969,12 @@ files:
|
|
|
904
969
|
- app/models/spree/digital_delivery.rb
|
|
905
970
|
- app/models/spree/digital_link.rb
|
|
906
971
|
- app/models/spree/discount.rb
|
|
972
|
+
- app/models/spree/email_template.rb
|
|
973
|
+
- app/models/spree/email_template_draft.rb
|
|
974
|
+
- app/models/spree/email_template_revision.rb
|
|
975
|
+
- app/models/spree/email_templates/entry.rb
|
|
976
|
+
- app/models/spree/email_templates/sample_record.rb
|
|
977
|
+
- app/models/spree/emails/branding.rb
|
|
907
978
|
- app/models/spree/event.rb
|
|
908
979
|
- app/models/spree/exchange.rb
|
|
909
980
|
- app/models/spree/exchange_line_item.rb
|
|
@@ -959,7 +1030,6 @@ files:
|
|
|
959
1030
|
- app/models/spree/inventory_provider/internal.rb
|
|
960
1031
|
- app/models/spree/inventory_unit.rb
|
|
961
1032
|
- app/models/spree/invitation.rb
|
|
962
|
-
- app/models/spree/invitations/store.rb
|
|
963
1033
|
- app/models/spree/label_purchase.rb
|
|
964
1034
|
- app/models/spree/line_item.rb
|
|
965
1035
|
- app/models/spree/locale.rb
|
|
@@ -1018,7 +1088,6 @@ files:
|
|
|
1018
1088
|
- app/models/spree/pickup_point_option.rb
|
|
1019
1089
|
- app/models/spree/pickup_point_provider/base.rb
|
|
1020
1090
|
- app/models/spree/policy.rb
|
|
1021
|
-
- app/models/spree/preference.rb
|
|
1022
1091
|
- app/models/spree/price.rb
|
|
1023
1092
|
- app/models/spree/price_adjustment_tier.rb
|
|
1024
1093
|
- app/models/spree/price_history.rb
|
|
@@ -1070,8 +1139,6 @@ files:
|
|
|
1070
1139
|
- app/models/spree/promotion_handler/cart.rb
|
|
1071
1140
|
- app/models/spree/promotion_handler/coupon.rb
|
|
1072
1141
|
- app/models/spree/promotion_handler/free_shipping.rb
|
|
1073
|
-
- app/models/spree/promotion_handler/page.rb
|
|
1074
|
-
- app/models/spree/promotion_handler/promotion_duplicator.rb
|
|
1075
1142
|
- app/models/spree/promotion_rule.rb
|
|
1076
1143
|
- app/models/spree/promotion_rule_category.rb
|
|
1077
1144
|
- app/models/spree/promotion_rule_taxon.rb
|
|
@@ -1130,7 +1197,6 @@ files:
|
|
|
1130
1197
|
- app/models/spree/stock/availability_validator.rb
|
|
1131
1198
|
- app/models/spree/stock/content_item.rb
|
|
1132
1199
|
- app/models/spree/stock/coordinator.rb
|
|
1133
|
-
- app/models/spree/stock/differentiator.rb
|
|
1134
1200
|
- app/models/spree/stock/estimator.rb
|
|
1135
1201
|
- app/models/spree/stock/inventory_unit_builder.rb
|
|
1136
1202
|
- app/models/spree/stock/package.rb
|
|
@@ -1176,6 +1242,7 @@ files:
|
|
|
1176
1242
|
- app/models/spree/tax_line.rb
|
|
1177
1243
|
- app/models/spree/tax_provider/base.rb
|
|
1178
1244
|
- app/models/spree/tax_provider/internal.rb
|
|
1245
|
+
- app/models/spree/tax_provider/recorded_share.rb
|
|
1179
1246
|
- app/models/spree/tax_rate.rb
|
|
1180
1247
|
- app/models/spree/taxon.rb
|
|
1181
1248
|
- app/models/spree/taxon_rule.rb
|
|
@@ -1208,7 +1275,13 @@ files:
|
|
|
1208
1275
|
- app/presenters/spree/csv/purchase_order_item_presenter.rb
|
|
1209
1276
|
- app/presenters/spree/data_feeds/base_presenter.rb
|
|
1210
1277
|
- app/presenters/spree/data_feeds/google_presenter.rb
|
|
1211
|
-
- app/
|
|
1278
|
+
- app/serializers/spree/emails/base_serializer.rb
|
|
1279
|
+
- app/serializers/spree/emails/export_serializer.rb
|
|
1280
|
+
- app/serializers/spree/emails/import_serializer.rb
|
|
1281
|
+
- app/serializers/spree/emails/invitation_serializer.rb
|
|
1282
|
+
- app/serializers/spree/emails/store_serializer.rb
|
|
1283
|
+
- app/serializers/spree/emails/user_serializer.rb
|
|
1284
|
+
- app/serializers/spree/emails/webhook_endpoint_serializer.rb
|
|
1212
1285
|
- app/services/spree/addresses/create.rb
|
|
1213
1286
|
- app/services/spree/addresses/helper.rb
|
|
1214
1287
|
- app/services/spree/addresses/update.rb
|
|
@@ -1216,7 +1289,6 @@ files:
|
|
|
1216
1289
|
- app/services/spree/carts/check_availability.rb
|
|
1217
1290
|
- app/services/spree/carts/create.rb
|
|
1218
1291
|
- app/services/spree/carts/destroy.rb
|
|
1219
|
-
- app/services/spree/carts/empty.rb
|
|
1220
1292
|
- app/services/spree/carts/partition_by_seller.rb
|
|
1221
1293
|
- app/services/spree/carts/price_items.rb
|
|
1222
1294
|
- app/services/spree/carts/remove_item.rb
|
|
@@ -1245,7 +1317,6 @@ files:
|
|
|
1245
1317
|
- app/services/spree/companies/add_member.rb
|
|
1246
1318
|
- app/services/spree/company_invitations/accept.rb
|
|
1247
1319
|
- app/services/spree/compare_line_items.rb
|
|
1248
|
-
- app/services/spree/country_to_timezone.rb
|
|
1249
1320
|
- app/services/spree/coupon_codes/bulk_generate.rb
|
|
1250
1321
|
- app/services/spree/coupon_codes/coupon_codes_handler.rb
|
|
1251
1322
|
- app/services/spree/customers/data_export.rb
|
|
@@ -1253,6 +1324,19 @@ files:
|
|
|
1253
1324
|
- app/services/spree/deliveries/create.rb
|
|
1254
1325
|
- app/services/spree/deliveries/destroy.rb
|
|
1255
1326
|
- app/services/spree/deliveries/upsert_primary.rb
|
|
1327
|
+
- app/services/spree/email_templates/check.rb
|
|
1328
|
+
- app/services/spree/email_templates/no_sample_record.rb
|
|
1329
|
+
- app/services/spree/email_templates/preview.rb
|
|
1330
|
+
- app/services/spree/emails/file_system.rb
|
|
1331
|
+
- app/services/spree/emails/filters.rb
|
|
1332
|
+
- app/services/spree/emails/liquid_context.rb
|
|
1333
|
+
- app/services/spree/emails/rendered_email.rb
|
|
1334
|
+
- app/services/spree/emails/renderer.rb
|
|
1335
|
+
- app/services/spree/emails/template.rb
|
|
1336
|
+
- app/services/spree/emails/template_data.rb
|
|
1337
|
+
- app/services/spree/emails/template_resolver.rb
|
|
1338
|
+
- app/services/spree/emails/text_converter.rb
|
|
1339
|
+
- app/services/spree/emails/translation_inliner.rb
|
|
1256
1340
|
- app/services/spree/fulfillments/recalculate_delivery.rb
|
|
1257
1341
|
- app/services/spree/fulfillments/stand_down_provider.rb
|
|
1258
1342
|
- app/services/spree/generate_token.rb
|
|
@@ -1286,8 +1370,8 @@ files:
|
|
|
1286
1370
|
- app/services/spree/orders/update.rb
|
|
1287
1371
|
- app/services/spree/orders/update_item.rb
|
|
1288
1372
|
- app/services/spree/orders/update_statuses.rb
|
|
1289
|
-
- app/services/spree/payments/create.rb
|
|
1290
1373
|
- app/services/spree/prices/bulk_upsert.rb
|
|
1374
|
+
- app/services/spree/product_memberships.rb
|
|
1291
1375
|
- app/services/spree/product_submissions/close.rb
|
|
1292
1376
|
- app/services/spree/product_types/apply_to_products.rb
|
|
1293
1377
|
- app/services/spree/products/auto_match_collections.rb
|
|
@@ -1365,24 +1449,18 @@ files:
|
|
|
1365
1449
|
- app/validators/spree/addresses/phone_validator.rb
|
|
1366
1450
|
- app/validators/spree/attachment_content_type_validator.rb
|
|
1367
1451
|
- app/validators/spree/password_length_validator.rb
|
|
1368
|
-
- app/validators/spree/url_validator.rb
|
|
1369
|
-
- app/views/active_storage/blobs/_blob.html.erb
|
|
1370
1452
|
- app/views/layouts/spree/base_mailer.html.erb
|
|
1371
|
-
- app/views/spree/
|
|
1372
|
-
- app/views/spree/
|
|
1373
|
-
- app/views/spree/
|
|
1374
|
-
- app/views/spree/
|
|
1375
|
-
- app/views/spree/invitation_mailer/
|
|
1376
|
-
- app/views/spree/
|
|
1377
|
-
- app/views/spree/
|
|
1378
|
-
- app/views/spree/shared/_base_mailer_header.html.erb
|
|
1379
|
-
- app/views/spree/shared/_base_mailer_stylesheets.html.erb
|
|
1453
|
+
- app/views/layouts/spree/base_mailer.liquid
|
|
1454
|
+
- app/views/spree/admin_user_mailer/password_reset_email.liquid
|
|
1455
|
+
- app/views/spree/export_mailer/export_done.liquid
|
|
1456
|
+
- app/views/spree/import_mailer/import_done.liquid
|
|
1457
|
+
- app/views/spree/invitation_mailer/invitation_accepted.liquid
|
|
1458
|
+
- app/views/spree/invitation_mailer/invitation_email.liquid
|
|
1459
|
+
- app/views/spree/seller_user_mailer/password_reset_email.liquid
|
|
1380
1460
|
- app/views/spree/shared/_mailer_button.html.erb
|
|
1381
1461
|
- app/views/spree/shared/_mailer_hero.html.erb
|
|
1382
|
-
- app/views/spree/shared/
|
|
1383
|
-
- app/views/spree/
|
|
1384
|
-
- app/views/spree/webhook_mailer/endpoint_disabled.html.erb
|
|
1385
|
-
- app/views/spree/webhook_mailer/endpoint_disabled.text.erb
|
|
1462
|
+
- app/views/spree/shared/_summary_row.liquid
|
|
1463
|
+
- app/views/spree/webhook_mailer/endpoint_disabled.liquid
|
|
1386
1464
|
- app/workflows/spree/carts/add_item.rb
|
|
1387
1465
|
- app/workflows/spree/carts/complete.rb
|
|
1388
1466
|
- app/workflows/spree/carts/merge.rb
|
|
@@ -1403,6 +1481,11 @@ files:
|
|
|
1403
1481
|
- app/workflows/spree/customers/create.rb
|
|
1404
1482
|
- app/workflows/spree/data_requests/fulfill.rb
|
|
1405
1483
|
- app/workflows/spree/deliveries/update_tracking.rb
|
|
1484
|
+
- app/workflows/spree/email_templates/discard_draft.rb
|
|
1485
|
+
- app/workflows/spree/email_templates/publish.rb
|
|
1486
|
+
- app/workflows/spree/email_templates/restore_revision.rb
|
|
1487
|
+
- app/workflows/spree/email_templates/revert.rb
|
|
1488
|
+
- app/workflows/spree/email_templates/save_draft.rb
|
|
1406
1489
|
- app/workflows/spree/exchanges/approve.rb
|
|
1407
1490
|
- app/workflows/spree/exchanges/cancel.rb
|
|
1408
1491
|
- app/workflows/spree/exchanges/create.rb
|
|
@@ -1412,7 +1495,7 @@ files:
|
|
|
1412
1495
|
- app/workflows/spree/fulfillments/create.rb
|
|
1413
1496
|
- app/workflows/spree/fulfillments/fulfill.rb
|
|
1414
1497
|
- app/workflows/spree/fulfillments/mark_delivered.rb
|
|
1415
|
-
- app/workflows/spree/fulfillments/
|
|
1498
|
+
- app/workflows/spree/fulfillments/replacements.rb
|
|
1416
1499
|
- app/workflows/spree/fulfillments/update.rb
|
|
1417
1500
|
- app/workflows/spree/gift_cards/apply.rb
|
|
1418
1501
|
- app/workflows/spree/gift_cards/cancel.rb
|
|
@@ -1435,6 +1518,9 @@ files:
|
|
|
1435
1518
|
- app/workflows/spree/payments/handle_webhook.rb
|
|
1436
1519
|
- app/workflows/spree/payments/process.rb
|
|
1437
1520
|
- app/workflows/spree/payments/void.rb
|
|
1521
|
+
- app/workflows/spree/post_sale/approval.rb
|
|
1522
|
+
- app/workflows/spree/post_sale/cancellation.rb
|
|
1523
|
+
- app/workflows/spree/post_sale/receipt.rb
|
|
1438
1524
|
- app/workflows/spree/price_lists/activate.rb
|
|
1439
1525
|
- app/workflows/spree/price_lists/create.rb
|
|
1440
1526
|
- app/workflows/spree/price_lists/deactivate.rb
|
|
@@ -1456,13 +1542,15 @@ files:
|
|
|
1456
1542
|
- app/workflows/spree/purchase_orders/mark_ordered.rb
|
|
1457
1543
|
- app/workflows/spree/purchase_orders/receive.rb
|
|
1458
1544
|
- app/workflows/spree/purchase_orders/update.rb
|
|
1545
|
+
- app/workflows/spree/receivables/closing_short.rb
|
|
1546
|
+
- app/workflows/spree/receivables/draft_editing.rb
|
|
1459
1547
|
- app/workflows/spree/receivables/incoming_counter.rb
|
|
1460
1548
|
- app/workflows/spree/refunds/create.rb
|
|
1461
1549
|
- app/workflows/spree/refunds/order_payments.rb
|
|
1550
|
+
- app/workflows/spree/refunds/tax_credit.rb
|
|
1462
1551
|
- app/workflows/spree/returns/approve.rb
|
|
1463
1552
|
- app/workflows/spree/returns/cancel.rb
|
|
1464
1553
|
- app/workflows/spree/returns/create.rb
|
|
1465
|
-
- app/workflows/spree/returns/purchase_label.rb
|
|
1466
1554
|
- app/workflows/spree/returns/receive.rb
|
|
1467
1555
|
- app/workflows/spree/returns/refund.rb
|
|
1468
1556
|
- app/workflows/spree/returns/returnable_quantity.rb
|
|
@@ -1503,11 +1591,56 @@ files:
|
|
|
1503
1591
|
- config/i18n-tasks.yml
|
|
1504
1592
|
- config/initializers/active_storage.rb
|
|
1505
1593
|
- config/initializers/acts_as_taggable_on.rb
|
|
1594
|
+
- config/initializers/alba.rb
|
|
1506
1595
|
- config/initializers/friendly_id.rb
|
|
1507
1596
|
- config/initializers/inflections.rb
|
|
1508
1597
|
- config/initializers/mobility.rb
|
|
1509
1598
|
- config/initializers/spree_store_setup_tasks.rb
|
|
1599
|
+
- config/language_names.csv
|
|
1600
|
+
- config/locales/ar.yml
|
|
1601
|
+
- config/locales/be.yml
|
|
1602
|
+
- config/locales/bg.yml
|
|
1603
|
+
- config/locales/ca.yml
|
|
1604
|
+
- config/locales/cs.yml
|
|
1605
|
+
- config/locales/da.yml
|
|
1606
|
+
- config/locales/de-CH.yml
|
|
1607
|
+
- config/locales/de.yml
|
|
1608
|
+
- config/locales/el.yml
|
|
1510
1609
|
- config/locales/en.yml
|
|
1610
|
+
- config/locales/es-CL.yml
|
|
1611
|
+
- config/locales/es-EC.yml
|
|
1612
|
+
- config/locales/es-MX.yml
|
|
1613
|
+
- config/locales/es.yml
|
|
1614
|
+
- config/locales/et.yml
|
|
1615
|
+
- config/locales/fa.yml
|
|
1616
|
+
- config/locales/fi.yml
|
|
1617
|
+
- config/locales/fr.yml
|
|
1618
|
+
- config/locales/hu.yml
|
|
1619
|
+
- config/locales/id.yml
|
|
1620
|
+
- config/locales/it.yml
|
|
1621
|
+
- config/locales/ja.yml
|
|
1622
|
+
- config/locales/km.yml
|
|
1623
|
+
- config/locales/ko.yml
|
|
1624
|
+
- config/locales/ku.yml
|
|
1625
|
+
- config/locales/lt.yml
|
|
1626
|
+
- config/locales/lv.yml
|
|
1627
|
+
- config/locales/nb.yml
|
|
1628
|
+
- config/locales/ne.yml
|
|
1629
|
+
- config/locales/nl.yml
|
|
1630
|
+
- config/locales/pl.yml
|
|
1631
|
+
- config/locales/pt-BR.yml
|
|
1632
|
+
- config/locales/pt.yml
|
|
1633
|
+
- config/locales/ro.yml
|
|
1634
|
+
- config/locales/ru.yml
|
|
1635
|
+
- config/locales/sk.yml
|
|
1636
|
+
- config/locales/sl-SI.yml
|
|
1637
|
+
- config/locales/sv.yml
|
|
1638
|
+
- config/locales/th.yml
|
|
1639
|
+
- config/locales/tr.yml
|
|
1640
|
+
- config/locales/uk.yml
|
|
1641
|
+
- config/locales/vi.yml
|
|
1642
|
+
- config/locales/zh-CN.yml
|
|
1643
|
+
- config/locales/zh-TW.yml
|
|
1511
1644
|
- config/routes.rb
|
|
1512
1645
|
- db/migrate/20210914000000_spree_four_three.rb
|
|
1513
1646
|
- db/migrate/20210915064321_add_metadata_to_spree_orders.rb
|
|
@@ -1794,6 +1927,10 @@ files:
|
|
|
1794
1927
|
- db/migrate/20260916000001_order_operation_actors_polymorphic.rb
|
|
1795
1928
|
- db/migrate/20260922000001_add_refunded_order_to_spree_store_credits.rb
|
|
1796
1929
|
- db/migrate/20260923000001_change_spree_user_identities_tokens_to_text.rb
|
|
1930
|
+
- db/migrate/20260925000001_add_replacement_to_spree_fulfillment_items.rb
|
|
1931
|
+
- db/migrate/20261001000001_add_post_sale_tax.rb
|
|
1932
|
+
- db/migrate/20261001000001_convert_preferences_to_json.rb
|
|
1933
|
+
- db/migrate/20261001000001_create_spree_email_templates.rb
|
|
1797
1934
|
- db/sample_data/channels.rb
|
|
1798
1935
|
- db/sample_data/collections.rb
|
|
1799
1936
|
- db/sample_data/custom_field_definitions.rb
|
|
@@ -1846,7 +1983,6 @@ files:
|
|
|
1846
1983
|
- lib/generators/spree/subscriber/templates/subscriber.rb.tt
|
|
1847
1984
|
- lib/generators/spree/subscriber/templates/subscriber_spec.rb.tt
|
|
1848
1985
|
- lib/mobility/plugins/store_based_fallbacks.rb
|
|
1849
|
-
- lib/spree/analytics.rb
|
|
1850
1986
|
- lib/spree/category_permalink_deduplicator.rb
|
|
1851
1987
|
- lib/spree/checkout/default_requirements.rb
|
|
1852
1988
|
- lib/spree/checkout/registry.rb
|
|
@@ -1858,6 +1994,7 @@ files:
|
|
|
1858
1994
|
- lib/spree/core/controller_helpers/store.rb
|
|
1859
1995
|
- lib/spree/core/dependencies.rb
|
|
1860
1996
|
- lib/spree/core/dependencies_helper.rb
|
|
1997
|
+
- lib/spree/core/emails/escaped_output.rb
|
|
1861
1998
|
- lib/spree/core/engine.rb
|
|
1862
1999
|
- lib/spree/core/number_generator.rb
|
|
1863
2000
|
- lib/spree/core/permission_configuration.rb
|
|
@@ -1865,14 +2002,14 @@ files:
|
|
|
1865
2002
|
- lib/spree/core/permissions/entry.rb
|
|
1866
2003
|
- lib/spree/core/permissions/scope.rb
|
|
1867
2004
|
- lib/spree/core/preferences/configuration.rb
|
|
2005
|
+
- lib/spree/core/preferences/json_conversion.rb
|
|
1868
2006
|
- lib/spree/core/preferences/masking.rb
|
|
1869
2007
|
- lib/spree/core/preferences/preferable.rb
|
|
1870
2008
|
- lib/spree/core/preferences/preferable_class_methods.rb
|
|
1871
2009
|
- lib/spree/core/preferences/runtime_configuration.rb
|
|
1872
|
-
- lib/spree/core/preferences/scoped_store.rb
|
|
1873
|
-
- lib/spree/core/preferences/store.rb
|
|
1874
2010
|
- lib/spree/core/previews/admin_user_preview.rb
|
|
1875
2011
|
- lib/spree/core/previews/export_preview.rb
|
|
2012
|
+
- lib/spree/core/previews/import_preview.rb
|
|
1876
2013
|
- lib/spree/core/previews/invitation_preview.rb
|
|
1877
2014
|
- lib/spree/core/previews/preview_data.rb
|
|
1878
2015
|
- lib/spree/core/previews/seller_user_preview.rb
|
|
@@ -1882,10 +2019,13 @@ files:
|
|
|
1882
2019
|
- lib/spree/core/pricing/resolver.rb
|
|
1883
2020
|
- lib/spree/core/ransack_configuration.rb
|
|
1884
2021
|
- lib/spree/core/routes.rb
|
|
2022
|
+
- lib/spree/core/tax/provider_error.rb
|
|
1885
2023
|
- lib/spree/core/version.rb
|
|
2024
|
+
- lib/spree/emails/editable_templates.rb
|
|
1886
2025
|
- lib/spree/events.rb
|
|
1887
2026
|
- lib/spree/events/adapters/active_support_notifications.rb
|
|
1888
2027
|
- lib/spree/events/adapters/base.rb
|
|
2028
|
+
- lib/spree/events/catalog.rb
|
|
1889
2029
|
- lib/spree/events/registry.rb
|
|
1890
2030
|
- lib/spree/hooks.rb
|
|
1891
2031
|
- lib/spree/i18n.rb
|
|
@@ -1912,6 +2052,8 @@ files:
|
|
|
1912
2052
|
- lib/spree/testing_support/action_text.rb
|
|
1913
2053
|
- lib/spree/testing_support/common_rake.rb
|
|
1914
2054
|
- lib/spree/testing_support/country_pool.rb
|
|
2055
|
+
- lib/spree/testing_support/editable_email_templates.rb
|
|
2056
|
+
- lib/spree/testing_support/emails.rb
|
|
1915
2057
|
- lib/spree/testing_support/extension_rake.rb
|
|
1916
2058
|
- lib/spree/testing_support/factories.rb
|
|
1917
2059
|
- lib/spree/testing_support/factories/address_factory.rb
|
|
@@ -1947,6 +2089,7 @@ files:
|
|
|
1947
2089
|
- lib/spree/testing_support/factories/digital_asset_factory.rb
|
|
1948
2090
|
- lib/spree/testing_support/factories/digital_link_factory.rb
|
|
1949
2091
|
- lib/spree/testing_support/factories/discount_factory.rb
|
|
2092
|
+
- lib/spree/testing_support/factories/email_template_factory.rb
|
|
1950
2093
|
- lib/spree/testing_support/factories/exchange_factory.rb
|
|
1951
2094
|
- lib/spree/testing_support/factories/export_factory.rb
|
|
1952
2095
|
- lib/spree/testing_support/factories/external_reference_factory.rb
|
|
@@ -2057,7 +2200,6 @@ files:
|
|
|
2057
2200
|
- lib/spree/testing_support/store.rb
|
|
2058
2201
|
- lib/spree/testing_support/tax_identifier_validators.rb
|
|
2059
2202
|
- lib/spree/testing_support/url_helpers.rb
|
|
2060
|
-
- lib/spree/translation_migrations.rb
|
|
2061
2203
|
- lib/spree/translations.rb
|
|
2062
2204
|
- lib/spree/upgrades/5_4_to_5_5/manifest.yml
|
|
2063
2205
|
- lib/spree/upgrades/5_5_to_5_6/manifest.yml
|
|
@@ -2097,6 +2239,7 @@ files:
|
|
|
2097
2239
|
- lib/tasks/order_coupon_code_backfill.rake
|
|
2098
2240
|
- lib/tasks/order_market_backfill.rake
|
|
2099
2241
|
- lib/tasks/package_types.rake
|
|
2242
|
+
- lib/tasks/preferences_json.rake
|
|
2100
2243
|
- lib/tasks/price_history.rake
|
|
2101
2244
|
- lib/tasks/product_tag_tenants.rake
|
|
2102
2245
|
- lib/tasks/products.rake
|
|
@@ -2128,6 +2271,7 @@ files:
|
|
|
2128
2271
|
- spec/fixtures/files/price_list_prices_import.csv
|
|
2129
2272
|
- spec/fixtures/files/product_translations_import.csv
|
|
2130
2273
|
- spec/fixtures/files/products_import.csv
|
|
2274
|
+
- spec/fixtures/mailer_views/custom_views_probe_mailer/welcome_email.html.erb
|
|
2131
2275
|
- spec/fixtures/text-file.txt
|
|
2132
2276
|
- spec/fixtures/thinking-cat.jpg
|
|
2133
2277
|
- spec/fixtures/tiny-video.mp4
|
|
@@ -2136,9 +2280,9 @@ licenses:
|
|
|
2136
2280
|
- BSD-3-Clause
|
|
2137
2281
|
metadata:
|
|
2138
2282
|
bug_tracker_uri: https://github.com/spree/spree/issues
|
|
2139
|
-
changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0.
|
|
2283
|
+
changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0.rc1
|
|
2140
2284
|
documentation_uri: https://docs.spreecommerce.org/
|
|
2141
|
-
source_code_uri: https://github.com/spree/spree/tree/v6.0.0.
|
|
2285
|
+
source_code_uri: https://github.com/spree/spree/tree/v6.0.0.rc1
|
|
2142
2286
|
post_install_message:
|
|
2143
2287
|
rdoc_options: []
|
|
2144
2288
|
require_paths:
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
module Spree
|
|
2
|
-
module HasImageAltText
|
|
3
|
-
extend ActiveSupport::Concern
|
|
4
|
-
|
|
5
|
-
# @return [String] Alt text resolved from preference, asset filename, or i18n fallback.
|
|
6
|
-
def image_alt
|
|
7
|
-
return preferred_image_alt if respond_to?(:preferred_image_alt) && preferred_image_alt.present?
|
|
8
|
-
|
|
9
|
-
if respond_to?(:asset) && asset&.filename.present?
|
|
10
|
-
filename = asset.filename.to_s
|
|
11
|
-
base = File.basename(filename, File.extname(filename))
|
|
12
|
-
return base.tr('-_.', ' ').squeeze(' ').strip
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
Spree.t(:image, default: 'Image')
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
module Spree
|
|
2
|
-
class BaseAnalyticsEventHandler
|
|
3
|
-
# Initializes the event handler
|
|
4
|
-
# @param client [Object] The client object
|
|
5
|
-
# @param opts [Hash] The options
|
|
6
|
-
# @option opts [User] :user
|
|
7
|
-
# @option opts [String] :session_id
|
|
8
|
-
# @option opts [Spree::Store] :store
|
|
9
|
-
def initialize(opts = {})
|
|
10
|
-
@user = opts[:user]
|
|
11
|
-
@session = opts[:session]
|
|
12
|
-
@request = opts[:request]
|
|
13
|
-
@store = opts[:store]
|
|
14
|
-
@visitor_id = opts[:visitor_id]
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
attr_reader :user, :session, :request, :store, :visitor_id
|
|
18
|
-
|
|
19
|
-
# Returns the client
|
|
20
|
-
# @return [Object] The client object
|
|
21
|
-
def client
|
|
22
|
-
raise NotImplementedError, 'Subclasses must implement the client method'
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# Handles the event
|
|
26
|
-
# @param event_name [String] eg. 'order_completed'
|
|
27
|
-
# @param properties [Hash] eg. { product: Spree::Product, taxon: Spree::Category, query: String }
|
|
28
|
-
# rubocop:disable Lint/UnusedMethodArgument
|
|
29
|
-
def handle_event(event_name, properties = {})
|
|
30
|
-
raise NotImplementedError, 'Subclasses must implement the handle method'
|
|
31
|
-
end
|
|
32
|
-
# rubocop:enable Lint/UnusedMethodArgument
|
|
33
|
-
|
|
34
|
-
# Returns the human name for the event
|
|
35
|
-
# @param event_name [String] eg. 'order_completed'
|
|
36
|
-
# @return [String] eg. 'Order Completed'
|
|
37
|
-
def event_human_name(event_name)
|
|
38
|
-
Analytics.events[event_name.to_sym]
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
protected
|
|
42
|
-
|
|
43
|
-
# Returns the identity hash for the event
|
|
44
|
-
# @return [Hash] eg. { user_id: 1, session_id: '123' }
|
|
45
|
-
def identity_hash
|
|
46
|
-
{
|
|
47
|
-
user_id: user&.id,
|
|
48
|
-
# session.id is a custom class (not a string), which has overridden the `to_json` method, we have to convert it to a string first so it does not send garbage to the analytics service
|
|
49
|
-
session_id: session&.id&.to_s,
|
|
50
|
-
visitor_id: visitor_id
|
|
51
|
-
}
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
end
|