spree_core 5.6.1 → 6.0.0.beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +30 -0
- data/README.md +2 -3
- data/app/finders/spree/line_items/find_by_variant.rb +5 -3
- data/app/finders/spree/sellers/panel_url.rb +47 -0
- data/app/finders/spree/stores/dashboard_url.rb +76 -0
- data/app/helpers/spree/images_helper.rb +1 -1
- data/app/jobs/spree/carts/reap_expired_job.rb +43 -0
- data/app/jobs/spree/collections/regenerate_time_based_job.rb +18 -0
- data/app/jobs/spree/data_requests/process_job.rb +42 -0
- data/app/jobs/spree/events/subscriber_job.rb +1 -1
- data/app/jobs/spree/images/migrate_product_media_job.rb +80 -0
- data/app/jobs/spree/images/save_from_url_job.rb +70 -13
- data/app/jobs/spree/imports/create_categories_job.rb +23 -14
- data/app/jobs/spree/imports/create_rows_job.rb +3 -62
- data/app/jobs/spree/imports/process_group_job.rb +1 -1
- data/app/jobs/spree/imports/process_job.rb +164 -0
- data/app/jobs/spree/imports/process_rows_job.rb +4 -71
- data/app/jobs/spree/orders/finalize_stale_drafts_job.rb +29 -0
- data/app/jobs/spree/payments/handle_webhook_job.rb +1 -1
- data/app/jobs/spree/price_lists/sync_currencies_job.rb +42 -0
- data/app/jobs/spree/product_types/apply_to_products_job.rb +74 -0
- data/app/jobs/spree/products/auto_match_collections_job.rb +14 -0
- data/app/jobs/spree/products/auto_match_taxons_job.rb +6 -7
- data/app/jobs/spree/products/refresh_metrics_job.rb +1 -1
- data/app/jobs/spree/products/touch_categories_job.rb +15 -0
- data/app/jobs/spree/products/touch_taxons_job.rb +7 -6
- data/app/jobs/spree/sample_data/load_job.rb +13 -0
- data/app/jobs/spree/seller_payouts/sweep_due_job.rb +57 -0
- data/app/jobs/spree/seller_payouts/sweep_seller_job.rb +70 -0
- data/app/jobs/spree/seller_transfers/execute_pending_due_job.rb +56 -0
- data/app/jobs/spree/seller_transfers/execute_pending_job.rb +52 -0
- data/app/jobs/spree/shipping_labels/store_file_job.rb +17 -0
- data/app/jobs/spree/stock_locations/stock_items/create_job.rb +7 -5
- data/app/jobs/spree/stock_locations/stock_levels/create_job.rb +13 -0
- data/app/jobs/spree/stock_reservations/expire_job.rb +1 -1
- data/app/jobs/spree/tax_identifiers/validate_job.rb +14 -0
- data/app/jobs/spree/variants/remove_line_item_job.rb +29 -1
- data/app/mailers/spree/admin_user_mailer.rb +6 -35
- data/app/mailers/spree/base_mailer.rb +1 -20
- data/app/mailers/spree/invitation_mailer.rb +1 -1
- data/app/mailers/spree/seller_user_mailer.rb +47 -0
- data/app/models/concerns/spree/account_lockout.rb +38 -0
- data/app/models/concerns/spree/acted_by.rb +210 -0
- data/app/models/concerns/spree/actor.rb +51 -0
- data/app/models/concerns/spree/admin_user_methods.rb +53 -42
- data/app/models/concerns/spree/calculated_adjustments.rb +8 -14
- data/app/models/concerns/spree/calculator/currency_amounts.rb +43 -0
- data/app/models/concerns/spree/capture_method.rb +33 -0
- data/app/models/concerns/spree/custom_field_filterable.rb +163 -0
- data/app/models/concerns/spree/customer_methods.rb +421 -0
- data/app/models/concerns/spree/deprecated_customer_alias.rb +22 -0
- data/app/models/concerns/spree/derived_number.rb +66 -0
- data/app/models/concerns/spree/has_address_book.rb +89 -0
- data/app/models/concerns/spree/has_custom_fields.rb +360 -0
- data/app/models/concerns/spree/has_external_references.rb +95 -0
- data/app/models/concerns/spree/has_iso_geography.rb +71 -0
- data/app/models/concerns/spree/has_library_media.rb +94 -0
- data/app/models/concerns/spree/has_list_position.rb +15 -0
- data/app/models/concerns/spree/has_number.rb +139 -0
- data/app/models/concerns/spree/has_status.rb +76 -0
- data/app/models/concerns/spree/has_tracking_carrier.rb +18 -0
- data/app/models/concerns/spree/instruments_gateway_calls.rb +20 -0
- data/app/models/concerns/spree/integration_backed_provider.rb +89 -0
- data/app/models/concerns/spree/integrations_concern.rb +15 -2
- data/app/models/concerns/spree/label_translatable.rb +37 -0
- data/app/models/concerns/spree/marketplace/order_group.rb +35 -0
- data/app/models/concerns/spree/metadata.rb +18 -22
- data/app/models/concerns/spree/named_type.rb +11 -1
- data/app/models/concerns/spree/parameterizable_name.rb +5 -5
- data/app/models/concerns/spree/password_policy.rb +37 -0
- data/app/models/concerns/spree/payment_session_transitions.rb +93 -0
- data/app/models/concerns/spree/payment_source_concern.rb +1 -1
- data/app/models/concerns/spree/personal_data_matching.rb +120 -0
- data/app/models/concerns/spree/preference_schema.rb +120 -19
- data/app/models/concerns/spree/prefixed_id.rb +25 -3
- data/app/models/concerns/spree/presentation_translatable.rb +4 -37
- data/app/models/concerns/spree/product_scopes.rb +51 -191
- data/app/models/concerns/spree/provider_failure_policy.rb +44 -0
- data/app/models/concerns/spree/publishable.rb +7 -7
- data/app/models/concerns/spree/purchase/addresses.rb +258 -0
- data/app/models/concerns/spree/purchase/channel.rb +19 -0
- data/app/models/concerns/spree/purchase/checkout_steps.rb +68 -0
- data/app/models/concerns/spree/purchase/company.rb +96 -0
- data/app/models/concerns/spree/purchase/currency.rb +29 -0
- data/app/models/concerns/spree/purchase/digital_items.rb +60 -0
- data/app/models/concerns/spree/purchase/freight.rb +52 -0
- data/app/models/concerns/spree/purchase/gift_cards.rb +70 -0
- data/app/models/concerns/spree/purchase/lifecycle.rb +53 -0
- data/app/models/concerns/spree/purchase/line_item_currencies.rb +38 -0
- data/app/models/concerns/spree/purchase/line_item_lookup.rb +25 -0
- data/app/models/concerns/spree/purchase/locale.rb +30 -0
- data/app/models/concerns/spree/purchase/market.rb +29 -0
- data/app/models/concerns/spree/purchase/payment_processing.rb +93 -0
- data/app/models/concerns/spree/purchase/purchase_order.rb +94 -0
- data/app/models/concerns/spree/purchase/quantity_rules.rb +136 -0
- data/app/models/concerns/spree/purchase/store_credits.rb +100 -0
- data/app/models/concerns/spree/purchase/taxation.rb +146 -0
- data/app/models/concerns/spree/purchase/totals.rb +116 -0
- data/app/models/concerns/spree/purchase/validations.rb +45 -0
- data/app/models/concerns/spree/receivable.rb +103 -0
- data/app/models/concerns/spree/receivable_item.rb +78 -0
- data/app/models/concerns/spree/refund_methods.rb +19 -0
- data/app/models/concerns/spree/sanitizable_rich_text.rb +109 -0
- data/app/models/concerns/spree/search_indexable.rb +5 -2
- data/app/models/concerns/spree/single_store_resource.rb +3 -1
- data/app/models/concerns/spree/store_data_sources.rb +75 -0
- data/app/models/concerns/spree/store_preferences.rb +49 -0
- data/app/models/concerns/spree/stores/markets.rb +75 -28
- data/app/models/concerns/spree/stores/setup.rb +10 -0
- data/app/models/concerns/spree/translatable_resource.rb +25 -6
- data/app/models/concerns/spree/typed_adjustment_line.rb +55 -0
- data/app/models/concerns/spree/user_address.rb +13 -3
- data/app/models/concerns/spree/user_management.rb +18 -6
- data/app/models/concerns/spree/user_methods.rb +5 -330
- data/app/models/concerns/spree/user_payment_source.rb +1 -1
- data/app/models/concerns/spree/user_roles.rb +18 -11
- data/app/models/concerns/spree/validates_store_uniqueness.rb +53 -0
- data/app/models/concerns/spree/vat_price_calculation.rb +58 -6
- data/app/models/concerns/spree/webhook_payload_redaction.rb +1 -1
- data/app/models/spree/ability.rb +147 -43
- data/app/models/spree/address.rb +387 -118
- data/app/models/spree/adjusters/base.rb +26 -0
- data/app/models/spree/adjusters/largest_remainder.rb +24 -0
- data/app/models/spree/adjusters/promotion.rb +253 -0
- data/app/models/spree/admin_user.rb +26 -0
- data/app/models/spree/allowed_origin.rb +1 -1
- data/app/models/spree/api_key.rb +34 -31
- data/app/models/spree/asset.rb +14 -211
- data/app/models/spree/authentication/strategies/base_strategy.rb +54 -3
- data/app/models/spree/authentication/strategies/email_password_strategy.rb +11 -3
- data/app/models/spree/authentication/strategies/oidc_strategy.rb +330 -0
- data/app/models/spree/authentication/strategy_registry.rb +83 -0
- data/app/models/spree/base.rb +83 -12
- data/app/models/spree/base_analytics_event_handler.rb +1 -1
- data/app/models/spree/calculator/shipping/digital_delivery.rb +5 -2
- data/app/models/spree/calculator/shipping/flat_rate.rb +10 -5
- data/app/models/spree/calculator/shipping/flexi_rate.rb +6 -0
- data/app/models/spree/calculator/shipping/per_item.rb +8 -3
- data/app/models/spree/calculator/shipping/price_sack.rb +6 -0
- data/app/models/spree/calculator/tiered_flat_rate.rb +5 -1
- data/app/models/spree/calculator.rb +10 -0
- data/app/models/spree/cart.rb +285 -0
- data/app/models/spree/carts/item_warning.rb +28 -0
- data/app/models/spree/carts/resolved_item.rb +37 -0
- data/app/models/spree/catalog.rb +503 -0
- data/app/models/spree/catalog_assignment.rb +41 -0
- data/app/models/spree/catalog_order_minimum.rb +26 -0
- data/app/models/spree/catalog_price.rb +100 -0
- data/app/models/spree/catalog_price_tier.rb +36 -0
- data/app/models/spree/catalog_product.rb +23 -0
- data/app/models/spree/catalog_quantity_rule.rb +46 -0
- data/app/models/spree/catalogs/product_term.rb +43 -0
- data/app/models/spree/category.rb +430 -12
- data/app/models/spree/channel/gating.rb +1 -2
- data/app/models/spree/channel.rb +38 -4
- data/app/models/spree/channel_stock_location.rb +8 -0
- data/app/models/spree/claim.rb +69 -0
- data/app/models/spree/claim_line_item.rb +46 -0
- data/app/models/spree/claim_reason.rb +24 -0
- data/app/models/spree/classification.rb +7 -49
- data/app/models/spree/collection.rb +269 -0
- data/app/models/spree/collection_rule.rb +58 -0
- data/app/models/spree/collection_rules/available_on.rb +21 -0
- data/app/models/spree/collection_rules/sale.rb +18 -0
- data/app/models/spree/collection_rules/tag.rb +21 -0
- data/app/models/spree/commission_line.rb +85 -0
- data/app/models/spree/commission_rate.rb +370 -0
- data/app/models/spree/commission_rate_value.rb +47 -0
- data/app/models/spree/commission_rule.rb +77 -0
- data/app/models/spree/commission_rule_product.rb +19 -0
- data/app/models/spree/commission_rules/category_rule.rb +33 -0
- data/app/models/spree/commission_rules/item_total_rule.rb +31 -0
- data/app/models/spree/commission_rules/product_rule.rb +55 -0
- data/app/models/spree/commission_rules/seller_rule.rb +33 -0
- data/app/models/spree/commission_tax.rb +51 -0
- data/app/models/spree/commissions/context.rb +71 -0
- data/app/models/spree/company.rb +347 -0
- data/app/models/spree/company_invitation.rb +81 -0
- data/app/models/spree/company_membership.rb +25 -0
- data/app/models/spree/consent_record.rb +125 -0
- data/app/models/spree/country.rb +128 -52
- data/app/models/spree/coupon_code.rb +18 -5
- data/app/models/spree/credit_card.rb +10 -9
- data/app/models/spree/current.rb +152 -18
- data/app/models/spree/custom_field.rb +160 -7
- data/app/models/spree/custom_field_definition/search_capabilities.rb +98 -0
- data/app/models/spree/custom_field_definition.rb +219 -5
- data/app/models/spree/custom_fields/boolean.rb +15 -0
- data/app/models/spree/custom_fields/json.rb +38 -0
- data/app/models/spree/custom_fields/long_text.rb +11 -0
- data/app/models/spree/custom_fields/number.rb +23 -0
- data/app/models/spree/custom_fields/rich_text.rb +23 -0
- data/app/models/spree/custom_fields/short_text.rb +15 -0
- data/app/models/spree/customer.rb +34 -0
- data/app/models/spree/customer_group.rb +12 -12
- data/app/models/spree/customer_group_user.rb +6 -4
- data/app/models/spree/data_feed.rb +1 -1
- data/app/models/spree/data_request.rb +98 -0
- data/app/models/spree/delivery.rb +169 -0
- data/app/models/spree/delivery_method.rb +566 -0
- data/app/models/spree/delivery_method_rule.rb +55 -0
- data/app/models/spree/delivery_method_rule_product.rb +8 -0
- data/app/models/spree/delivery_method_rules/channel_rule.rb +41 -0
- data/app/models/spree/delivery_method_rules/company_rule.rb +24 -0
- data/app/models/spree/delivery_method_rules/excluded_products_rule.rb +48 -0
- data/app/models/spree/delivery_method_rules/item_total_rule.rb +19 -0
- data/app/models/spree/delivery_method_rules/volume_rule.rb +35 -0
- data/app/models/spree/delivery_method_rules/weight_rule.rb +19 -0
- data/app/models/spree/delivery_method_service.rb +24 -0
- data/app/models/spree/delivery_method_stock_location.rb +11 -0
- data/app/models/spree/delivery_origin_group.rb +73 -0
- data/app/models/spree/delivery_origin_group_location.rb +9 -0
- data/app/models/spree/delivery_profile.rb +141 -0
- data/app/models/spree/delivery_profiles/digital.rb +20 -0
- data/app/models/spree/delivery_profiles/shipping.rb +12 -0
- data/app/models/spree/delivery_rate.rb +164 -0
- data/app/models/spree/delivery_rate_provider/base.rb +120 -0
- data/app/models/spree/delivery_rate_provider/estimate.rb +44 -0
- data/app/models/spree/delivery_rate_provider/freight.rb +41 -0
- data/app/models/spree/delivery_rate_provider/internal.rb +28 -0
- data/app/models/spree/delivery_rate_provider/service_catalog.rb +48 -0
- data/app/models/spree/delivery_zone.rb +64 -0
- data/app/models/spree/delivery_zone_member.rb +98 -0
- data/app/models/spree/digital.rb +12 -16
- data/app/models/spree/digital_asset.rb +144 -0
- data/app/models/spree/digital_asset_provider/base.rb +95 -0
- data/app/models/spree/digital_asset_provider/file.rb +20 -0
- data/app/models/spree/digital_delivery.rb +28 -0
- data/app/models/spree/digital_link.rb +31 -11
- data/app/models/spree/discount.rb +51 -0
- data/app/models/spree/event.rb +6 -6
- data/app/models/spree/exchange.rb +50 -44
- data/app/models/spree/exchange_line_item.rb +52 -0
- data/app/models/spree/export.rb +128 -21
- data/app/models/spree/exports/customers.rb +2 -2
- data/app/models/spree/exports/gift_cards.rb +2 -2
- data/app/models/spree/exports/newsletter_subscribers.rb +2 -2
- data/app/models/spree/exports/orders.rb +35 -5
- data/app/models/spree/exports/price_list_prices.rb +107 -0
- data/app/models/spree/exports/products.rb +4 -4
- data/app/models/spree/exports/purchase_orders.rb +39 -0
- data/app/models/spree/exports/report.rb +95 -0
- data/app/models/spree/external_reference.rb +77 -0
- data/app/models/spree/external_video.rb +117 -0
- data/app/models/spree/fee.rb +40 -0
- data/app/models/spree/freight_summary/line.rb +257 -0
- data/app/models/spree/freight_summary.rb +180 -0
- data/app/models/spree/fulfillment/custom_events.rb +96 -0
- data/app/models/spree/fulfillment.rb +973 -0
- data/app/models/spree/fulfillment_changer.rb +170 -0
- data/app/models/spree/fulfillment_item.rb +148 -0
- data/app/models/spree/fulfillment_provider/base.rb +130 -0
- data/app/models/spree/fulfillment_provider/digital.rb +44 -0
- data/app/models/spree/fulfillment_provider/manual.rb +15 -0
- data/app/models/spree/fulfillment_provider/pickup.rb +38 -0
- data/app/models/spree/fulfillment_provider/pickup_point.rb +24 -0
- data/app/models/spree/fulfilment_changer.rb +3 -164
- data/app/models/spree/gateway/bogus.rb +5 -4
- data/app/models/spree/gateway/custom_payment_source_method.rb +5 -5
- data/app/models/spree/gateway.rb +2 -2
- data/app/models/spree/gateway_customer.rb +12 -4
- data/app/models/spree/gift_card.rb +140 -48
- data/app/models/spree/gift_card_batch.rb +2 -2
- data/app/models/spree/import.rb +136 -98
- data/app/models/spree/import_mapping.rb +1 -1
- data/app/models/spree/import_row.rb +35 -31
- data/app/models/spree/import_schemas/price_list_prices.rb +13 -0
- data/app/models/spree/import_schemas/products.rb +8 -1
- data/app/models/spree/import_schemas/purchase_orders.rb +19 -0
- data/app/models/spree/imports/price_list_prices.rb +72 -0
- data/app/models/spree/imports/purchase_orders.rb +28 -0
- data/app/models/spree/integration.rb +128 -5
- data/app/models/spree/inventory_provider/base.rb +30 -0
- data/app/models/spree/inventory_provider/internal.rb +22 -0
- data/app/models/spree/inventory_unit.rb +3 -139
- data/app/models/spree/invitation.rb +53 -47
- data/app/models/spree/label_purchase.rb +29 -0
- data/app/models/spree/line_item.rb +240 -106
- data/app/models/spree/market.rb +106 -15
- data/app/models/spree/market_country.rb +10 -5
- data/app/models/spree/media.rb +497 -0
- data/app/models/spree/media_usage_reference.rb +27 -0
- data/app/models/spree/metafield.rb +14 -102
- data/app/models/spree/metafield_definition.rb +11 -128
- data/app/models/spree/metafields.rb +32 -0
- data/app/models/spree/newsletter_subscriber.rb +10 -9
- data/app/models/spree/number_generators/base.rb +56 -0
- data/app/models/spree/number_generators/random.rb +23 -0
- data/app/models/spree/number_generators/sequential.rb +88 -0
- data/app/models/spree/number_sequence.rb +86 -0
- data/app/models/spree/option_type.rb +18 -32
- data/app/models/spree/option_type_product_type.rb +8 -0
- data/app/models/spree/option_value.rb +19 -13
- data/app/models/spree/option_value_variant.rb +0 -1
- data/app/models/spree/order.rb +681 -576
- data/app/models/spree/order_cancellation_reason.rb +25 -0
- data/app/models/spree/order_group.rb +244 -0
- data/app/models/spree/order_inventory.rb +42 -33
- data/app/models/spree/order_merger.rb +11 -6
- data/app/models/spree/order_promotion.rb +32 -6
- data/app/models/spree/order_routing/has_strategy_preference.rb +1 -2
- data/app/models/spree/order_routing/rules/minimize_splits.rb +6 -6
- data/app/models/spree/order_routing/strategy/rules.rb +12 -8
- data/app/models/spree/order_routing_rule.rb +5 -15
- data/app/models/spree/order_updater.rb +131 -163
- data/app/models/spree/package_type.rb +191 -0
- data/app/models/spree/payment/custom_events.rb +52 -5
- data/app/models/spree/payment/gateway_options.rb +20 -5
- data/app/models/spree/payment/processing.rb +95 -116
- data/app/models/spree/payment.rb +299 -123
- data/app/models/spree/payment_method/check.rb +4 -3
- data/app/models/spree/payment_method/session_instrumentation.rb +34 -0
- data/app/models/spree/payment_method/store_credit.rb +4 -2
- data/app/models/spree/payment_method.rb +106 -9
- data/app/models/spree/payment_session.rb +150 -53
- data/app/models/spree/payment_setup_session.rb +4 -37
- data/app/models/spree/payment_source.rb +5 -4
- data/app/models/spree/payment_split.rb +90 -0
- data/app/models/spree/payout_provider/base.rb +218 -0
- data/app/models/spree/payout_provider/system.rb +36 -0
- data/app/models/spree/permission_sets.rb +17 -0
- data/app/models/spree/pickup_point_option.rb +28 -0
- data/app/models/spree/pickup_point_provider/base.rb +24 -0
- data/app/models/spree/policy.rb +12 -11
- data/app/models/spree/price.rb +91 -5
- data/app/models/spree/price_adjustment_tier.rb +63 -0
- data/app/models/spree/price_history.rb +1 -1
- data/app/models/spree/price_list.rb +266 -142
- data/app/models/spree/price_rule.rb +51 -7
- data/app/models/spree/price_rules/channel_rule.rb +3 -0
- data/app/models/spree/price_rules/customer_group_rule.rb +10 -1
- data/app/models/spree/price_rules/market_rule.rb +6 -0
- data/app/models/spree/price_rules/user_rule.rb +12 -3
- data/app/models/spree/price_rules/volume_rule.rb +6 -0
- data/app/models/spree/price_rules/zone_rule.rb +5 -13
- data/app/models/spree/pricing_provider/base.rb +51 -0
- data/app/models/spree/pricing_provider/internal.rb +277 -0
- data/app/models/spree/pricing_provider.rb +28 -0
- data/app/models/spree/product.rb +528 -544
- data/app/models/spree/product_category.rb +65 -0
- data/app/models/spree/product_collection.rb +20 -0
- data/app/models/spree/product_option_type.rb +0 -1
- data/app/models/spree/product_promotion_rule.rb +0 -1
- data/app/models/spree/product_publication.rb +0 -1
- data/app/models/spree/product_submission.rb +72 -0
- data/app/models/spree/product_type.rb +116 -0
- data/app/models/spree/product_type_category.rb +8 -0
- data/app/models/spree/product_type_custom_field_definition.rb +39 -0
- data/app/models/spree/promotion/actions/create_adjustment.rb +9 -7
- data/app/models/spree/promotion/actions/create_item_adjustments.rb +11 -16
- data/app/models/spree/promotion/actions/create_line_items.rb +19 -8
- data/app/models/spree/promotion/actions/free_shipping.rb +12 -18
- data/app/models/spree/promotion/rules/category.rb +181 -0
- data/app/models/spree/promotion/rules/channel.rb +3 -3
- data/app/models/spree/promotion/rules/country.rb +43 -17
- data/app/models/spree/promotion/rules/currency.rb +2 -2
- data/app/models/spree/promotion/rules/customer_group.rb +13 -5
- data/app/models/spree/promotion/rules/first_order.rb +3 -3
- data/app/models/spree/promotion/rules/item_total.rb +2 -2
- data/app/models/spree/promotion/rules/market.rb +3 -3
- data/app/models/spree/promotion/rules/one_use_per_user.rb +4 -4
- data/app/models/spree/promotion/rules/option_value.rb +34 -11
- data/app/models/spree/promotion/rules/product.rb +3 -5
- data/app/models/spree/promotion/rules/taxon.rb +10 -131
- data/app/models/spree/promotion/rules/user.rb +14 -22
- data/app/models/spree/promotion/rules/user_logged_in.rb +3 -3
- data/app/models/spree/promotion.rb +59 -21
- data/app/models/spree/promotion_action.rb +52 -11
- data/app/models/spree/promotion_action_line_item.rb +1 -1
- data/app/models/spree/promotion_handler/coupon.rb +44 -16
- data/app/models/spree/promotion_handler/free_shipping.rb +1 -1
- data/app/models/spree/promotion_handler/promotion_duplicator.rb +1 -1
- data/app/models/spree/promotion_rule.rb +2 -9
- data/app/models/spree/promotion_rule_category.rb +22 -0
- data/app/models/spree/promotion_rule_taxon.rb +7 -6
- data/app/models/spree/promotion_rule_user.rb +2 -2
- data/app/models/spree/prototype.rb +3 -13
- data/app/models/spree/purchase_order.rb +95 -0
- data/app/models/spree/purchase_order_item.rb +40 -0
- data/app/models/spree/quantity_rule.rb +114 -0
- data/app/models/spree/refresh_token.rb +20 -2
- data/app/models/spree/refund.rb +96 -42
- data/app/models/spree/refund_reason.rb +32 -11
- data/app/models/spree/return.rb +151 -0
- data/app/models/spree/return_authorization_reason.rb +11 -6
- data/app/models/spree/return_line_item.rb +42 -0
- data/app/models/spree/return_reason.rb +26 -0
- data/app/models/spree/rich_text_sanitizer.rb +99 -0
- data/app/models/spree/role.rb +179 -4
- data/app/models/spree/role_user.rb +5 -21
- data/app/models/spree/saved_report.rb +56 -0
- data/app/models/spree/search_provider/base.rb +8 -2
- data/app/models/spree/search_provider/database.rb +73 -22
- data/app/models/spree/search_provider.rb +29 -0
- data/app/models/spree/seller.rb +475 -0
- data/app/models/spree/seller_balance.rb +86 -0
- data/app/models/spree/seller_payout.rb +116 -0
- data/app/models/spree/seller_requirement.rb +274 -0
- data/app/models/spree/seller_requirement_custom_field.rb +38 -0
- data/app/models/spree/seller_requirement_status.rb +144 -0
- data/app/models/spree/seller_requirement_submission.rb +91 -0
- data/app/models/spree/seller_requirements/accept_terms.rb +104 -0
- data/app/models/spree/seller_requirements/attestation.rb +22 -0
- data/app/models/spree/seller_requirements/billing_address.rb +13 -0
- data/app/models/spree/seller_requirements/complete_profile.rb +26 -0
- data/app/models/spree/seller_requirements/delivery_method.rb +20 -0
- data/app/models/spree/seller_requirements/document.rb +62 -0
- data/app/models/spree/seller_requirements/minimum_products.rb +20 -0
- data/app/models/spree/seller_requirements/operator_review.rb +23 -0
- data/app/models/spree/seller_requirements/package_type.rb +40 -0
- data/app/models/spree/seller_requirements/payout_account.rb +55 -0
- data/app/models/spree/seller_requirements/policy.rb +43 -0
- data/app/models/spree/seller_requirements/required_custom_fields.rb +56 -0
- data/app/models/spree/seller_requirements/returns_address.rb +19 -0
- data/app/models/spree/seller_transfer.rb +166 -0
- data/app/models/spree/setup_tasks.rb +3 -6
- data/app/models/spree/shipment.rb +3 -560
- data/app/models/spree/shipping_calculator.rb +7 -0
- data/app/models/spree/shipping_document.rb +32 -0
- data/app/models/spree/shipping_label.rb +146 -0
- data/app/models/spree/shipping_method.rb +3 -146
- data/app/models/spree/shipping_rate.rb +3 -97
- data/app/models/spree/state.rb +57 -23
- data/app/models/spree/stock/availability_validator.rb +1 -1
- data/app/models/spree/stock/content_item.rb +1 -0
- data/app/models/spree/stock/coordinator.rb +69 -9
- data/app/models/spree/stock/estimator.rb +198 -33
- data/app/models/spree/stock/inventory_unit_builder.rb +6 -1
- data/app/models/spree/stock/package.rb +145 -14
- data/app/models/spree/stock/packer.rb +20 -3
- data/app/models/spree/stock/prioritizer.rb +27 -4
- data/app/models/spree/stock/quantifier.rb +63 -38
- data/app/models/spree/stock/splitter/base.rb +3 -1
- data/app/models/spree/stock/splitter/delivery_profile.rb +41 -0
- data/app/models/spree/stock_item.rb +3 -147
- data/app/models/spree/stock_level/custom_events.rb +48 -0
- data/app/models/spree/stock_level.rb +305 -0
- data/app/models/spree/stock_location.rb +165 -87
- data/app/models/spree/stock_movement/custom_events.rb +1 -1
- data/app/models/spree/stock_movement.rb +166 -22
- data/app/models/spree/stock_receipt.rb +61 -0
- data/app/models/spree/stock_receipt_item.rb +35 -0
- data/app/models/spree/stock_reservation.rb +114 -11
- data/app/models/spree/stock_transfer.rb +84 -59
- data/app/models/spree/stock_transfer_item.rb +25 -0
- data/app/models/spree/store.rb +431 -107
- data/app/models/spree/store_credit.rb +88 -21
- data/app/models/spree/store_credit_category.rb +21 -28
- data/app/models/spree/store_credit_event.rb +1 -1
- data/app/models/spree/store_credit_type.rb +10 -2
- data/app/models/spree/store_payment_method.rb +0 -1
- data/app/models/spree/store_product.rb +2 -2
- data/app/models/spree/store_promotion.rb +0 -1
- data/app/models/spree/storefront/access_denied.rb +22 -0
- data/app/models/spree/storefront/access_policy.rb +180 -0
- data/app/models/spree/subscriber.rb +6 -6
- data/app/models/spree/supplier.rb +76 -0
- data/app/models/spree/tax_category.rb +15 -5
- data/app/models/spree/tax_exemption/item_override.rb +22 -0
- data/app/models/spree/tax_exemption.rb +81 -0
- data/app/models/spree/tax_exemption_certificate.rb +95 -0
- data/app/models/spree/tax_identifier.rb +209 -0
- data/app/models/spree/tax_identifiers/validation_result.rb +41 -0
- data/app/models/spree/tax_identifiers/validator/base.rb +53 -0
- data/app/models/spree/tax_identifiers/validator/eu_vat.rb +76 -0
- data/app/models/spree/tax_line.rb +79 -0
- data/app/models/spree/tax_provider/base.rb +150 -0
- data/app/models/spree/tax_provider/internal.rb +227 -0
- data/app/models/spree/tax_rate.rb +63 -100
- data/app/models/spree/taxon.rb +13 -514
- data/app/models/spree/taxon_rule.rb +8 -9
- data/app/models/spree/taxonomy.rb +8 -42
- data/app/models/spree/user_identity.rb +2 -2
- data/app/models/spree/variant.rb +629 -150
- data/app/models/spree/variant_media.rb +6 -7
- data/app/models/spree/webhook_endpoint.rb +2 -1
- data/app/models/spree/wished_item.rb +3 -31
- data/app/models/spree/wishlist.rb +17 -10
- data/app/models/spree/wishlist_item/custom_events.rb +42 -0
- data/app/models/spree/wishlist_item.rb +37 -0
- data/app/models/spree/zone.rb +24 -182
- data/app/models/spree/zone_member.rb +5 -8
- data/app/presenters/spree/csv/custom_fields_helper.rb +25 -0
- data/app/presenters/spree/csv/customer_presenter.rb +7 -6
- data/app/presenters/spree/csv/gift_card_presenter.rb +9 -8
- data/app/presenters/spree/csv/newsletter_subscriber_presenter.rb +7 -6
- data/app/presenters/spree/csv/order_line_item_presenter.rb +53 -21
- data/app/presenters/spree/csv/price_list_price_presenter.rb +41 -0
- data/app/presenters/spree/csv/product_variant_presenter.rb +22 -21
- data/app/presenters/spree/csv/purchase_order_item_presenter.rb +50 -0
- data/app/presenters/spree/data_feeds/google_presenter.rb +24 -10
- data/app/presenters/spree/filters/options_presenter.rb +2 -2
- data/app/services/spree/addresses/create.rb +70 -27
- data/app/services/spree/addresses/helper.rb +17 -54
- data/app/services/spree/addresses/update.rb +53 -31
- data/app/services/spree/carts/associate.rb +46 -0
- data/app/services/spree/carts/check_availability.rb +72 -0
- data/app/services/spree/carts/create.rb +7 -1
- data/app/services/spree/carts/destroy.rb +71 -0
- data/app/services/spree/carts/empty.rb +42 -0
- data/app/services/spree/carts/partition_by_seller.rb +71 -0
- data/app/services/spree/carts/price_items.rb +119 -0
- data/app/services/spree/carts/remove_item.rb +42 -0
- data/app/services/spree/carts/remove_line_item.rb +42 -0
- data/app/services/spree/carts/remove_out_of_stock_items.rb +104 -0
- data/app/services/spree/carts/set_quantity.rb +39 -0
- data/app/services/spree/carts/split_by_seller.rb +475 -0
- data/app/services/spree/carts/update.rb +157 -51
- data/app/services/spree/catalogs/resolve_prices.rb +192 -0
- data/app/services/spree/catalogs/resolve_quantity_rules.rb +115 -0
- data/app/services/spree/catalogs/set_assignments.rb +59 -0
- data/app/services/spree/catalogs/set_order_minimums.rb +44 -0
- data/app/services/spree/catalogs/set_product_terms.rb +83 -0
- data/app/services/spree/categories/add_products.rb +51 -0
- data/app/services/spree/categories/remove_products.rb +72 -0
- data/app/services/spree/checkout/add_store_credit.rb +11 -79
- data/app/services/spree/checkout/advance.rb +38 -38
- data/app/services/spree/checkout/remove_store_credit.rb +7 -12
- data/app/services/spree/collections/add_products.rb +42 -0
- data/app/services/spree/collections/regenerate_products.rb +67 -0
- data/app/services/spree/collections/remove_products.rb +65 -0
- data/app/services/spree/commissions/calculate_line.rb +132 -0
- data/app/services/spree/commissions/commission_order.rb +185 -0
- data/app/services/spree/commissions/resolve_rate.rb +114 -0
- data/app/services/spree/commissions/resolve_tax_rate.rb +78 -0
- data/app/services/spree/companies/add_member.rb +38 -0
- data/app/services/spree/company_invitations/accept.rb +60 -0
- data/app/services/spree/coupon_codes/coupon_codes_handler.rb +14 -2
- data/app/services/spree/customers/data_export.rb +372 -0
- data/app/services/spree/data_requests/create.rb +77 -0
- data/app/services/spree/deliveries/create.rb +56 -0
- data/app/services/spree/deliveries/destroy.rb +39 -0
- data/app/services/spree/deliveries/upsert_primary.rb +43 -0
- data/app/services/spree/fulfillments/recalculate_delivery.rb +62 -0
- data/app/services/spree/fulfillments/stand_down_provider.rb +47 -0
- data/app/services/spree/imports/row_processors/customer.rb +8 -8
- data/app/services/spree/imports/row_processors/price_list_price.rb +164 -0
- data/app/services/spree/imports/row_processors/product_variant.rb +193 -57
- data/app/services/spree/imports/row_processors/purchase_order.rb +157 -0
- data/app/services/spree/media/destroy.rb +88 -0
- data/app/services/spree/media/usage.rb +175 -0
- data/app/services/spree/newsletter/link_user.rb +4 -3
- data/app/services/spree/newsletter/subscribe.rb +3 -3
- data/app/services/spree/newsletter/verify.rb +6 -2
- data/app/services/spree/order_groups/allocate_payments.rb +101 -0
- data/app/services/spree/orders/approve.rb +11 -24
- data/app/services/spree/orders/build_fulfillments.rb +29 -0
- data/app/services/spree/orders/create.rb +38 -17
- data/app/services/spree/orders/create_from_cart.rb +88 -0
- data/app/services/spree/orders/create_user_account.rb +14 -67
- data/app/services/spree/orders/discounts/create.rb +84 -0
- data/app/services/spree/orders/discounts/destroy.rb +25 -0
- data/app/services/spree/orders/discounts/update.rb +29 -0
- data/app/services/spree/orders/fees/create.rb +28 -0
- data/app/services/spree/orders/fees/destroy.rb +22 -0
- data/app/services/spree/orders/fees/update.rb +25 -0
- data/app/services/spree/orders/remove_item.rb +13 -0
- data/app/services/spree/orders/remove_line_item.rb +13 -0
- data/app/services/spree/orders/update.rb +56 -11
- data/app/services/spree/orders/update_item.rb +105 -0
- data/app/services/spree/orders/update_statuses.rb +109 -0
- data/app/services/spree/payments/create.rb +31 -5
- data/app/services/spree/prices/bulk_upsert.rb +156 -30
- data/app/services/spree/product_submissions/close.rb +46 -0
- data/app/services/spree/product_types/apply_to_products.rb +167 -0
- data/app/services/spree/products/auto_match_collections.rb +75 -0
- data/app/services/spree/products/auto_match_taxons.rb +7 -54
- data/app/services/spree/products/duplicator.rb +16 -22
- data/app/services/spree/products/for_context.rb +54 -0
- data/app/services/spree/products/select_buy_box.rb +98 -0
- data/app/services/spree/purchases/amount_due_at_checkout.rb +33 -0
- data/app/services/spree/returns/eligibility_validator.rb +53 -0
- data/app/services/spree/sample_data/helper.rb +3 -3
- data/app/services/spree/sample_data/import_builder.rb +8 -4
- data/app/services/spree/sample_data/import_runner.rb +7 -4
- data/app/services/spree/sample_data/loader.rb +15 -6
- data/app/services/spree/search_provider/custom_field_schema.rb +153 -0
- data/app/services/spree/seeds/admin_user.rb +72 -12
- data/app/services/spree/seeds/all.rb +24 -13
- data/app/services/spree/seeds/commission_rates.rb +53 -0
- data/app/services/spree/seeds/digital_delivery.rb +18 -8
- data/app/services/spree/seeds/product_types.rb +23 -0
- data/app/services/spree/seeds/returns_environment.rb +44 -16
- data/app/services/spree/seeds/roles.rb +6 -1
- data/app/services/spree/seeds/saved_reports.rb +107 -0
- data/app/services/spree/seeds/seller_requirements.rb +19 -0
- data/app/services/spree/seeds/stores.rb +1 -1
- data/app/services/spree/seeds/tax_categories.rb +9 -2
- data/app/services/spree/sellers/requirements.rb +129 -0
- data/app/services/spree/shipments/update.rb +4 -33
- data/app/services/spree/shipping_labels/confirm_refund.rb +47 -0
- data/app/services/spree/shipping_labels/store_file.rb +68 -0
- data/app/services/spree/stock_levels/bulk_upsert.rb +67 -0
- data/app/services/spree/stock_levels/correct.rb +69 -0
- data/app/services/spree/stock_levels/recount.rb +103 -0
- data/app/services/spree/stock_locations/stock_items/create.rb +8 -13
- data/app/services/spree/stock_locations/stock_levels/create.rb +25 -0
- data/app/services/spree/stock_reservations/extend.rb +9 -5
- data/app/services/spree/stock_reservations/release.rb +4 -3
- data/app/services/spree/stock_reservations/reserve.rb +43 -32
- data/app/services/spree/store_credits/apply.rb +93 -0
- data/app/services/spree/store_credits/remove.rb +17 -0
- data/app/services/spree/stores/provision_defaults.rb +269 -0
- data/app/services/spree/tax/resolve_exemptions.rb +44 -0
- data/app/services/spree/tax/unusable_exemption_error.rb +8 -0
- data/app/services/spree/tax_identifiers/validate.rb +77 -0
- data/app/services/spree/taxons/add_products.rb +6 -39
- data/app/services/spree/taxons/regenerate_products.rb +8 -53
- data/app/services/spree/taxons/remove_products.rb +6 -60
- data/app/services/spree/variants/remove_line_items.rb +6 -1
- data/app/subscribers/spree/event_log_subscriber.rb +1 -1
- data/app/subscribers/spree/order_commission_subscriber.rb +23 -0
- data/app/subscribers/spree/order_placed_subscriber.rb +58 -0
- data/app/subscribers/spree/order_status_subscriber.rb +82 -0
- data/app/subscribers/spree/payment_split_subscriber.rb +71 -0
- data/app/subscribers/spree/product_metrics_subscriber.rb +2 -2
- data/app/subscribers/spree/seller_onboarding_subscriber.rb +32 -0
- data/app/subscribers/spree/seller_transfer_reversal_subscriber.rb +26 -0
- data/app/subscribers/spree/seller_transfer_subscriber.rb +26 -0
- data/app/subscribers/spree/seller_user_email_subscriber.rb +27 -0
- data/app/subscribers/spree/tax_identifier_validation_subscriber.rb +26 -0
- data/app/validators/spree/addresses/phone_validator.rb +2 -2
- data/app/validators/spree/attachment_content_type_validator.rb +183 -0
- data/app/validators/spree/password_length_validator.rb +23 -0
- data/app/views/spree/seller_user_mailer/password_reset_email.html.erb +8 -0
- data/app/views/spree/shared/_purchased_items_styles.html.erb +7 -0
- data/app/workflows/spree/carts/add_item.rb +234 -0
- data/app/workflows/spree/carts/complete.rb +516 -0
- data/app/workflows/spree/carts/merge.rb +90 -0
- data/app/workflows/spree/carts/recalculate.rb +54 -0
- data/app/workflows/spree/carts/recalculate_totals.rb +233 -0
- data/app/workflows/spree/carts/upsert_items.rb +368 -0
- data/app/workflows/spree/catalogs/activate.rb +51 -0
- data/app/workflows/spree/catalogs/create.rb +83 -0
- data/app/workflows/spree/catalogs/deactivate.rb +35 -0
- data/app/workflows/spree/catalogs/set_price_list.rb +130 -0
- data/app/workflows/spree/catalogs/update.rb +85 -0
- data/app/workflows/spree/claims/approve.rb +38 -0
- data/app/workflows/spree/claims/cancel.rb +37 -0
- data/app/workflows/spree/claims/create.rb +82 -0
- data/app/workflows/spree/claims/deny.rb +35 -0
- data/app/workflows/spree/claims/resolve.rb +166 -0
- data/app/workflows/spree/customers/anonymize.rb +502 -0
- data/app/workflows/spree/customers/create.rb +247 -0
- data/app/workflows/spree/data_requests/fulfill.rb +165 -0
- data/app/workflows/spree/deliveries/update_tracking.rb +96 -0
- data/app/workflows/spree/exchanges/approve.rb +38 -0
- data/app/workflows/spree/exchanges/cancel.rb +40 -0
- data/app/workflows/spree/exchanges/create.rb +90 -0
- data/app/workflows/spree/exchanges/fulfill.rb +146 -0
- data/app/workflows/spree/exchanges/receive.rb +86 -0
- data/app/workflows/spree/fulfillments/cancel.rb +87 -0
- data/app/workflows/spree/fulfillments/create.rb +346 -0
- data/app/workflows/spree/fulfillments/fulfill.rb +354 -0
- data/app/workflows/spree/fulfillments/mark_delivered.rb +67 -0
- data/app/workflows/spree/fulfillments/purchase_label.rb +40 -0
- data/app/workflows/spree/fulfillments/update.rb +123 -0
- data/app/workflows/spree/gift_cards/apply.rb +235 -0
- data/app/workflows/spree/gift_cards/cancel.rb +43 -0
- data/app/workflows/spree/gift_cards/redeem.rb +59 -0
- data/app/workflows/spree/gift_cards/remove.rb +78 -0
- data/app/workflows/spree/imports/complete.rb +45 -0
- data/app/workflows/spree/imports/complete_mapping.rb +50 -0
- data/app/workflows/spree/imports/retry_failed_rows.rb +46 -0
- data/app/workflows/spree/imports/start_mapping.rb +48 -0
- data/app/workflows/spree/imports/start_processing.rb +36 -0
- data/app/workflows/spree/invitations/accept.rb +50 -0
- data/app/workflows/spree/orders/add_item.rb +12 -0
- data/app/workflows/spree/orders/cancel.rb +261 -0
- data/app/workflows/spree/orders/complete.rb +169 -0
- data/app/workflows/spree/orders/recalculate.rb +11 -0
- data/app/workflows/spree/orders/recalculate_totals.rb +12 -0
- data/app/workflows/spree/orders/upsert_items.rb +28 -0
- data/app/workflows/spree/payment_sessions/complete.rb +44 -0
- data/app/workflows/spree/payments/capture.rb +109 -0
- data/app/workflows/spree/payments/handle_webhook.rb +100 -0
- data/app/workflows/spree/payments/process.rb +73 -0
- data/app/workflows/spree/payments/void.rb +72 -0
- data/app/workflows/spree/price_lists/activate.rb +49 -0
- data/app/workflows/spree/price_lists/create.rb +57 -0
- data/app/workflows/spree/price_lists/deactivate.rb +30 -0
- data/app/workflows/spree/price_lists/update.rb +117 -0
- data/app/workflows/spree/products/activate.rb +33 -0
- data/app/workflows/spree/products/approve.rb +52 -0
- data/app/workflows/spree/products/archive.rb +44 -0
- data/app/workflows/spree/products/create.rb +82 -0
- data/app/workflows/spree/products/destroy.rb +35 -0
- data/app/workflows/spree/products/draft.rb +49 -0
- data/app/workflows/spree/products/nested_attributes.rb +242 -0
- data/app/workflows/spree/products/propose.rb +62 -0
- data/app/workflows/spree/products/reject.rb +54 -0
- data/app/workflows/spree/products/update.rb +83 -0
- data/app/workflows/spree/purchase_orders/cancel.rb +57 -0
- data/app/workflows/spree/purchase_orders/close.rb +57 -0
- data/app/workflows/spree/purchase_orders/create.rb +68 -0
- data/app/workflows/spree/purchase_orders/mark_draft.rb +49 -0
- data/app/workflows/spree/purchase_orders/mark_ordered.rb +50 -0
- data/app/workflows/spree/purchase_orders/receive.rb +65 -0
- data/app/workflows/spree/purchase_orders/update.rb +56 -0
- data/app/workflows/spree/receivables/incoming_counter.rb +50 -0
- data/app/workflows/spree/refunds/create.rb +136 -0
- data/app/workflows/spree/refunds/order_payments.rb +129 -0
- data/app/workflows/spree/returns/approve.rb +47 -0
- data/app/workflows/spree/returns/cancel.rb +52 -0
- data/app/workflows/spree/returns/create.rb +135 -0
- data/app/workflows/spree/returns/purchase_label.rb +32 -0
- data/app/workflows/spree/returns/receive.rb +94 -0
- data/app/workflows/spree/returns/refund.rb +134 -0
- data/app/workflows/spree/seller_payouts/complete.rb +80 -0
- data/app/workflows/spree/seller_payouts/sweep.rb +192 -0
- data/app/workflows/spree/seller_requirement_submissions/accept.rb +40 -0
- data/app/workflows/spree/seller_requirement_submissions/create.rb +104 -0
- data/app/workflows/spree/seller_requirement_submissions/reject.rb +45 -0
- data/app/workflows/spree/seller_requirement_submissions/reviewable.rb +19 -0
- data/app/workflows/spree/seller_requirement_submissions/waive.rb +64 -0
- data/app/workflows/spree/seller_transfers/create.rb +131 -0
- data/app/workflows/spree/seller_transfers/reverse.rb +241 -0
- data/app/workflows/spree/sellers/approve.rb +88 -0
- data/app/workflows/spree/sellers/create.rb +72 -0
- data/app/workflows/spree/sellers/invite.rb +61 -0
- data/app/workflows/spree/sellers/reject.rb +52 -0
- data/app/workflows/spree/sellers/reopen_onboarding.rb +55 -0
- data/app/workflows/spree/sellers/start_onboarding.rb +46 -0
- data/app/workflows/spree/sellers/submit_for_review.rb +76 -0
- data/app/workflows/spree/sellers/suspend.rb +55 -0
- data/app/workflows/spree/shipping_labels/purchase.rb +154 -0
- data/app/workflows/spree/shipping_labels/record.rb +102 -0
- data/app/workflows/spree/shipping_labels/refund.rb +77 -0
- data/app/workflows/spree/stock_receipts/recording.rb +165 -0
- data/app/workflows/spree/stock_transfers/cancel.rb +103 -0
- data/app/workflows/spree/stock_transfers/close.rb +56 -0
- data/app/workflows/spree/stock_transfers/create.rb +63 -0
- data/app/workflows/spree/stock_transfers/mark_draft.rb +41 -0
- data/app/workflows/spree/stock_transfers/mark_in_transit.rb +91 -0
- data/app/workflows/spree/stock_transfers/mark_ready.rb +36 -0
- data/app/workflows/spree/stock_transfers/receive.rb +62 -0
- data/app/workflows/spree/stock_transfers/update.rb +55 -0
- data/app/workflows/spree/tax_exemption_certificates/verify.rb +48 -0
- data/app/workflows/spree/variants/create.rb +66 -0
- data/app/workflows/spree/variants/nested_attributes.rb +90 -0
- data/app/workflows/spree/variants/update.rb +55 -0
- data/config/brakeman.ignore +79 -79
- data/config/i18n-tasks.yml +4 -3
- data/config/initializers/mobility.rb +0 -4
- data/config/initializers/spree_store_setup_tasks.rb +4 -0
- data/config/locales/en.yml +952 -189
- data/config/routes.rb +11 -4
- data/db/migrate/20220201103922_add_first_name_and_last_name_to_spree_users.rb +7 -5
- data/db/migrate/20221215151408_add_selected_locale_to_spree_users.rb +6 -4
- data/db/migrate/20250127151258_add_phone_to_spree_users.rb +3 -1
- data/db/migrate/20250207084000_add_accepts_email_marketing_field_to_spree_users_table.rb +4 -2
- data/db/migrate/20250410061306_create_spree_invitations.rb +1 -1
- data/db/migrate/20250605131334_add_missing_fields_to_users.rb +24 -20
- data/db/migrate/20260315100000_add_product_media_support.rb +4 -1
- data/db/migrate/20260613000001_add_store_id_to_spree_role_users.rb +6 -3
- data/db/migrate/20260630000001_add_default_variant_id_to_spree_products.rb +9 -0
- data/db/migrate/20260708160054_create_spree_collections.rb +69 -0
- data/db/migrate/20260710000001_rename_taxons_to_categories.rb +28 -0
- data/db/migrate/20260727000001_add_unique_country_abbr_index_to_spree_states.rb +27 -4
- data/db/migrate/20260728000000_create_spree_customers_and_admin_users.rb +59 -0
- data/db/migrate/20260728000001_rename_prototypes_to_product_types.rb +59 -0
- data/db/migrate/20260728000002_create_spree_delivery_zones.rb +29 -0
- data/db/migrate/20260728000003_create_spree_carts.rb +58 -0
- data/db/migrate/20260728000003_rename_user_id_to_customer_id.rb +30 -0
- data/db/migrate/20260728000004_rename_shipping_to_fulfillment_and_delivery.rb +83 -0
- data/db/migrate/20260728000005_add_fulfillment_type_columns.rb +33 -0
- data/db/migrate/20260729000001_create_typed_adjustment_tables.rb +87 -0
- data/db/migrate/20260729100001_add_checkout_columns_to_spree_carts.rb +15 -0
- data/db/migrate/20260729100002_relax_owner_null_constraints.rb +7 -0
- data/db/migrate/20260729120001_rename_order_totals_to_standard_names.rb +7 -0
- data/db/migrate/20260729130001_create_spree_delivery_method_rules.rb +19 -0
- data/db/migrate/20260729140001_add_coupon_code_to_spree_orders.rb +6 -0
- data/db/migrate/20260729150001_add_store_to_delivery_methods_and_stock_locations.rb +6 -0
- data/db/migrate/20260802190001_create_spree_returns.rb +49 -0
- data/db/migrate/20260802210001_create_spree_exchanges_and_claims.rb +80 -0
- data/db/migrate/20260805100001_rename_return_authorization_reasons_to_return_reasons.rb +109 -0
- data/db/migrate/20260806000001_add_store_id_to_spree_tax_rates_and_categories.rb +16 -0
- data/db/migrate/20260806000001_create_spree_delivery_method_rule_products.rb +22 -0
- data/db/migrate/20260806000002_add_treatment_columns_to_spree_tax_lines.rb +19 -0
- data/db/migrate/20260806000003_create_spree_tax_identifiers.rb +41 -0
- data/db/migrate/20260806000004_add_tax_provider_to_spree_markets.rb +9 -0
- data/db/migrate/20260806000005_add_country_and_state_to_spree_tax_rates.rb +20 -0
- data/db/migrate/20260806100001_create_spree_product_type_custom_field_definitions.rb +17 -0
- data/db/migrate/20260806120001_add_rate_provider_to_delivery_methods.rb +7 -0
- data/db/migrate/20260806120002_add_carrier_columns_to_delivery_rates.rb +13 -0
- data/db/migrate/20260806130001_add_unique_store_type_index_to_spree_integrations.rb +9 -0
- data/db/migrate/20260807000001_add_permissions_to_spree_roles.rb +14 -0
- data/db/migrate/20260807000001_create_spree_companies.rb +66 -0
- data/db/migrate/20260807000003_create_spree_tax_exemption_certificates.rb +31 -0
- data/db/migrate/20260807120001_remove_claim_type_from_spree_claims.rb +5 -0
- data/db/migrate/20260807130001_add_country_state_codes_to_consumers.rb +28 -0
- data/db/migrate/20260807150001_reindex_spree_categories_by_store.rb +42 -0
- data/db/migrate/20260809000001_rename_metafields_to_custom_fields.rb +126 -0
- data/db/migrate/20260809100001_support_multi_rate_delivery_methods.rb +35 -0
- data/db/migrate/20260809120001_consolidate_metadata_columns.rb +120 -0
- data/db/migrate/20260809150001_promote_shipping_categories_to_delivery_profiles.rb +153 -0
- data/db/migrate/20260809170001_create_spree_channel_stock_locations.rb +17 -0
- data/db/migrate/20260809200001_add_rich_text_columns_for_action_text_removal.rb +11 -0
- data/db/migrate/20260810000001_rename_digitals_to_digital_assets.rb +38 -0
- data/db/migrate/20260811000001_add_delivery_tracking_to_fulfillments.rb +17 -0
- data/db/migrate/20260812000001_add_provider_type_to_spree_digital_assets.rb +7 -0
- data/db/migrate/20260812000002_add_metadata_to_spree_digital_assets.rb +11 -0
- data/db/migrate/20260813000001_create_spree_number_sequences.rb +13 -0
- data/db/migrate/20260813120001_add_setup_token_to_spree_stores.rb +11 -0
- data/db/migrate/20260813130001_add_capture_method_to_payment_methods.rb +17 -0
- data/db/migrate/20260813130001_add_unique_indexes_to_spree_data_feeds.rb +10 -0
- data/db/migrate/20260814000001_add_customs_fields_to_spree_variants.rb +7 -0
- data/db/migrate/20260814000001_rename_stock_items_to_stock_levels.rb +72 -0
- data/db/migrate/20260814000002_add_typed_stock_movements.rb +25 -0
- data/db/migrate/20260815000001_add_audience_to_spree_refresh_tokens.rb +14 -0
- data/db/migrate/20260815000002_add_resource_to_spree_roles.rb +190 -0
- data/db/migrate/20260816000001_create_spree_sellers.rb +59 -0
- data/db/migrate/20260816000002_add_seller_to_spree_products.rb +10 -0
- data/db/migrate/20260816210001_create_spree_commission_rates.rb +229 -0
- data/db/migrate/20260816210002_create_spree_commission_lines.rb +72 -0
- data/db/migrate/20260817000001_add_seller_to_spree_line_items.rb +15 -0
- data/db/migrate/20260817000002_add_seller_and_delivery_profile_to_spree_variants.rb +17 -0
- data/db/migrate/20260818000001_create_spree_external_references.rb +33 -0
- data/db/migrate/20260818000001_create_spree_seller_requirements.rb +60 -0
- data/db/migrate/20260818000001_rename_spree_payments_state_to_status.rb +5 -0
- data/db/migrate/20260818000002_add_price_source_to_spree_line_items.rb +9 -0
- data/db/migrate/20260818090001_rename_assets_to_media.rb +10 -0
- data/db/migrate/20260819000001_create_spree_seller_requirement_custom_fields.rb +15 -0
- data/db/migrate/20260819000001_replace_payment_method_display_on_with_storefront_visible.rb +25 -0
- data/db/migrate/20260819000002_rename_spree_gift_cards_state_to_status.rb +5 -0
- data/db/migrate/20260820000001_add_seller_business_identity_and_stock_locations.rb +17 -0
- data/db/migrate/20260820000001_create_spree_order_groups.rb +33 -0
- data/db/migrate/20260820000002_add_order_group_to_spree_orders_and_payments.rb +14 -0
- data/db/migrate/20260820000003_create_spree_payment_splits.rb +21 -0
- data/db/migrate/20260820000004_add_order_to_spree_refunds.rb +32 -0
- data/db/migrate/20260821000001_add_claimed_amount_to_spree_payment_splits.rb +14 -0
- data/db/migrate/20260822000001_create_spree_seller_transfers.rb +94 -0
- data/db/migrate/20260822000002_create_spree_seller_payouts.rb +48 -0
- data/db/migrate/20260822000003_add_payout_account_to_spree_sellers.rb +11 -0
- data/db/migrate/20260824000001_add_store_to_spree_media.rb +16 -0
- data/db/migrate/20260825000001_create_spree_catalogs.rb +40 -0
- data/db/migrate/20260826000001_add_owner_to_spree_addresses.rb +30 -0
- data/db/migrate/20260826000002_create_spree_product_submissions.rb +28 -0
- data/db/migrate/20260827000001_add_seller_to_spree_exports.rb +5 -0
- data/db/migrate/20260828100001_unify_import_and_export_tenancy.rb +79 -0
- data/db/migrate/20260830000001_add_catalog_to_spree_price_lists.rb +47 -0
- data/db/migrate/20260830000002_add_po_number_to_purchases.rb +16 -0
- data/db/migrate/20260830000002_add_price_adjustment_to_spree_price_lists.rb +14 -0
- data/db/migrate/20260831000001_add_description_to_spree_catalogs.rb +7 -0
- data/db/migrate/20260831000002_add_quantity_rules_to_spree_variants.rb +18 -0
- data/db/migrate/20260831000003_create_spree_catalog_terms.rb +35 -0
- data/db/migrate/20260831100001_create_spree_package_types.rb +38 -0
- data/db/migrate/20260831100002_add_carton_details_to_spree_variants.rb +10 -0
- data/db/migrate/20260831100003_add_unpriced_to_spree_delivery_rates.rb +8 -0
- data/db/migrate/20260901000001_add_seller_to_spree_delivery_methods.rb +11 -0
- data/db/migrate/20260902000001_add_store_and_filter_key_to_custom_field_definitions.rb +143 -0
- data/db/migrate/20260902000002_add_eu_legal_compliance.rb +68 -0
- data/db/migrate/20260902000002_replace_order_cancellation_tables_with_cancel_columns.rb +88 -0
- data/db/migrate/20260902100001_rename_wished_items_to_wishlist_items.rb +8 -0
- data/db/migrate/20260902100002_rename_promo_total_to_discount_total.rb +9 -0
- data/db/migrate/20260902100003_rename_address_name_and_postal_code_columns.rb +24 -0
- data/db/migrate/20260902100004_rename_option_presentation_to_label.rb +13 -0
- data/db/migrate/20260903000001_create_spree_shipping_labels_and_deliveries.rb +73 -0
- data/db/migrate/20260903120000_create_spree_saved_reports.rb +57 -0
- data/db/migrate/20260904000001_add_returns_enabled_to_stock_locations.rb +14 -0
- data/db/migrate/20260906000001_add_commission_total_to_orders.rb +22 -0
- data/db/migrate/20260907000001_add_inventory_operations.rb +113 -0
- data/db/migrate/20260907000001_add_min_quantity_to_spree_prices.rb +28 -0
- data/db/migrate/20260907000002_create_spree_price_adjustment_tiers.rb +19 -0
- data/db/migrate/20260908000001_add_seller_to_spree_package_types.rb +78 -0
- data/db/migrate/20260910000001_add_stock_receipts.rb +44 -0
- data/db/migrate/20260910000002_add_counters_to_spree_stock_levels.rb +6 -0
- data/db/migrate/20260910120000_index_reporting_time_columns.rb +12 -0
- data/db/migrate/20260912120000_index_reporting_lifetime_and_promotion_columns.rb +19 -0
- data/db/migrate/20260914000001_add_settlement_to_spree_seller_transfers.rb +18 -0
- data/db/migrate/20260914230000_add_store_to_spree_option_types.rb +46 -0
- data/db/migrate/20260916000001_order_operation_actors_polymorphic.rb +30 -0
- data/db/sample_data/collections.rb +58 -0
- data/db/sample_data/custom_field_definitions.rb +9 -0
- data/db/sample_data/digital_products.rb +26 -0
- data/db/sample_data/fulfillment.rb +88 -0
- data/db/sample_data/options.rb +25 -1
- data/db/sample_data/orders.rb +53 -30
- data/db/sample_data/payment_methods.rb +2 -2
- data/db/sample_data/price_list_prices.csv +25 -0
- data/db/sample_data/product_type_categories.rb +27 -0
- data/db/sample_data/product_types.rb +83 -0
- data/db/sample_data/products.csv +39 -38
- data/db/sample_data/wholesale.rb +42 -3
- data/lib/generators/spree/api_resource/api_resource_generator.rb +64 -6
- data/lib/generators/spree/api_resource/templates/admin_controller.rb.tt +5 -0
- data/lib/generators/spree/api_resource/templates/admin_controller_spec.rb.tt +3 -0
- data/lib/generators/spree/api_resource/templates/store_controller_spec.rb.tt +4 -1
- data/lib/generators/spree/authentication/dummy/templates/create_spree_admin_users.rb.tt +1 -0
- data/lib/generators/spree/controller_decorator/controller_decorator_generator.rb +4 -4
- data/lib/generators/spree/dummy/dummy_generator.rb +5 -12
- data/lib/generators/spree/dummy/templates/rails/test.rb +5 -0
- data/lib/generators/spree/model/model_generator.rb +46 -7
- data/lib/generators/spree/model/templates/create_table_migration.rb.tt +9 -0
- data/lib/generators/spree/model/templates/model.rb.tt +17 -7
- data/lib/spree/category_permalink_deduplicator.rb +328 -0
- data/lib/spree/checkout/default_requirements.rb +134 -0
- data/lib/spree/checkout/registry.rb +164 -0
- data/lib/spree/checkout/requirement.rb +49 -0
- data/lib/spree/checkout/requirements.rb +61 -0
- data/lib/spree/checkout/step.rb +52 -0
- data/lib/spree/core/configuration.rb +112 -63
- data/lib/spree/core/controller_helpers/store.rb +8 -9
- data/lib/spree/core/dependencies.rb +324 -71
- data/lib/spree/core/dependencies_helper.rb +4 -0
- data/lib/spree/core/engine.rb +360 -75
- data/lib/spree/core/number_generator.rb +37 -33
- data/lib/spree/core/permission_configuration.rb +183 -91
- data/lib/spree/core/permissions/default_catalog.rb +236 -0
- data/lib/spree/core/permissions/entry.rb +15 -0
- data/lib/spree/core/permissions/scope.rb +76 -0
- data/lib/spree/core/preferences/masking.rb +24 -2
- data/lib/spree/core/preferences/preferable.rb +52 -2
- data/lib/spree/core/preferences/preferable_class_methods.rb +41 -2
- data/lib/spree/core/preferences/runtime_configuration.rb +142 -9
- data/lib/spree/core/previews/admin_user_preview.rb +0 -8
- data/lib/spree/core/previews/invitation_preview.rb +1 -1
- data/lib/spree/core/previews/preview_data.rb +2 -2
- data/lib/spree/core/previews/seller_user_preview.rb +14 -0
- data/lib/spree/core/pricing/context.rb +28 -8
- data/lib/spree/core/pricing/price_resolution.rb +150 -0
- data/lib/spree/core/pricing/resolver.rb +17 -107
- data/lib/spree/core/ransack_configuration.rb +3 -3
- data/lib/spree/core/routes.rb +4 -6
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/core.rb +446 -59
- data/lib/spree/events/adapters/base.rb +42 -15
- data/lib/spree/hooks.rb +146 -0
- data/lib/spree/iso_data.rb +188 -0
- data/lib/spree/measurement.rb +113 -0
- data/lib/spree/money.rb +70 -0
- data/lib/spree/number_generators/registry.rb +80 -0
- data/lib/spree/reporting/adapters/base.rb +71 -0
- data/lib/spree/reporting/adapters/live.rb +677 -0
- data/lib/spree/reporting/counter_result.rb +19 -0
- data/lib/spree/reporting/counters.rb +33 -0
- data/lib/spree/reporting/default_vocabulary.rb +705 -0
- data/lib/spree/reporting/hydration.rb +64 -0
- data/lib/spree/reporting/query.rb +487 -0
- data/lib/spree/reporting/registry.rb +294 -0
- data/lib/spree/reporting/result.rb +10 -0
- data/lib/spree/reporting/schema.rb +124 -0
- data/lib/spree/reporting.rb +49 -0
- data/lib/spree/service_module.rb +6 -0
- data/lib/spree/store_scope_guard.rb +180 -0
- data/lib/spree/testing_support/action_text.rb +33 -0
- data/lib/spree/testing_support/common_rake.rb +4 -66
- data/lib/spree/testing_support/country_pool.rb +50 -0
- data/lib/spree/testing_support/extension_rake.rb +2 -6
- data/lib/spree/testing_support/factories/address_factory.rb +45 -15
- data/lib/spree/testing_support/factories/api_key_factory.rb +1 -1
- data/lib/spree/testing_support/factories/calculator_factory.rb +0 -3
- data/lib/spree/testing_support/factories/cart_factory.rb +60 -0
- data/lib/spree/testing_support/factories/catalog_factory.rb +37 -0
- data/lib/spree/testing_support/factories/category_factory.rb +21 -0
- data/lib/spree/testing_support/factories/claim_factory.rb +33 -0
- data/lib/spree/testing_support/factories/classification_factory.rb +3 -2
- data/lib/spree/testing_support/factories/collection_factory.rb +25 -0
- data/lib/spree/testing_support/factories/collection_rule_factory.rb +47 -0
- data/lib/spree/testing_support/factories/commission_rate_factory.rb +75 -0
- data/lib/spree/testing_support/factories/company_factory.rb +31 -0
- data/lib/spree/testing_support/factories/consent_record_factory.rb +10 -0
- data/lib/spree/testing_support/factories/country_factory.rb +28 -9
- data/lib/spree/testing_support/factories/custom_field_definition_factory.rb +79 -0
- data/lib/spree/testing_support/factories/custom_field_factory.rb +64 -0
- data/lib/spree/testing_support/factories/customer_group_user_factory.rb +1 -1
- data/lib/spree/testing_support/factories/data_request_factory.rb +17 -0
- data/lib/spree/testing_support/factories/delivery_factory.rb +13 -0
- data/lib/spree/testing_support/factories/delivery_method_factory.rb +47 -0
- data/lib/spree/testing_support/factories/delivery_origin_group_factory.rb +5 -0
- data/lib/spree/testing_support/factories/delivery_profile_factory.rb +9 -0
- data/lib/spree/testing_support/factories/delivery_rate_factory.rb +7 -0
- data/lib/spree/testing_support/factories/delivery_zone_factory.rb +34 -0
- data/lib/spree/testing_support/factories/digital_asset_factory.rb +13 -0
- data/lib/spree/testing_support/factories/digital_link_factory.rb +1 -1
- data/lib/spree/testing_support/factories/discount_factory.rb +9 -0
- data/lib/spree/testing_support/factories/exchange_factory.rb +50 -0
- data/lib/spree/testing_support/factories/external_reference_factory.rb +8 -0
- data/lib/spree/testing_support/factories/fee_factory.rb +8 -0
- data/lib/spree/testing_support/factories/fulfillment_factory.rb +32 -0
- data/lib/spree/testing_support/factories/fulfillment_item_factory.rb +17 -0
- data/lib/spree/testing_support/factories/gateway_customer_factory.rb +1 -1
- data/lib/spree/testing_support/factories/gift_card_factory.rb +2 -2
- data/lib/spree/testing_support/factories/import_factory.rb +33 -1
- data/lib/spree/testing_support/factories/line_item_factory.rb +10 -5
- data/lib/spree/testing_support/factories/market_factory.rb +5 -12
- data/lib/spree/testing_support/factories/media_factory.rb +36 -0
- data/lib/spree/testing_support/factories/newsletter_subscriber_factory.rb +1 -1
- data/lib/spree/testing_support/factories/number_sequence_factory.rb +7 -0
- data/lib/spree/testing_support/factories/options_factory.rb +5 -5
- data/lib/spree/testing_support/factories/order_factory.rb +39 -23
- data/lib/spree/testing_support/factories/order_group_factory.rb +29 -0
- data/lib/spree/testing_support/factories/package_type_factory.rb +36 -0
- data/lib/spree/testing_support/factories/payment_factory.rb +7 -7
- data/lib/spree/testing_support/factories/payment_method_factory.rb +5 -5
- data/lib/spree/testing_support/factories/payment_session_factory.rb +10 -6
- data/lib/spree/testing_support/factories/payment_setup_session_factory.rb +2 -2
- data/lib/spree/testing_support/factories/payment_split_factory.rb +10 -0
- data/lib/spree/testing_support/factories/price_adjustment_tier_factory.rb +7 -0
- data/lib/spree/testing_support/factories/price_factory.rb +6 -0
- data/lib/spree/testing_support/factories/price_rule_factory.rb +0 -10
- data/lib/spree/testing_support/factories/product_collection_factory.rb +8 -0
- data/lib/spree/testing_support/factories/product_factory.rb +35 -7
- data/lib/spree/testing_support/factories/product_type_custom_field_definition_factory.rb +10 -0
- data/lib/spree/testing_support/factories/product_type_factory.rb +12 -0
- data/lib/spree/testing_support/factories/promotion_factory.rb +4 -0
- data/lib/spree/testing_support/factories/promotion_rule_factory.rb +1 -1
- data/lib/spree/testing_support/factories/purchase_order_factory.rb +49 -0
- data/lib/spree/testing_support/factories/refresh_token_factory.rb +2 -0
- data/lib/spree/testing_support/factories/refund_factory.rb +1 -2
- data/lib/spree/testing_support/factories/return_factory.rb +52 -0
- data/lib/spree/testing_support/factories/return_reason_factory.rb +19 -0
- data/lib/spree/testing_support/factories/role_factory.rb +1 -0
- data/lib/spree/testing_support/factories/saved_report_factory.rb +7 -0
- data/lib/spree/testing_support/factories/seller_factory.rb +34 -0
- data/lib/spree/testing_support/factories/seller_payout_factory.rb +14 -0
- data/lib/spree/testing_support/factories/seller_requirement_factory.rb +61 -0
- data/lib/spree/testing_support/factories/seller_requirement_submission_factory.rb +32 -0
- data/lib/spree/testing_support/factories/seller_transfer_factory.rb +21 -0
- data/lib/spree/testing_support/factories/shipping_label_factory.rb +44 -0
- data/lib/spree/testing_support/factories/state_factory.rb +18 -5
- data/lib/spree/testing_support/factories/stock_level_factory.rb +24 -0
- data/lib/spree/testing_support/factories/stock_location_factory.rb +12 -6
- data/lib/spree/testing_support/factories/stock_movement_factory.rb +20 -3
- data/lib/spree/testing_support/factories/stock_receipt_factory.rb +37 -0
- data/lib/spree/testing_support/factories/stock_reservation_factory.rb +11 -8
- data/lib/spree/testing_support/factories/stock_transfer_factory.rb +53 -6
- data/lib/spree/testing_support/factories/store_credit_factory.rb +1 -3
- data/lib/spree/testing_support/factories/supplier_factory.rb +17 -0
- data/lib/spree/testing_support/factories/tax_exemption_certificate_factory.rb +18 -0
- data/lib/spree/testing_support/factories/tax_identifier_factory.rb +33 -0
- data/lib/spree/testing_support/factories/tax_line_factory.rb +19 -0
- data/lib/spree/testing_support/factories/tax_rate_factory.rb +5 -2
- data/lib/spree/testing_support/factories/taxon_factory.rb +6 -23
- data/lib/spree/testing_support/factories/taxonomy_factory.rb +8 -0
- data/lib/spree/testing_support/factories/user_factory.rb +8 -13
- data/lib/spree/testing_support/factories/variant_factory.rb +1 -1
- data/lib/spree/testing_support/factories/wishlist_factory.rb +1 -1
- data/lib/spree/testing_support/factories/wishlist_item_factory.rb +10 -0
- data/lib/spree/testing_support/factories/zone_factory.rb +2 -25
- data/lib/spree/testing_support/factories/zone_member_factory.rb +2 -1
- data/lib/spree/testing_support/factories.rb +1 -6
- data/lib/spree/testing_support/imports.rb +16 -0
- data/lib/spree/testing_support/label_provider.rb +49 -0
- data/lib/spree/testing_support/lifecycle_events.rb +6 -1
- data/lib/spree/testing_support/metadata.rb +38 -36
- data/lib/spree/testing_support/order_walkthrough.rb +46 -36
- data/lib/spree/testing_support/preferences.rb +39 -0
- data/lib/spree/testing_support/purchase_order.rb +111 -0
- data/lib/spree/testing_support/store.rb +6 -2
- data/lib/spree/testing_support/tax_identifier_validators.rb +68 -0
- data/lib/spree/translations.rb +139 -5
- data/lib/spree/upgrades/5_4_to_5_5/manifest.yml +1 -1
- data/lib/spree/upgrades/5_5_to_5_6/manifest.yml +17 -9
- data/lib/spree/upgrades/5_6_to_6_0/manifest.yml +683 -0
- data/lib/spree/validators.rb +74 -0
- data/lib/spree/workflow.rb +335 -0
- data/lib/tasks/backfill_actor_types.rake +35 -0
- data/lib/tasks/backfill_custom_field_definition_stores.rake +82 -0
- data/lib/tasks/backfill_import_export_tenancy.rake +93 -0
- data/lib/tasks/backfill_library_media_placements.rake +29 -0
- data/lib/tasks/backfill_media_store_ids.rake +70 -0
- data/lib/tasks/backfill_reason_store_ids.rake +28 -0
- data/lib/tasks/capture_methods_migration.rake +30 -0
- data/lib/tasks/carts_migration.rake +113 -0
- data/lib/tasks/categories_and_collections.rake +188 -0
- data/lib/tasks/cli.rake +22 -3
- data/lib/tasks/consolidate_metadata.rake +73 -0
- data/lib/tasks/core.rake +1 -11
- data/lib/tasks/deliveries_migration.rake +52 -0
- data/lib/tasks/delivery_method_rules_migration.rake +51 -0
- data/lib/tasks/delivery_migration.rake +213 -0
- data/lib/tasks/delivery_profiles_migration.rake +109 -0
- data/lib/tasks/fold_store_credit_categories.rake +40 -0
- data/lib/tasks/fulfillment_statuses_migration.rake +59 -0
- data/lib/tasks/inventory_operations_migration.rake +223 -0
- data/lib/tasks/markets.rake +7 -2
- data/lib/tasks/media.rake +2 -2
- data/lib/tasks/media_class_rename.rake +56 -0
- data/lib/tasks/migrate_country_state_codes.rake +228 -0
- data/lib/tasks/migrate_promotion_option_value_rules.rake +124 -0
- data/lib/tasks/migrate_returns.rake +322 -0
- data/lib/tasks/migrate_rich_text_to_columns.rake +128 -0
- data/lib/tasks/migrate_users_to_customers.rake +161 -0
- data/lib/tasks/order_coupon_code_backfill.rake +32 -0
- data/lib/tasks/order_market_backfill.rake +27 -0
- data/lib/tasks/package_types.rake +62 -0
- data/lib/tasks/price_history.rake +49 -6
- data/lib/tasks/products.rake +21 -2
- data/lib/tasks/remove_master_variant.rake +58 -0
- data/lib/tasks/rich_text.rake +44 -0
- data/lib/tasks/seller_sample_data.rake +142 -0
- data/lib/tasks/setup.rake +18 -0
- data/lib/tasks/single_store_associations.rake +11 -0
- data/lib/tasks/stock.rake +15 -0
- data/lib/tasks/store_binding_migration.rake +33 -0
- data/lib/tasks/store_settings.rake +105 -0
- data/lib/tasks/tax_zones_migration.rake +147 -0
- data/lib/tasks/taxons.rake +9 -10
- data/lib/tasks/typed_adjustments_migration.rake +189 -0
- data/lib/tasks/typed_stock_movements_migration.rake +250 -0
- data/lib/tasks/upgrade.rake +13 -8
- data/spec/fixtures/files/eu_vat_numbers.txt +56 -0
- data/spec/fixtures/files/price_list_prices_import.csv +4 -0
- data/spec/fixtures/files/products_import.csv +1 -1
- data/spec/fixtures/tiny-video.mp4 +0 -0
- metadata +798 -546
- data/app/assets/config/spree_core_manifest.js +0 -4
- data/app/assets/images/google_on_white_hdpi.png +0 -0
- data/app/assets/images/logo.png +0 -0
- data/app/assets/images/payment_icons/ach.svg +0 -1
- data/app/assets/images/payment_icons/achdirectdebit.svg +0 -1
- data/app/assets/images/payment_icons/ada.svg +0 -1
- data/app/assets/images/payment_icons/adyen.svg +0 -1
- data/app/assets/images/payment_icons/affinbank.svg +0 -1
- data/app/assets/images/payment_icons/affirm.svg +0 -1
- data/app/assets/images/payment_icons/afterpay.svg +0 -1
- data/app/assets/images/payment_icons/airtel_money.svg +0 -1
- data/app/assets/images/payment_icons/airteltigo_mobile_money.svg +0 -1
- data/app/assets/images/payment_icons/alandsbanken.svg +0 -1
- data/app/assets/images/payment_icons/alipay.svg +0 -1
- data/app/assets/images/payment_icons/alipay_hk.svg +0 -1
- data/app/assets/images/payment_icons/alliancebank.svg +0 -1
- data/app/assets/images/payment_icons/alma.svg +0 -1
- data/app/assets/images/payment_icons/amazon.svg +0 -1
- data/app/assets/images/payment_icons/ambank.svg +0 -1
- data/app/assets/images/payment_icons/american_express.svg +0 -1
- data/app/assets/images/payment_icons/apecoin.svg +0 -1
- data/app/assets/images/payment_icons/apple_pay.svg +0 -1
- data/app/assets/images/payment_icons/arbitrum.svg +0 -1
- data/app/assets/images/payment_icons/atome.svg +0 -1
- data/app/assets/images/payment_icons/authorizenet.svg +0 -1
- data/app/assets/images/payment_icons/avalanche.svg +0 -1
- data/app/assets/images/payment_icons/bacs.svg +0 -1
- data/app/assets/images/payment_icons/bancontact.svg +0 -1
- data/app/assets/images/payment_icons/bangkokbank.svg +0 -1
- data/app/assets/images/payment_icons/bankislam.svg +0 -1
- data/app/assets/images/payment_icons/bankmuamalat.svg +0 -1
- data/app/assets/images/payment_icons/bankofamerica.svg +0 -1
- data/app/assets/images/payment_icons/bankrakyat.svg +0 -1
- data/app/assets/images/payment_icons/banktransfer.svg +0 -1
- data/app/assets/images/payment_icons/base.svg +0 -1
- data/app/assets/images/payment_icons/becs.svg +0 -1
- data/app/assets/images/payment_icons/benefit.svg +0 -1
- data/app/assets/images/payment_icons/billie.svg +0 -1
- data/app/assets/images/payment_icons/bitcoin.svg +0 -1
- data/app/assets/images/payment_icons/bitcoin_cash.svg +0 -1
- data/app/assets/images/payment_icons/bizum.svg +0 -1
- data/app/assets/images/payment_icons/blik.svg +0 -1
- data/app/assets/images/payment_icons/bnbchain.svg +0 -1
- data/app/assets/images/payment_icons/bogus.svg +0 -1
- data/app/assets/images/payment_icons/bogus_app_coin.svg +0 -1
- data/app/assets/images/payment_icons/boleto.svg +0 -1
- data/app/assets/images/payment_icons/boost.svg +0 -1
- data/app/assets/images/payment_icons/braintree.svg +0 -1
- data/app/assets/images/payment_icons/buckaroopaybybank.svg +0 -1
- data/app/assets/images/payment_icons/busd.svg +0 -1
- data/app/assets/images/payment_icons/cartes_bancaires.svg +0 -1
- data/app/assets/images/payment_icons/cash.svg +0 -1
- data/app/assets/images/payment_icons/cashappafterpay.svg +0 -1
- data/app/assets/images/payment_icons/cashapppay.svg +0 -1
- data/app/assets/images/payment_icons/checkout_finance.svg +0 -1
- data/app/assets/images/payment_icons/chinabank.svg +0 -1
- data/app/assets/images/payment_icons/clearpay.svg +0 -1
- data/app/assets/images/payment_icons/collector_bank.svg +0 -1
- data/app/assets/images/payment_icons/dai.svg +0 -1
- data/app/assets/images/payment_icons/dana.svg +0 -1
- data/app/assets/images/payment_icons/dankort.svg +0 -1
- data/app/assets/images/payment_icons/danske_bank.svg +0 -1
- data/app/assets/images/payment_icons/deutschebank.svg +0 -1
- data/app/assets/images/payment_icons/diners_club.svg +0 -1
- data/app/assets/images/payment_icons/directbanktransferlatinamerica.svg +0 -1
- data/app/assets/images/payment_icons/discover.svg +0 -1
- data/app/assets/images/payment_icons/dogecoin.svg +0 -1
- data/app/assets/images/payment_icons/duitnow.svg +0 -1
- data/app/assets/images/payment_icons/eft_secure.svg +0 -1
- data/app/assets/images/payment_icons/eftpos_au.svg +0 -1
- data/app/assets/images/payment_icons/eftposau.svg +0 -1
- data/app/assets/images/payment_icons/elo.svg +0 -1
- data/app/assets/images/payment_icons/eos.svg +0 -1
- data/app/assets/images/payment_icons/eps.svg +0 -1
- data/app/assets/images/payment_icons/ethereum.svg +0 -1
- data/app/assets/images/payment_icons/eurobonuscheckout.svg +0 -1
- data/app/assets/images/payment_icons/ezcash.svg +0 -1
- data/app/assets/images/payment_icons/fantom.svg +0 -1
- data/app/assets/images/payment_icons/fpx.svg +0 -1
- data/app/assets/images/payment_icons/gcash.svg +0 -1
- data/app/assets/images/payment_icons/generic.svg +0 -1
- data/app/assets/images/payment_icons/genericbank.svg +0 -1
- data/app/assets/images/payment_icons/gift-card.svg +0 -1
- data/app/assets/images/payment_icons/giropay.svg +0 -1
- data/app/assets/images/payment_icons/glbepaypal.svg +0 -1
- data/app/assets/images/payment_icons/gmobanktransfer.svg +0 -1
- data/app/assets/images/payment_icons/gnosis.svg +0 -1
- data/app/assets/images/payment_icons/google_pay.svg +0 -1
- data/app/assets/images/payment_icons/google_wallet.svg +0 -1
- data/app/assets/images/payment_icons/gopay.svg +0 -1
- data/app/assets/images/payment_icons/grabpay.svg +0 -1
- data/app/assets/images/payment_icons/gusd.svg +0 -1
- data/app/assets/images/payment_icons/handelsbanken.svg +0 -1
- data/app/assets/images/payment_icons/hongleongbank.svg +0 -1
- data/app/assets/images/payment_icons/hypercard.svg +0 -1
- data/app/assets/images/payment_icons/hypercash.svg +0 -1
- data/app/assets/images/payment_icons/ideal.svg +0 -1
- data/app/assets/images/payment_icons/in3viaideal.svg +0 -1
- data/app/assets/images/payment_icons/inbank.svg +0 -1
- data/app/assets/images/payment_icons/jcb.svg +0 -1
- data/app/assets/images/payment_icons/kakao_pay.svg +0 -1
- data/app/assets/images/payment_icons/kasikornbank.svg +0 -1
- data/app/assets/images/payment_icons/klarna-pay-later.svg +0 -1
- data/app/assets/images/payment_icons/klarna-pay-now.svg +0 -1
- data/app/assets/images/payment_icons/klarna-slice-it.svg +0 -1
- data/app/assets/images/payment_icons/klarna.svg +0 -1
- data/app/assets/images/payment_icons/knet.svg +0 -1
- data/app/assets/images/payment_icons/krungthaibank.svg +0 -1
- data/app/assets/images/payment_icons/landbank.svg +0 -1
- data/app/assets/images/payment_icons/laybuybyklarna.svg +0 -1
- data/app/assets/images/payment_icons/litecoin.svg +0 -1
- data/app/assets/images/payment_icons/lunchcheck.svg +0 -1
- data/app/assets/images/payment_icons/mach.svg +0 -1
- data/app/assets/images/payment_icons/mada.svg +0 -1
- data/app/assets/images/payment_icons/maestro.svg +0 -1
- data/app/assets/images/payment_icons/master.svg +0 -1
- data/app/assets/images/payment_icons/mayabank.svg +0 -1
- data/app/assets/images/payment_icons/maybank.svg +0 -1
- data/app/assets/images/payment_icons/maybankm2u.svg +0 -1
- data/app/assets/images/payment_icons/maybankqrpay.svg +0 -1
- data/app/assets/images/payment_icons/mbway.svg +0 -1
- data/app/assets/images/payment_icons/mcash.svg +0 -1
- data/app/assets/images/payment_icons/medicinosbankas.svg +0 -1
- data/app/assets/images/payment_icons/mercadopago.svg +0 -1
- data/app/assets/images/payment_icons/metrobank.svg +0 -1
- data/app/assets/images/payment_icons/mobilepay.svg +0 -1
- data/app/assets/images/payment_icons/momopay.svg +0 -1
- data/app/assets/images/payment_icons/monero.svg +0 -1
- data/app/assets/images/payment_icons/mtn_mobile_money.svg +0 -1
- data/app/assets/images/payment_icons/mybank.svg +0 -1
- data/app/assets/images/payment_icons/naver_pay.svg +0 -1
- data/app/assets/images/payment_icons/nelo.svg +0 -1
- data/app/assets/images/payment_icons/netbanking.svg +0 -1
- data/app/assets/images/payment_icons/novalnetdirectdebitach.svg +0 -1
- data/app/assets/images/payment_icons/nubank.svg +0 -1
- data/app/assets/images/payment_icons/ocbcbank.svg +0 -1
- data/app/assets/images/payment_icons/offlinebanktransferlatinamerica.svg +0 -1
- data/app/assets/images/payment_icons/ola_money.svg +0 -1
- data/app/assets/images/payment_icons/oney.svg +0 -1
- data/app/assets/images/payment_icons/onlinebanking.svg +0 -1
- data/app/assets/images/payment_icons/onlinebanktransfer.svg +0 -1
- data/app/assets/images/payment_icons/orangemobilemoney.svg +0 -1
- data/app/assets/images/payment_icons/otpbank.svg +0 -1
- data/app/assets/images/payment_icons/oxxo.svg +0 -1
- data/app/assets/images/payment_icons/paybybank.svg +0 -1
- data/app/assets/images/payment_icons/paybybankmollie.svg +0 -1
- data/app/assets/images/payment_icons/paybybankus.svg +0 -1
- data/app/assets/images/payment_icons/paycash.svg +0 -1
- data/app/assets/images/payment_icons/payco.svg +0 -1
- data/app/assets/images/payment_icons/payeverpaybybank.svg +0 -1
- data/app/assets/images/payment_icons/payme.svg +0 -1
- data/app/assets/images/payment_icons/paynow.svg +0 -1
- data/app/assets/images/payment_icons/paynowmbank.svg +0 -1
- data/app/assets/images/payment_icons/paypal.svg +0 -1
- data/app/assets/images/payment_icons/paypo.svg +0 -1
- data/app/assets/images/payment_icons/payrexxbanktransfer.svg +0 -1
- data/app/assets/images/payment_icons/payrexxpaybybank.svg +0 -1
- data/app/assets/images/payment_icons/paysafecash.svg +0 -1
- data/app/assets/images/payment_icons/pix.svg +0 -1
- data/app/assets/images/payment_icons/polygon.svg +0 -1
- data/app/assets/images/payment_icons/przelewy24.svg +0 -1
- data/app/assets/images/payment_icons/publicbank.svg +0 -1
- data/app/assets/images/payment_icons/publicbank_pbe.svg +0 -1
- data/app/assets/images/payment_icons/qr_promptpay.svg +0 -1
- data/app/assets/images/payment_icons/rabobank.svg +0 -1
- data/app/assets/images/payment_icons/revolut.svg +0 -1
- data/app/assets/images/payment_icons/rhbbank.svg +0 -1
- data/app/assets/images/payment_icons/riverty.svg +0 -1
- data/app/assets/images/payment_icons/safetypaybanktransfer.svg +0 -1
- data/app/assets/images/payment_icons/samsung_pay.svg +0 -1
- data/app/assets/images/payment_icons/satispay.svg +0 -1
- data/app/assets/images/payment_icons/scalapay.svg +0 -1
- data/app/assets/images/payment_icons/scotiabank.svg +0 -1
- data/app/assets/images/payment_icons/seabankid.svg +0 -1
- data/app/assets/images/payment_icons/seabankph.svg +0 -1
- data/app/assets/images/payment_icons/sepa_bank_transfer.svg +0 -1
- data/app/assets/images/payment_icons/sepadebit.svg +0 -22
- data/app/assets/images/payment_icons/sepadirectdebit.svg +0 -1
- data/app/assets/images/payment_icons/seveneleven.svg +0 -1
- data/app/assets/images/payment_icons/shib.svg +0 -1
- data/app/assets/images/payment_icons/shopcash.svg +0 -1
- data/app/assets/images/payment_icons/siauliubankas.svg +0 -1
- data/app/assets/images/payment_icons/skeps.svg +0 -1
- data/app/assets/images/payment_icons/snap_checkout.svg +0 -1
- data/app/assets/images/payment_icons/sofort.svg +0 -1
- data/app/assets/images/payment_icons/softbank.svg +0 -1
- data/app/assets/images/payment_icons/spei.svg +0 -1
- data/app/assets/images/payment_icons/storecredit.svg +0 -1
- data/app/assets/images/payment_icons/stripe.svg +0 -1
- data/app/assets/images/payment_icons/sveacheckout.svg +0 -1
- data/app/assets/images/payment_icons/swedbank.svg +0 -1
- data/app/assets/images/payment_icons/swish.svg +0 -1
- data/app/assets/images/payment_icons/tbibank.svg +0 -1
- data/app/assets/images/payment_icons/thanachartbank.svg +0 -1
- data/app/assets/images/payment_icons/tnmmoney.svg +0 -1
- data/app/assets/images/payment_icons/touchngo.svg +0 -1
- data/app/assets/images/payment_icons/trustly.svg +0 -1
- data/app/assets/images/payment_icons/twint.svg +0 -1
- data/app/assets/images/payment_icons/uaevisa.svg +0 -1
- data/app/assets/images/payment_icons/unionpay.svg +0 -1
- data/app/assets/images/payment_icons/unzerbanktransfer.svg +0 -1
- data/app/assets/images/payment_icons/upi.svg +0 -1
- data/app/assets/images/payment_icons/usbank.svg +0 -1
- data/app/assets/images/payment_icons/usdc.svg +0 -1
- data/app/assets/images/payment_icons/usdt.svg +0 -1
- data/app/assets/images/payment_icons/venmo.svg +0 -1
- data/app/assets/images/payment_icons/vipps.svg +0 -1
- data/app/assets/images/payment_icons/visa.svg +0 -1
- data/app/assets/images/payment_icons/volksbank.svg +0 -1
- data/app/assets/images/payment_icons/waavepaybybank.svg +0 -1
- data/app/assets/images/payment_icons/walley.svg +0 -1
- data/app/assets/images/payment_icons/wbtc.svg +0 -1
- data/app/assets/images/payment_icons/wechatpay.svg +0 -1
- data/app/assets/images/payment_icons/whishcheckout.svg +0 -1
- data/app/assets/images/payment_icons/wingbank.svg +0 -1
- data/app/assets/images/payment_icons/xrp.svg +0 -1
- data/app/assets/images/payment_icons/zip.svg +0 -1
- data/app/controllers/spree/base_controller.rb +0 -11
- data/app/finders/concerns/spree/product_filterable.rb +0 -9
- data/app/finders/spree/addresses/find.rb +0 -27
- data/app/finders/spree/base_finder.rb +0 -14
- data/app/finders/spree/countries/find.rb +0 -31
- data/app/finders/spree/credit_cards/find.rb +0 -12
- data/app/finders/spree/option_values/find_available.rb +0 -28
- data/app/finders/spree/orders/find_complete.rb +0 -114
- data/app/finders/spree/orders/find_current.rb +0 -24
- data/app/finders/spree/orders/finder_helper.rb +0 -17
- data/app/finders/spree/products/find.rb +0 -328
- data/app/finders/spree/taxons/find.rb +0 -99
- data/app/finders/spree/variants/find.rb +0 -30
- data/app/finders/spree/variants/option_types_finder.rb +0 -21
- data/app/helpers/spree/addresses_helper.rb +0 -97
- data/app/helpers/spree/base_helper.rb +0 -132
- data/app/helpers/spree/currency_helper.rb +0 -46
- data/app/helpers/spree/integrations_helper.rb +0 -15
- data/app/helpers/spree/locale_helper.rb +0 -44
- data/app/helpers/spree/localized_names_helper.rb +0 -25
- data/app/helpers/spree/products_helper.rb +0 -147
- data/app/helpers/spree/shipment_helper.rb +0 -12
- data/app/javascript/spree/core/controllers/address_autocomplete_controller.js +0 -230
- data/app/javascript/spree/core/controllers/address_form_controller.js +0 -98
- data/app/javascript/spree/core/controllers/disable_submit_button_controller.js +0 -19
- data/app/javascript/spree/core/controllers/enable_button_controller.js +0 -29
- data/app/javascript/spree/core/helpers/address_autocomplete/google_places_suggestions_provider.js +0 -161
- data/app/javascript/spree/core/helpers/debounce.js +0 -9
- data/app/javascript/spree/core/helpers/scroll_lock.js +0 -25
- data/app/jobs/spree/media/migrate_product_assets_job.rb +0 -83
- data/app/jobs/spree/reports/generate_job.rb +0 -23
- data/app/mailers/spree/report_mailer.rb +0 -20
- data/app/models/concerns/spree/adjustment_source.rb +0 -58
- data/app/models/concerns/spree/default_price.rb +0 -138
- data/app/models/concerns/spree/display_on.rb +0 -50
- data/app/models/concerns/spree/image_methods.rb +0 -40
- data/app/models/concerns/spree/legacy_multi_store_support.rb +0 -48
- data/app/models/concerns/spree/metafield_filterable.rb +0 -162
- data/app/models/concerns/spree/metafields.rb +0 -256
- data/app/models/concerns/spree/number_as_param.rb +0 -13
- data/app/models/concerns/spree/store_scoped_resource.rb +0 -37
- data/app/models/concerns/spree/unique_name.rb +0 -12
- data/app/models/spree/adjustable/adjuster/base.rb +0 -25
- data/app/models/spree/adjustable/adjuster/promotion.rb +0 -41
- data/app/models/spree/adjustable/adjuster/tax.rb +0 -26
- data/app/models/spree/adjustable/adjustments_updater.rb +0 -74
- data/app/models/spree/adjustable/promotion_accumulator.rb +0 -78
- data/app/models/spree/adjustment.rb +0 -130
- data/app/models/spree/asset/support/active_storage.rb +0 -26
- data/app/models/spree/calculator/default_tax.rb +0 -87
- data/app/models/spree/calculator/returns/default_refund_amount.rb +0 -40
- data/app/models/spree/checkout/default_requirements.rb +0 -51
- data/app/models/spree/checkout/registry.rb +0 -112
- data/app/models/spree/checkout/requirement.rb +0 -49
- data/app/models/spree/checkout/requirements.rb +0 -56
- data/app/models/spree/checkout/step.rb +0 -52
- data/app/models/spree/customer_return.rb +0 -94
- data/app/models/spree/image/configuration/active_storage.rb +0 -11
- data/app/models/spree/image.rb +0 -6
- data/app/models/spree/legacy_admin_user.rb +0 -31
- data/app/models/spree/legacy_user.rb +0 -33
- data/app/models/spree/log_entry.rb +0 -30
- data/app/models/spree/metafield_definition/search_capabilities.rb +0 -104
- data/app/models/spree/metafields/boolean.rb +0 -15
- data/app/models/spree/metafields/json.rb +0 -37
- data/app/models/spree/metafields/long_text.rb +0 -11
- data/app/models/spree/metafields/number.rb +0 -23
- data/app/models/spree/metafields/rich_text.rb +0 -18
- data/app/models/spree/metafields/short_text.rb +0 -15
- data/app/models/spree/option_type_prototype.rb +0 -9
- data/app/models/spree/order/address_book.rb +0 -100
- data/app/models/spree/order/checkout.rb +0 -350
- data/app/models/spree/order/currency_updater.rb +0 -37
- data/app/models/spree/order/digital.rb +0 -60
- data/app/models/spree/order/gift_card.rb +0 -71
- data/app/models/spree/order/payments.rb +0 -64
- data/app/models/spree/order/store_credit.rb +0 -110
- data/app/models/spree/order/webhooks.rb +0 -19
- data/app/models/spree/order_approval.rb +0 -19
- data/app/models/spree/order_cancellation.rb +0 -19
- data/app/models/spree/order_contents.rb +0 -31
- data/app/models/spree/order_routing/strategy/legacy.rb +0 -33
- data/app/models/spree/payment/webhooks.rb +0 -15
- data/app/models/spree/permission_sets/base.rb +0 -81
- data/app/models/spree/permission_sets/configuration_management.rb +0 -64
- data/app/models/spree/permission_sets/dashboard_display.rb +0 -17
- data/app/models/spree/permission_sets/default_customer.rb +0 -83
- data/app/models/spree/permission_sets/order_display.rb +0 -27
- data/app/models/spree/permission_sets/order_management.rb +0 -33
- data/app/models/spree/permission_sets/product_display.rb +0 -27
- data/app/models/spree/permission_sets/product_management.rb +0 -28
- data/app/models/spree/permission_sets/promotion_management.rb +0 -22
- data/app/models/spree/permission_sets/role_management.rb +0 -21
- data/app/models/spree/permission_sets/stock_display.rb +0 -19
- data/app/models/spree/permission_sets/stock_management.rb +0 -19
- data/app/models/spree/permission_sets/super_user.rb +0 -28
- data/app/models/spree/permission_sets/user_display.rb +0 -19
- data/app/models/spree/permission_sets/user_management.rb +0 -20
- data/app/models/spree/product/webhooks.rb +0 -17
- data/app/models/spree/prototype_taxon.rb +0 -9
- data/app/models/spree/reimbursement/credit.rb +0 -27
- data/app/models/spree/reimbursement/reimbursement_type_engine.rb +0 -44
- data/app/models/spree/reimbursement/reimbursement_type_validator.rb +0 -15
- data/app/models/spree/reimbursement.rb +0 -167
- data/app/models/spree/reimbursement_performer.rb +0 -34
- data/app/models/spree/reimbursement_tax_calculator.rb +0 -37
- data/app/models/spree/reimbursement_type/credit.rb +0 -13
- data/app/models/spree/reimbursement_type/exchange.rb +0 -9
- data/app/models/spree/reimbursement_type/original_payment.rb +0 -13
- data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +0 -64
- data/app/models/spree/reimbursement_type/store_credit.rb +0 -20
- data/app/models/spree/reimbursement_type.rb +0 -22
- data/app/models/spree/report.rb +0 -140
- data/app/models/spree/report_line_item.rb +0 -27
- data/app/models/spree/report_line_items/products_performance.rb +0 -76
- data/app/models/spree/report_line_items/sales_total.rb +0 -49
- data/app/models/spree/reports/products_performance.rb +0 -44
- data/app/models/spree/reports/sales_total.rb +0 -18
- data/app/models/spree/return_authorization.rb +0 -109
- data/app/models/spree/return_item/eligibility_validator/base_validator.rb +0 -24
- data/app/models/spree/return_item/eligibility_validator/default.rb +0 -30
- data/app/models/spree/return_item/eligibility_validator/inventory_shipped.rb +0 -16
- data/app/models/spree/return_item/eligibility_validator/no_reimbursements.rb +0 -16
- data/app/models/spree/return_item/eligibility_validator/order_completed.rb +0 -16
- data/app/models/spree/return_item/eligibility_validator/rma_required.rb +0 -16
- data/app/models/spree/return_item/eligibility_validator/time_since_purchase.rb +0 -16
- data/app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb +0 -34
- data/app/models/spree/return_item/exchange_variant_eligibility/same_product.rb +0 -9
- data/app/models/spree/return_item.rb +0 -287
- data/app/models/spree/returns_calculator.rb +0 -7
- data/app/models/spree/search_provider/meilisearch.rb +0 -551
- data/app/models/spree/shipment/custom_events.rb +0 -47
- data/app/models/spree/shipment/webhooks.rb +0 -11
- data/app/models/spree/shipment_handler.rb +0 -38
- data/app/models/spree/shipping_category.rb +0 -25
- data/app/models/spree/shipping_method_category.rb +0 -8
- data/app/models/spree/shipping_method_zone.rb +0 -8
- data/app/models/spree/state_change.rb +0 -12
- data/app/models/spree/stock/splitter/digital.rb +0 -35
- data/app/models/spree/stock/splitter/shipping_category.rb +0 -31
- data/app/models/spree/stock_item/webhooks.rb +0 -6
- data/app/models/spree/stock_movement/webhooks.rb +0 -6
- data/app/models/spree/variant/webhooks.rb +0 -6
- data/app/presenters/spree/csv/metafields_helper.rb +0 -17
- data/app/presenters/spree/search_provider/product_presenter.rb +0 -158
- data/app/presenters/spree/variant_presenter.rb +0 -81
- data/app/presenters/spree/variants/option_types_presenter.rb +0 -87
- data/app/services/spree/account/addresses/create.rb +0 -8
- data/app/services/spree/account/addresses/update.rb +0 -8
- data/app/services/spree/account/create.rb +0 -17
- data/app/services/spree/account/update.rb +0 -15
- data/app/services/spree/cart/add_item.rb +0 -63
- data/app/services/spree/cart/associate.rb +0 -29
- data/app/services/spree/cart/change_currency.rb +0 -27
- data/app/services/spree/cart/create.rb +0 -26
- data/app/services/spree/cart/destroy.rb +0 -50
- data/app/services/spree/cart/empty.rb +0 -38
- data/app/services/spree/cart/estimate_shipping_rates.rb +0 -39
- data/app/services/spree/cart/recalculate.rb +0 -35
- data/app/services/spree/cart/remove_item.rb +0 -39
- data/app/services/spree/cart/remove_line_item.rb +0 -28
- data/app/services/spree/cart/remove_out_of_stock_items.rb +0 -65
- data/app/services/spree/cart/set_quantity.rb +0 -32
- data/app/services/spree/cart/update.rb +0 -37
- data/app/services/spree/carts/complete.rb +0 -50
- data/app/services/spree/carts/upsert_items.rb +0 -76
- data/app/services/spree/checkout/complete.rb +0 -23
- data/app/services/spree/checkout/get_shipping_rates.rb +0 -52
- data/app/services/spree/checkout/next.rb +0 -13
- data/app/services/spree/checkout/select_shipping_method.rb +0 -63
- data/app/services/spree/checkout/update.rb +0 -72
- data/app/services/spree/credit_cards/destroy.rb +0 -25
- data/app/services/spree/fulfillments/create.rb +0 -259
- data/app/services/spree/gift_cards/apply.rb +0 -78
- data/app/services/spree/gift_cards/redeem.rb +0 -17
- data/app/services/spree/gift_cards/remove.rb +0 -39
- data/app/services/spree/line_items/create.rb +0 -20
- data/app/services/spree/line_items/destroy.rb +0 -18
- data/app/services/spree/line_items/helper.rb +0 -11
- data/app/services/spree/line_items/update.rb +0 -17
- data/app/services/spree/orders/build_shipments.rb +0 -29
- data/app/services/spree/orders/cancel.rb +0 -54
- data/app/services/spree/orders/complete.rb +0 -53
- data/app/services/spree/orders/update_contact_information.rb +0 -19
- data/app/services/spree/orders/upsert_items.rb +0 -70
- data/app/services/spree/payments/handle_webhook.rb +0 -57
- data/app/services/spree/search_provider/metafield_schema.rb +0 -144
- data/app/services/spree/seeds/countries.rb +0 -35
- data/app/services/spree/seeds/default_reimbursement_types.rb +0 -12
- data/app/services/spree/seeds/shipping_categories.rb +0 -12
- data/app/services/spree/seeds/states.rb +0 -82
- data/app/services/spree/seeds/stock_locations.rb +0 -18
- data/app/services/spree/seeds/store_credit_categories.rb +0 -14
- data/app/services/spree/seeds/zones.rb +0 -52
- data/app/services/spree/shipments/add_item.rb +0 -32
- data/app/services/spree/shipments/change_state.rb +0 -14
- data/app/services/spree/shipments/create.rb +0 -48
- data/app/services/spree/shipments/helper.rb +0 -23
- data/app/services/spree/shipments/remove_item.rb +0 -55
- data/app/services/spree/stores/settings_defaults_by_country.rb +0 -38
- data/app/services/spree/themes/duplicator.rb +0 -40
- data/app/sorters/spree/base_sorter.rb +0 -47
- data/app/sorters/spree/classifications/sort.rb +0 -68
- data/app/sorters/spree/products/sort.rb +0 -73
- data/app/subscribers/spree/report_subscriber.rb +0 -26
- data/app/views/spree/addresses/_form.html.erb +0 -59
- data/app/views/spree/addresses/_suggestions_box.erb +0 -14
- data/app/views/spree/admin_user_mailer/confirmation_email.html.erb +0 -7
- data/app/views/spree/report_mailer/report_done.html.erb +0 -7
- data/app/views/spree/shared/_google_places_api_loader.html.erb +0 -7
- data/app/views/spree/shared/_mailer_line_item.html.erb +0 -12
- data/app/views/spree/shared/_payment.html.erb +0 -52
- data/config/importmap.rb +0 -15
- data/config/initializers/carmen.rb +0 -23
- data/config/initializers/rails61_fixes.rb +0 -1
- data/db/migrate/20250120152208_add_default_locale_to_action_text_rich_texts.rb +0 -7
- data/db/migrate/20250122113708_add_first_and_last_name_to_spree_admin_class.rb +0 -9
- data/db/migrate/20250204162453_create_spree_reports.rb +0 -13
- data/db/migrate/20250217171018_create_action_text_video_embeds.rb +0 -11
- data/db/migrate/20250508060800_add_selected_locale_to_spree_admin_users.rb +0 -8
- data/db/migrate/20260429000001_create_spree_order_cancellations.rb +0 -25
- data/db/migrate/20260429000002_create_spree_order_approvals.rb +0 -22
- data/db/sample_data/markets.rb +0 -64
- data/db/sample_data/metafield_definitions.rb +0 -7
- data/db/sample_data/shipping_methods.rb +0 -61
- data/lib/generators/spree/authentication/custom/custom_generator.rb +0 -49
- data/lib/generators/spree/authentication/custom/templates/authentication_helpers.rb.tt +0 -50
- data/lib/generators/spree/authentication/devise/devise_generator.rb +0 -84
- data/lib/generators/spree/authentication/devise/templates/authentication_helpers.rb.tt +0 -50
- data/lib/generators/spree/dummy/templates/app/assets/config/manifest.js +0 -0
- data/lib/spree/core/components.rb +0 -31
- data/lib/spree/core/controller_helpers/auth.rb +0 -52
- data/lib/spree/core/controller_helpers/currency.rb +0 -59
- data/lib/spree/core/controller_helpers/locale.rb +0 -99
- data/lib/spree/core/controller_helpers/order.rb +0 -172
- data/lib/spree/core/controller_helpers/strong_parameters.rb +0 -48
- data/lib/spree/core/controller_helpers/turbo.rb +0 -19
- data/lib/spree/core/partials.rb +0 -42
- data/lib/spree/core/previews/report_preview.rb +0 -40
- data/lib/spree/permitted_attributes.rb +0 -337
- data/lib/spree/testing_support/authorization_helpers.rb +0 -72
- data/lib/spree/testing_support/caching.rb +0 -47
- data/lib/spree/testing_support/capybara_config.rb +0 -45
- data/lib/spree/testing_support/capybara_ext.rb +0 -83
- data/lib/spree/testing_support/controller_requests.rb +0 -11
- data/lib/spree/testing_support/factories/adjustment_factory.rb +0 -28
- data/lib/spree/testing_support/factories/asset_factory.rb +0 -12
- data/lib/spree/testing_support/factories/customer_return_factory.rb +0 -36
- data/lib/spree/testing_support/factories/digital_factory.rb +0 -10
- data/lib/spree/testing_support/factories/image_factory.rb +0 -11
- data/lib/spree/testing_support/factories/inventory_unit_factory.rb +0 -18
- data/lib/spree/testing_support/factories/log_entry_factory.rb +0 -6
- data/lib/spree/testing_support/factories/metafield_definition_factory.rb +0 -82
- data/lib/spree/testing_support/factories/metafield_factory.rb +0 -68
- data/lib/spree/testing_support/factories/prototype_factory.rb +0 -9
- data/lib/spree/testing_support/factories/reimbursement_credit_factory.rb +0 -7
- data/lib/spree/testing_support/factories/reimbursement_factory.rb +0 -16
- data/lib/spree/testing_support/factories/reimbursement_type_factory.rb +0 -7
- data/lib/spree/testing_support/factories/report_factory.rb +0 -33
- data/lib/spree/testing_support/factories/return_authorization_factory.rb +0 -21
- data/lib/spree/testing_support/factories/return_item_factory.rb +0 -14
- data/lib/spree/testing_support/factories/shipment_factory.rb +0 -21
- data/lib/spree/testing_support/factories/shipping_category_factory.rb +0 -9
- data/lib/spree/testing_support/factories/shipping_method_factory.rb +0 -31
- data/lib/spree/testing_support/factories/shipping_rate_factory.rb +0 -7
- data/lib/spree/testing_support/factories/state_change_factory.rb +0 -8
- data/lib/spree/testing_support/factories/stock_item_factory.rb +0 -22
- data/lib/spree/testing_support/factories/store_credit_category_factory.rb +0 -9
- data/lib/spree/testing_support/factories/store_credit_type_factory.rb +0 -16
- data/lib/spree/testing_support/factories/wished_variant_factory.rb +0 -6
- data/lib/spree/webhooks.rb +0 -22
- data/lib/tasks/role_users.rake +0 -21
- data/vendor/javascript/@rails--request.js.js +0 -4
- data/vendor/javascript/@stimulus-components--auto-submit.js +0 -4
- data/vendor/javascript/stimulus-reveal-controller.js +0 -4
- data/vendor/javascript/stimulus-textarea-autogrow.js +0 -4
- data/vendor/javascript/tailwindcss-stimulus-components.js +0 -4
data/config/locales/en.yml
CHANGED
|
@@ -5,7 +5,7 @@ en:
|
|
|
5
5
|
messages:
|
|
6
6
|
blank: can't be blank
|
|
7
7
|
models:
|
|
8
|
-
spree/
|
|
8
|
+
spree/fulfillment_changer:
|
|
9
9
|
attributes:
|
|
10
10
|
current_shipment:
|
|
11
11
|
can_not_have_backordered_inventory_units: has backordered inventory units
|
|
@@ -21,18 +21,26 @@ en:
|
|
|
21
21
|
city: City
|
|
22
22
|
company: Company
|
|
23
23
|
country: Country
|
|
24
|
-
|
|
24
|
+
first_name: First Name
|
|
25
25
|
label: Address name
|
|
26
|
-
|
|
26
|
+
last_name: Last Name
|
|
27
27
|
phone: Phone
|
|
28
|
+
postal_code: Zip Code
|
|
28
29
|
state: State
|
|
29
|
-
zipcode: Zip Code
|
|
30
30
|
spree/calculator/tiered_flat_rate:
|
|
31
31
|
preferred_base_amount: Base Amount
|
|
32
|
+
preferred_currency: Currency
|
|
32
33
|
preferred_tiers: Tiers
|
|
33
34
|
spree/calculator/tiered_percent:
|
|
34
35
|
preferred_base_percent: Base Percent
|
|
35
36
|
preferred_tiers: Tiers
|
|
37
|
+
spree/catalog_order_minimum:
|
|
38
|
+
amount: Amount
|
|
39
|
+
currency: Currency
|
|
40
|
+
spree/catalog_quantity_rule:
|
|
41
|
+
minimum_order_quantity: Minimum order quantity
|
|
42
|
+
order_multiple: Order multiple
|
|
43
|
+
variant: Variant
|
|
36
44
|
spree/country:
|
|
37
45
|
iso: ISO
|
|
38
46
|
iso3: ISO3
|
|
@@ -47,11 +55,13 @@ en:
|
|
|
47
55
|
number: Number
|
|
48
56
|
verification_value: Verification Value
|
|
49
57
|
year: Year
|
|
58
|
+
spree/custom_field_definition:
|
|
59
|
+
namespace: Namespace
|
|
60
|
+
searchable: Searchable
|
|
61
|
+
sortable: Sortable
|
|
50
62
|
spree/customer_group:
|
|
51
63
|
description: Description
|
|
52
64
|
name: Name
|
|
53
|
-
spree/customer_return:
|
|
54
|
-
stock_location_id: Stock Location
|
|
55
65
|
spree/gift_card:
|
|
56
66
|
amount_used: Amount used
|
|
57
67
|
expires_at: Expires at
|
|
@@ -69,18 +79,15 @@ en:
|
|
|
69
79
|
spree/line_item:
|
|
70
80
|
price: Price
|
|
71
81
|
quantity: Quantity
|
|
72
|
-
spree/metafield_definition:
|
|
73
|
-
namespace: Namespace
|
|
74
|
-
searchable: Searchable
|
|
75
|
-
sortable: Sortable
|
|
76
82
|
spree/option_type:
|
|
77
83
|
filterable: Filterable
|
|
78
84
|
kind: Kind
|
|
85
|
+
label: Label
|
|
79
86
|
name: Name
|
|
80
|
-
presentation: Presentation
|
|
81
87
|
spree/option_value:
|
|
82
88
|
color_code: Color Code
|
|
83
89
|
image: Swatch Image
|
|
90
|
+
label: Label
|
|
84
91
|
spree/order:
|
|
85
92
|
checkout_complete: Checkout Complete
|
|
86
93
|
completed_at: Completed At
|
|
@@ -101,19 +108,19 @@ en:
|
|
|
101
108
|
spree/order/bill_address:
|
|
102
109
|
address1: Billing address street
|
|
103
110
|
city: Billing address city
|
|
104
|
-
|
|
105
|
-
|
|
111
|
+
first_name: Billing address first name
|
|
112
|
+
last_name: Billing address last name
|
|
106
113
|
phone: Billing address phone
|
|
114
|
+
postal_code: Billing address zip code
|
|
107
115
|
state: Billing address state
|
|
108
|
-
zipcode: Billing address zipcode
|
|
109
116
|
spree/order/ship_address:
|
|
110
117
|
address1: Shipping address street
|
|
111
118
|
city: Shipping address city
|
|
112
|
-
|
|
113
|
-
|
|
119
|
+
first_name: Shipping address first name
|
|
120
|
+
last_name: Shipping address last name
|
|
114
121
|
phone: Shipping address phone
|
|
122
|
+
postal_code: Shipping address zip code
|
|
115
123
|
state: Shipping address state
|
|
116
|
-
zipcode: Shipping address zipcode
|
|
117
124
|
spree/page_link:
|
|
118
125
|
open_in_new_tab: Open in new tab
|
|
119
126
|
spree/payment:
|
|
@@ -147,8 +154,9 @@ en:
|
|
|
147
154
|
more_than: More than
|
|
148
155
|
name: Name
|
|
149
156
|
on_hand: On Hand
|
|
150
|
-
shipping_category: Shipping Category
|
|
151
157
|
tax_category: Tax Category
|
|
158
|
+
spree/product_type:
|
|
159
|
+
name: Name
|
|
152
160
|
spree/promotion:
|
|
153
161
|
advertise: Advertise
|
|
154
162
|
code: Code
|
|
@@ -167,10 +175,6 @@ en:
|
|
|
167
175
|
spree/property:
|
|
168
176
|
name: Name
|
|
169
177
|
presentation: Presentation
|
|
170
|
-
spree/prototype:
|
|
171
|
-
name: Name
|
|
172
|
-
spree/return_authorization:
|
|
173
|
-
amount: Amount
|
|
174
178
|
spree/role:
|
|
175
179
|
name: Name
|
|
176
180
|
spree/shipment:
|
|
@@ -178,14 +182,6 @@ en:
|
|
|
178
182
|
spree/state:
|
|
179
183
|
abbr: Abbreviation
|
|
180
184
|
name: Name
|
|
181
|
-
spree/state_change:
|
|
182
|
-
state_changes: State changes
|
|
183
|
-
state_from: State from
|
|
184
|
-
state_to: State to
|
|
185
|
-
timestamp: Timestamp
|
|
186
|
-
type: Type
|
|
187
|
-
updated: Updated
|
|
188
|
-
user: User
|
|
189
185
|
spree/store:
|
|
190
186
|
address: Address
|
|
191
187
|
contact_phone: Contact Phone
|
|
@@ -205,11 +201,12 @@ en:
|
|
|
205
201
|
url: Site URL
|
|
206
202
|
spree/store_credit:
|
|
207
203
|
amount_used: Amount used
|
|
208
|
-
spree/store_credit_category:
|
|
209
|
-
name: Name
|
|
210
204
|
spree/tax_category:
|
|
211
205
|
description: Description
|
|
212
206
|
name: Name
|
|
207
|
+
spree/tax_identifier:
|
|
208
|
+
kind: Registration type
|
|
209
|
+
value: Number
|
|
213
210
|
spree/tax_rate:
|
|
214
211
|
amount: Rate
|
|
215
212
|
included_in_price: Included in Price
|
|
@@ -231,11 +228,15 @@ en:
|
|
|
231
228
|
cost_price: Cost Price
|
|
232
229
|
depth: Depth
|
|
233
230
|
height: Height
|
|
231
|
+
minimum_order_quantity: Minimum order quantity
|
|
232
|
+
order_multiple: Order multiple
|
|
234
233
|
price: Price
|
|
234
|
+
purchase_unit: Purchase unit
|
|
235
235
|
sku: SKU
|
|
236
|
+
units_per_carton: Units per carton
|
|
236
237
|
weight: Weight
|
|
237
238
|
width: Width
|
|
238
|
-
spree/
|
|
239
|
+
spree/wishlist_item:
|
|
239
240
|
variant: ''
|
|
240
241
|
spree/zone:
|
|
241
242
|
description: Description
|
|
@@ -247,6 +248,10 @@ en:
|
|
|
247
248
|
errors:
|
|
248
249
|
messages:
|
|
249
250
|
blank: can't be blank
|
|
251
|
+
must_apply_to_products: must be a custom field definition for products
|
|
252
|
+
must_belong_to_same_store: must belong to the same store
|
|
253
|
+
not_registered: is not a registered provider
|
|
254
|
+
spree_content_type_not_allowed: is not a file type we accept
|
|
250
255
|
models:
|
|
251
256
|
spree/allowed_origin:
|
|
252
257
|
attributes:
|
|
@@ -265,24 +270,64 @@ en:
|
|
|
265
270
|
values_should_be_percent: Tier values should all be percentages between 0% and 100%
|
|
266
271
|
preferred_tiers:
|
|
267
272
|
should_be_hash: should be a hash
|
|
273
|
+
spree/catalog:
|
|
274
|
+
attributes:
|
|
275
|
+
base:
|
|
276
|
+
no_audience: is not assigned to anyone, so activating it would reach no buyer. Assign a company or customer group first.
|
|
277
|
+
price_list:
|
|
278
|
+
owned_by_another_catalog: is already used by another catalog. Detach it there first.
|
|
279
|
+
spree/catalog_quantity_rule:
|
|
280
|
+
attributes:
|
|
281
|
+
base:
|
|
282
|
+
quantity_rule_states_nothing: Set a minimum order quantity, an order multiple, or both
|
|
283
|
+
spree/category:
|
|
284
|
+
attributes:
|
|
285
|
+
parent:
|
|
286
|
+
must_belong_to_same_store: must belong to the same store
|
|
268
287
|
spree/classification:
|
|
269
288
|
attributes:
|
|
270
289
|
taxon_id:
|
|
271
290
|
already_linked: is already linked to this product
|
|
291
|
+
spree/company:
|
|
292
|
+
attributes:
|
|
293
|
+
base:
|
|
294
|
+
cannot_destroy_with_orders: Cannot delete a company that has placed orders, or whose divisions have.
|
|
295
|
+
kind:
|
|
296
|
+
anchors_descendant_divisions: cannot become a division while divisions below it anchor their tax identity here
|
|
297
|
+
holds_tax_registrations: cannot become a division while holding tax registrations or exemption certificates
|
|
298
|
+
root_must_be_legal_entity: must be company for a root node
|
|
299
|
+
parent:
|
|
300
|
+
cycle: cannot be one of the node's own descendants
|
|
301
|
+
too_deep: would exceed the maximum tree depth
|
|
272
302
|
spree/credit_card:
|
|
273
303
|
attributes:
|
|
274
304
|
base:
|
|
275
305
|
card_expired: Card has expired
|
|
276
306
|
expiry_invalid: Card expiration is invalid
|
|
307
|
+
spree/customer:
|
|
308
|
+
attributes:
|
|
309
|
+
bill_address_id:
|
|
310
|
+
belongs_to_other_user: belongs to other user
|
|
311
|
+
deprecated_in_completed_order: deprecated in completed order
|
|
312
|
+
ship_address_id:
|
|
313
|
+
belongs_to_other_user: belongs to other user
|
|
314
|
+
deprecated_in_completed_order: deprecated in completed order
|
|
315
|
+
spree/exchange_line_item:
|
|
316
|
+
attributes:
|
|
317
|
+
new_variant:
|
|
318
|
+
must_differ_from_original: must be different from the item being returned
|
|
319
|
+
spree/export:
|
|
320
|
+
attributes:
|
|
321
|
+
type:
|
|
322
|
+
seller_scope_unavailable: cannot be narrowed to a single seller
|
|
323
|
+
spree/exports/price_list_prices:
|
|
324
|
+
attributes:
|
|
325
|
+
base:
|
|
326
|
+
price_list_required: Choose a price list to export.
|
|
277
327
|
spree/gift_card:
|
|
278
328
|
attributes:
|
|
279
329
|
base:
|
|
280
330
|
cannot_destroy_used_gift_card: Can't delete a used gift card
|
|
281
|
-
spree/image:
|
|
282
|
-
attributes:
|
|
283
|
-
attachment:
|
|
284
|
-
attachment_must_be_present: must be present
|
|
285
|
-
not_allowed_content_type: has not allowed content type
|
|
286
331
|
spree/import:
|
|
287
332
|
attributes:
|
|
288
333
|
attachment:
|
|
@@ -311,18 +356,51 @@ en:
|
|
|
311
356
|
country:
|
|
312
357
|
already_in_market: is already assigned to another market in this store
|
|
313
358
|
not_in_shipping_zone: is not covered by any shipping zone. Please set up a shipping zone first.
|
|
359
|
+
spree/media:
|
|
360
|
+
attributes:
|
|
361
|
+
attachment:
|
|
362
|
+
attachment_must_be_present: must be present
|
|
363
|
+
not_allowed_content_type: has not allowed content type
|
|
364
|
+
external_video_url:
|
|
365
|
+
unsupported_video_provider: must be a YouTube or Vimeo link
|
|
366
|
+
spree/package_type:
|
|
367
|
+
attributes:
|
|
368
|
+
default:
|
|
369
|
+
cannot_be_given_up: cannot be turned off on the only default package — make another one the default instead
|
|
370
|
+
kind:
|
|
371
|
+
cannot_stop_being_a_carton: cannot change while products are packed into this carton — repack them first
|
|
314
372
|
spree/payment:
|
|
315
373
|
attributes:
|
|
316
374
|
amount:
|
|
317
375
|
greater_than_max_amount: is greater than the allowed maximum amount of %{max_amount}
|
|
376
|
+
spree/price:
|
|
377
|
+
attributes:
|
|
378
|
+
min_quantity:
|
|
379
|
+
requires_price_list: quantity breaks can only be set on a price list
|
|
380
|
+
too_many_breaks: a variant can carry at most %{count} quantity breaks on one price list
|
|
381
|
+
spree/price_adjustment_tier:
|
|
382
|
+
attributes:
|
|
383
|
+
base:
|
|
384
|
+
too_many_tiers: a price list can carry at most %{count} quantity tiers
|
|
318
385
|
spree/price_list:
|
|
319
386
|
attributes:
|
|
387
|
+
base:
|
|
388
|
+
invalid_quantity: each quantity break must start at a whole number of units
|
|
389
|
+
negative_price: a price cannot be below zero
|
|
390
|
+
nothing_to_apply_to: has no rules, no catalog and no products, so it would apply to nothing. Add one before activating.
|
|
320
391
|
ends_at:
|
|
321
392
|
must_be_after_starts_at: must be after starts at
|
|
393
|
+
price_adjustment_percentage:
|
|
394
|
+
requires_catalog: can only be set on a price list a catalog owns
|
|
395
|
+
price_adjustment_tiers:
|
|
396
|
+
requires_catalog: can only be set on a price list a catalog owns
|
|
322
397
|
spree/product:
|
|
323
398
|
attributes:
|
|
324
399
|
base:
|
|
325
400
|
cannot_destroy_if_attached_to_line_items: Cannot delete Products that are added to placed Orders. In such cases, please discontinue them.
|
|
401
|
+
cannot_propose: Only a draft or a product needing changes can be submitted for review.
|
|
402
|
+
not_awaiting_review: This product is not awaiting review.
|
|
403
|
+
status_decided_by_review: A product in review changes status by being approved or sent back, not by editing it.
|
|
326
404
|
discontinue_on:
|
|
327
405
|
invalid_date_range: must be later than available date
|
|
328
406
|
spree/product_publication:
|
|
@@ -337,20 +415,6 @@ en:
|
|
|
337
415
|
attributes:
|
|
338
416
|
amount:
|
|
339
417
|
greater_than_allowed: is greater than the allowed amount.
|
|
340
|
-
spree/reimbursement:
|
|
341
|
-
attributes:
|
|
342
|
-
base:
|
|
343
|
-
return_items_order_id_does_not_match: One or more of the return items specified do not belong to the same order as the reimbursement.
|
|
344
|
-
spree/return_item:
|
|
345
|
-
attributes:
|
|
346
|
-
inventory_unit:
|
|
347
|
-
other_completed_return_item_exists: "%{inventory_unit_id} has already been taken by return item %{return_item_id}"
|
|
348
|
-
reimbursement:
|
|
349
|
-
cannot_be_associated_unless_accepted: cannot be associated to a return item that is not accepted.
|
|
350
|
-
spree/shipping_method:
|
|
351
|
-
attributes:
|
|
352
|
-
base:
|
|
353
|
-
required_shipping_category: You must select at least one shipping category
|
|
354
418
|
spree/store:
|
|
355
419
|
attributes:
|
|
356
420
|
base:
|
|
@@ -362,10 +426,16 @@ en:
|
|
|
362
426
|
amount_used:
|
|
363
427
|
cannot_be_greater_than_amount: Cannot be greater than amount.
|
|
364
428
|
greater_than_zero_restrict_delete: is greater than zero. Can not delete store credit.
|
|
365
|
-
spree/
|
|
429
|
+
spree/tax_exemption_certificate:
|
|
366
430
|
attributes:
|
|
367
|
-
|
|
368
|
-
|
|
431
|
+
company:
|
|
432
|
+
must_be_legal_entity: must be a legal entity, not a division
|
|
433
|
+
spree/tax_identifier:
|
|
434
|
+
attributes:
|
|
435
|
+
company:
|
|
436
|
+
must_be_legal_entity: must be a legal entity, not a division
|
|
437
|
+
value:
|
|
438
|
+
invalid: does not look like a valid %{kind} registration
|
|
369
439
|
spree/taxon_image:
|
|
370
440
|
attributes:
|
|
371
441
|
attachment:
|
|
@@ -382,13 +452,18 @@ en:
|
|
|
382
452
|
attributes:
|
|
383
453
|
base:
|
|
384
454
|
cannot_destroy_if_attached_to_line_items: Cannot delete Variants that are added to placed Orders. In such cases, please discontinue them.
|
|
385
|
-
|
|
386
|
-
|
|
455
|
+
carton_package_type:
|
|
456
|
+
must_be_a_carton: must be a package type of kind carton
|
|
457
|
+
order_multiple:
|
|
458
|
+
incompatible_with_carton: must divide into or be a multiple of %{units_per_carton} units per carton
|
|
459
|
+
units_per_carton:
|
|
460
|
+
required_for_carton_purchase_unit: is required when the purchase unit is cartons
|
|
387
461
|
spree/webhook_endpoint:
|
|
388
462
|
attributes:
|
|
389
463
|
url:
|
|
390
464
|
internal_address_not_allowed: must not point to an internal or private network address
|
|
391
|
-
|
|
465
|
+
invalid_url: must be a valid http or https URL
|
|
466
|
+
spree/wishlist_item:
|
|
392
467
|
attributes:
|
|
393
468
|
variant:
|
|
394
469
|
taken: You already added this item to your wishlist
|
|
@@ -417,10 +492,7 @@ en:
|
|
|
417
492
|
spree/customer_group_user:
|
|
418
493
|
one: Customer Group User
|
|
419
494
|
other: Customer Group Users
|
|
420
|
-
spree/
|
|
421
|
-
one: Customer Return
|
|
422
|
-
other: Customer Returns
|
|
423
|
-
spree/digital:
|
|
495
|
+
spree/digital_asset:
|
|
424
496
|
one: Digital asset
|
|
425
497
|
other: Digital assets
|
|
426
498
|
spree/export:
|
|
@@ -474,6 +546,9 @@ en:
|
|
|
474
546
|
spree/product:
|
|
475
547
|
one: Product
|
|
476
548
|
other: Products
|
|
549
|
+
spree/product_type:
|
|
550
|
+
one: Product Type
|
|
551
|
+
other: Product Types
|
|
477
552
|
spree/promotion:
|
|
478
553
|
one: Promotion
|
|
479
554
|
other: Promotions
|
|
@@ -483,45 +558,36 @@ en:
|
|
|
483
558
|
spree/property:
|
|
484
559
|
one: Property
|
|
485
560
|
other: Properties
|
|
486
|
-
spree/
|
|
487
|
-
one:
|
|
488
|
-
other:
|
|
561
|
+
spree/purchase_order:
|
|
562
|
+
one: Purchase Order
|
|
563
|
+
other: Purchase Orders
|
|
564
|
+
spree/purchase_order_item:
|
|
565
|
+
one: Purchase Order Item
|
|
566
|
+
other: Purchase Order Items
|
|
489
567
|
spree/refund_reason:
|
|
490
568
|
one: Refund Reason
|
|
491
569
|
other: Refund Reasons
|
|
492
|
-
spree/
|
|
493
|
-
one:
|
|
494
|
-
other:
|
|
495
|
-
spree/
|
|
496
|
-
one:
|
|
497
|
-
other:
|
|
498
|
-
spree/return_authorization:
|
|
499
|
-
one: Return Authorization
|
|
500
|
-
other: Return Authorizations
|
|
501
|
-
spree/return_authorization_reason:
|
|
502
|
-
one: Return Authorization Reason
|
|
503
|
-
other: Return Authorization Reasons
|
|
570
|
+
spree/return:
|
|
571
|
+
one: Return
|
|
572
|
+
other: Returns
|
|
573
|
+
spree/return_reason:
|
|
574
|
+
one: Return Reason
|
|
575
|
+
other: Return Reasons
|
|
504
576
|
spree/role:
|
|
505
577
|
one: Roles
|
|
506
578
|
other: Roles
|
|
507
579
|
spree/shipment:
|
|
508
580
|
one: Shipment
|
|
509
581
|
other: Shipments
|
|
510
|
-
spree/shipping_category:
|
|
511
|
-
one: Shipping Category
|
|
512
|
-
other: Shipping Categories
|
|
513
582
|
spree/shipping_method:
|
|
514
583
|
one: Shipping Method
|
|
515
584
|
other: Shipping Methods
|
|
516
585
|
spree/state:
|
|
517
586
|
one: State
|
|
518
587
|
other: States
|
|
519
|
-
spree/
|
|
520
|
-
one:
|
|
521
|
-
other:
|
|
522
|
-
spree/stock_item:
|
|
523
|
-
one: Stock Item
|
|
524
|
-
other: Stock Items
|
|
588
|
+
spree/stock_level:
|
|
589
|
+
one: Stock Level
|
|
590
|
+
other: Stock Levels
|
|
525
591
|
spree/stock_location:
|
|
526
592
|
one: Stock Location
|
|
527
593
|
other: Stock Locations
|
|
@@ -531,15 +597,18 @@ en:
|
|
|
531
597
|
spree/stock_transfer:
|
|
532
598
|
one: Stock Transfer
|
|
533
599
|
other: Stock Transfers
|
|
600
|
+
spree/stock_transfer_item:
|
|
601
|
+
one: Stock Transfer Item
|
|
602
|
+
other: Stock Transfer Items
|
|
534
603
|
spree/store:
|
|
535
604
|
one: Store
|
|
536
605
|
other: Stores
|
|
537
606
|
spree/store_credit:
|
|
538
607
|
one: Store Credit
|
|
539
608
|
other: Store Credits
|
|
540
|
-
spree/
|
|
541
|
-
one:
|
|
542
|
-
other:
|
|
609
|
+
spree/supplier:
|
|
610
|
+
one: Supplier
|
|
611
|
+
other: Suppliers
|
|
543
612
|
spree/tax_category:
|
|
544
613
|
one: Tax Category
|
|
545
614
|
other: Tax Categories
|
|
@@ -570,54 +639,20 @@ en:
|
|
|
570
639
|
address_book:
|
|
571
640
|
save: Save
|
|
572
641
|
successfully_created: New address has been successfully created
|
|
573
|
-
devise:
|
|
574
|
-
confirmations:
|
|
575
|
-
confirmed: Your account was successfully confirmed. You are now signed in.
|
|
576
|
-
send_instructions: You will receive an email with instructions about how to confirm your account in a few minutes.
|
|
577
|
-
failure:
|
|
578
|
-
inactive: Your account was not activated yet.
|
|
579
|
-
invalid: Invalid email or password.
|
|
580
|
-
invalid_token: Invalid authentication token.
|
|
581
|
-
locked: Your account is locked.
|
|
582
|
-
timeout: Your session expired, please sign in again to continue.
|
|
583
|
-
too_many_attempts: Too many attempts. Please wait a moment and try again.
|
|
584
|
-
unauthenticated: You need to sign in or sign up before continuing.
|
|
585
|
-
unconfirmed: You have to confirm your account before continuing.
|
|
586
|
-
mailer:
|
|
587
|
-
confirmation_instructions:
|
|
588
|
-
subject: Confirmation instructions
|
|
589
|
-
reset_password_instructions:
|
|
590
|
-
subject: Reset password instructions
|
|
591
|
-
unlock_instructions:
|
|
592
|
-
subject: Unlock Instructions
|
|
593
|
-
oauth_callbacks:
|
|
594
|
-
failure: Could not authorize you from %{kind} because "%{reason}".
|
|
595
|
-
success: Successfully authorized from %{kind} account.
|
|
596
|
-
unlocks:
|
|
597
|
-
send_instructions: You will receive an email with instructions about how to unlock your account in a few minutes.
|
|
598
|
-
unlocked: Your account was successfully unlocked. You are now signed in.
|
|
599
|
-
user_passwords:
|
|
600
|
-
user:
|
|
601
|
-
cannot_be_blank: Your password cannot be blank.
|
|
602
|
-
send_instructions: You will receive an email with instructions about how to reset your password in a few minutes.
|
|
603
|
-
updated: Your password was changed successfully. You are now signed in.
|
|
604
|
-
user_registrations:
|
|
605
|
-
destroyed: Bye! Your account was successfully cancelled. We hope to see you again soon.
|
|
606
|
-
inactive_signed_up: You have signed up successfully. However, we could not sign you in because your account is %{reason}.
|
|
607
|
-
signed_up: Welcome! You have signed up successfully.
|
|
608
|
-
updated: You updated your account successfully.
|
|
609
|
-
user_sessions:
|
|
610
|
-
signed_in: Signed in successfully.
|
|
611
|
-
signed_out: Signed out successfully.
|
|
612
642
|
errors:
|
|
613
643
|
messages:
|
|
614
644
|
already_confirmed: was already confirmed
|
|
645
|
+
forbidden_reporting_member: references data you are not allowed to read
|
|
646
|
+
invalid_document_number_affix: 'can only contain uppercase letters, digits, dashes and #'
|
|
647
|
+
invalid_system_key: can only contain lowercase letters, digits and underscores
|
|
648
|
+
locked_after_first_number: cannot change once numbering has started
|
|
615
649
|
not_a_number: is not a number
|
|
616
650
|
not_found: not found
|
|
617
651
|
not_locked: was not locked
|
|
618
652
|
not_saved:
|
|
619
653
|
one: '1 error prohibited this %{resource} from being saved:'
|
|
620
654
|
other: "%{count} errors prohibited this %{resource} from being saved:"
|
|
655
|
+
seeded_report_read_only: is a built-in report and cannot be changed — save a copy instead
|
|
621
656
|
number:
|
|
622
657
|
currency:
|
|
623
658
|
format:
|
|
@@ -669,12 +704,6 @@ en:
|
|
|
669
704
|
adjustments_deleted: Adjustments Deleted
|
|
670
705
|
admin_locale: Admin locale
|
|
671
706
|
admin_user_mailer:
|
|
672
|
-
confirmation_email:
|
|
673
|
-
action: Confirm Email
|
|
674
|
-
greeting: Hi %{name},
|
|
675
|
-
ignore_notice: If you did not create this account, you can safely ignore this email.
|
|
676
|
-
instructions: Please confirm the email address for your %{store_name} admin account by clicking the button below.
|
|
677
|
-
subject: Email Confirmation Instructions
|
|
678
707
|
password_reset_email:
|
|
679
708
|
action: Reset Password
|
|
680
709
|
expiry_notice: This password reset link will expire shortly. If you did not request this, no action is needed.
|
|
@@ -746,10 +775,20 @@ en:
|
|
|
746
775
|
card_number: Card Number
|
|
747
776
|
cart: Cart
|
|
748
777
|
cart_already_updated: The cart has already been updated.
|
|
778
|
+
cart_completion_in_progress: The cart is being completed. Please retry in a moment.
|
|
749
779
|
cart_line_item:
|
|
780
|
+
currency_unavailable: "%{li_name} is not available in %{currency}"
|
|
750
781
|
delivery_unavailable: "%{li_name} cannot be delivered to the selected address"
|
|
751
782
|
discontinued: "%{li_name} was removed because it was discontinued"
|
|
783
|
+
invalid_price: Price must be a non-negative number
|
|
752
784
|
out_of_stock: "%{li_name} was removed because it was sold out"
|
|
785
|
+
price_override_not_allowed: Prices cannot be changed on a placed order — use fees or discounts instead
|
|
786
|
+
pricing_unavailable: Prices could not be confirmed. Please try again.
|
|
787
|
+
quantity_must_be_positive: Quantity must be at least 1. Use DELETE to remove the item.
|
|
788
|
+
quantity_rule_violated: "%{li_name} cannot be ordered in that quantity. Try %{quantities}."
|
|
789
|
+
catalogs:
|
|
790
|
+
no_price_list_to_import: This catalog has no price list to import products from.
|
|
791
|
+
product_not_in_store: One of those products belongs to another store.
|
|
753
792
|
categories: Categories
|
|
754
793
|
category: Category
|
|
755
794
|
change: Change
|
|
@@ -759,11 +798,13 @@ en:
|
|
|
759
798
|
charged: Charged
|
|
760
799
|
checkout: Checkout
|
|
761
800
|
checkout_requirements:
|
|
801
|
+
delivery_method_required: Select a delivery method for all fulfillments
|
|
762
802
|
email_required: Email address is required
|
|
763
803
|
line_items_required: Add at least one item to your cart
|
|
804
|
+
order_minimum_not_met: Orders must come to at least %{minimum}. Add %{shortfall} more to check out.
|
|
764
805
|
payment_required: Add a payment method
|
|
806
|
+
po_number_required: A purchase order number is required for this account
|
|
765
807
|
ship_address_required: Shipping address is required
|
|
766
|
-
shipping_method_required: Select a shipping method for all shipments
|
|
767
808
|
choose_currency: Choose Currency
|
|
768
809
|
city: City
|
|
769
810
|
clear: Clear
|
|
@@ -773,9 +814,45 @@ en:
|
|
|
773
814
|
close: Close
|
|
774
815
|
closed: Closed
|
|
775
816
|
code: Code
|
|
817
|
+
collection_rule_types:
|
|
818
|
+
available_on:
|
|
819
|
+
description: Products published within the last N days
|
|
820
|
+
name: Recently published
|
|
821
|
+
sale:
|
|
822
|
+
description: Products currently discounted below their compare-at price
|
|
823
|
+
name: On sale
|
|
824
|
+
tag:
|
|
825
|
+
description: Products carrying a matching tag
|
|
826
|
+
name: Tag
|
|
776
827
|
color_code: Color Code
|
|
777
828
|
colors: Colors
|
|
829
|
+
commission_rule_types:
|
|
830
|
+
category_rule:
|
|
831
|
+
description: Charges this rate only for products in the selected categories, and anything filed beneath them
|
|
832
|
+
name: Category
|
|
833
|
+
item_total_rule:
|
|
834
|
+
description: Charges this rate only on sales within a value range
|
|
835
|
+
name: Sale value
|
|
836
|
+
product_rule:
|
|
837
|
+
description: Charges this rate only for the selected products
|
|
838
|
+
name: Product
|
|
839
|
+
seller_rule:
|
|
840
|
+
description: Charges this rate only when the seller is one of the selected
|
|
841
|
+
name: Seller
|
|
842
|
+
companies: Companies
|
|
778
843
|
company: Company
|
|
844
|
+
company_invitations:
|
|
845
|
+
email_mismatch: This invitation was sent to a different email address.
|
|
846
|
+
not_pending: This invitation is no longer pending and cannot be revoked.
|
|
847
|
+
company_mailer:
|
|
848
|
+
invitation_email:
|
|
849
|
+
action: Accept invitation
|
|
850
|
+
expiry_notice: This invitation link will expire in 30 days.
|
|
851
|
+
greeting: Hi,
|
|
852
|
+
ignore_notice: If you were not expecting this invitation, you can safely ignore this email.
|
|
853
|
+
instructions: You have been invited to join %{company} on %{store}. Accept the invitation to start purchasing on the company's behalf.
|
|
854
|
+
subject: invitation to join %{company}
|
|
855
|
+
title: Join %{company}
|
|
779
856
|
compare_at_amount: Compare at amount
|
|
780
857
|
compare_at_price: Compare at price
|
|
781
858
|
complete: complete
|
|
@@ -814,7 +891,6 @@ en:
|
|
|
814
891
|
coupon_codes: Coupon codes
|
|
815
892
|
create: Create
|
|
816
893
|
create_new: Create new
|
|
817
|
-
create_reimbursement: Create reimbursement
|
|
818
894
|
created_at: Created at
|
|
819
895
|
created_by: Created by
|
|
820
896
|
credit: Credit
|
|
@@ -829,10 +905,21 @@ en:
|
|
|
829
905
|
currency_not_supported_by_store: is not supported by this store
|
|
830
906
|
current: Current
|
|
831
907
|
current_password: Current password
|
|
908
|
+
custom_field_definitions: Custom Field Definitions
|
|
909
|
+
custom_fields: Custom Fields
|
|
832
910
|
customer: Customer
|
|
911
|
+
customer_errors:
|
|
912
|
+
anonymize_failed: The erasure could not be completed and nothing was changed
|
|
833
913
|
customer_group: Customer Group
|
|
834
914
|
customer_groups: Customer Groups
|
|
835
915
|
customer_mailer:
|
|
916
|
+
data_export_email:
|
|
917
|
+
action: Download Your Data
|
|
918
|
+
expiry_notice: This download link expires on %{date}.
|
|
919
|
+
greeting: Hello,
|
|
920
|
+
ignore_notice: If you did not request a copy of your data, please contact us.
|
|
921
|
+
instructions: Your copy of the personal data we hold about you is ready. Use the button below to download it.
|
|
922
|
+
subject: Your Data Is Ready to Download
|
|
836
923
|
password_reset_email:
|
|
837
924
|
action: Reset Password
|
|
838
925
|
expiry_notice: This password reset link will expire shortly. If you did not request this, no action is needed.
|
|
@@ -840,13 +927,15 @@ en:
|
|
|
840
927
|
ignore_notice: If you did not request a password reset, you can safely ignore this email. Your password will not be changed.
|
|
841
928
|
instructions: We received a request to reset your password. Click the button below to choose a new password.
|
|
842
929
|
subject: Password Reset Instructions
|
|
843
|
-
customer_return: Customer Return
|
|
844
|
-
customer_returns: Customer Returns
|
|
845
930
|
customer_support_email: Customer Support Email
|
|
846
931
|
customers: Customers
|
|
847
932
|
cut: Cut
|
|
848
933
|
cvv: CVV
|
|
849
934
|
cvv_response: CVV Response
|
|
935
|
+
data_request_errors:
|
|
936
|
+
already_anonymized: This customer's personal data has already been erased
|
|
937
|
+
download_unavailable: This download link has expired or is no longer valid
|
|
938
|
+
not_pending: This request has already been processed
|
|
850
939
|
date: Date
|
|
851
940
|
date_range: Date Range
|
|
852
941
|
default: Default
|
|
@@ -854,7 +943,6 @@ en:
|
|
|
854
943
|
default_country: Default Country
|
|
855
944
|
default_currency: Default currency
|
|
856
945
|
default_locale: Default locale
|
|
857
|
-
default_refund_amount: Default Refund Amount
|
|
858
946
|
default_shipping_address: Default shipping address
|
|
859
947
|
default_stock_location_name: Shop location
|
|
860
948
|
default_tax: Default Tax
|
|
@@ -862,7 +950,33 @@ en:
|
|
|
862
950
|
default_wishlist_name: Wishlist
|
|
863
951
|
delete: Delete
|
|
864
952
|
deleted: Deleted
|
|
953
|
+
deliveries:
|
|
954
|
+
errors:
|
|
955
|
+
delivered: This consignment has already arrived — its arrival is what the returns window counts from, so it cannot be deleted
|
|
956
|
+
has_label: This delivery was created by a shipping label — refund the label instead of deleting the delivery
|
|
957
|
+
not_found: This fulfillment has no delivery to track yet
|
|
865
958
|
delivery: Delivery
|
|
959
|
+
delivery_method_rule_types:
|
|
960
|
+
channel_rule:
|
|
961
|
+
description: Offers the delivery method only on the selected channels
|
|
962
|
+
name: Channel
|
|
963
|
+
company_rule:
|
|
964
|
+
description: Offers the delivery method only to orders placed for a company, or only to orders that are not
|
|
965
|
+
name: Company
|
|
966
|
+
excluded_products_rule:
|
|
967
|
+
description: Blocks the delivery method for packages containing the selected products
|
|
968
|
+
name: Excluded products
|
|
969
|
+
item_total_rule:
|
|
970
|
+
description: Limits the delivery method to carts within an item total range
|
|
971
|
+
name: Item total
|
|
972
|
+
volume_rule:
|
|
973
|
+
description: Limits the delivery method to shipments within a volume range, in cubic meters
|
|
974
|
+
name: Volume
|
|
975
|
+
weight_rule:
|
|
976
|
+
description: Limits the delivery method to packages within a weight range
|
|
977
|
+
name: Weight
|
|
978
|
+
delivery_rates:
|
|
979
|
+
quoted_after_review: Quoted after review
|
|
866
980
|
depth: Depth
|
|
867
981
|
description: Description
|
|
868
982
|
destination: Destination
|
|
@@ -871,7 +985,16 @@ en:
|
|
|
871
985
|
developers: Developers
|
|
872
986
|
digital:
|
|
873
987
|
digital_delivery: Digital Delivery
|
|
988
|
+
digital_asset_mailer:
|
|
989
|
+
files_ready_email:
|
|
990
|
+
available_until: Available until %{date}
|
|
991
|
+
dear_customer: Dear %{name},
|
|
992
|
+
instructions: The files from your order %{number} are ready to download.
|
|
993
|
+
store_team: "%{store_name} Team"
|
|
994
|
+
subject: Your files are ready
|
|
995
|
+
thanks: Thank you for your business.
|
|
874
996
|
digital_assets: Digital assets
|
|
997
|
+
digital_assets_attachment_must_be_private: Upload the file to private storage before attaching it
|
|
875
998
|
discontinue_on: Discontinue On
|
|
876
999
|
discontinued: Discontinued
|
|
877
1000
|
discontinued_variants_present: Some line items in this order have products that are no longer available.
|
|
@@ -918,15 +1041,69 @@ en:
|
|
|
918
1041
|
error_user_does_not_have_any_store_credits: User does not have any Store Credits available
|
|
919
1042
|
errors:
|
|
920
1043
|
messages:
|
|
1044
|
+
already_a_member: already exists
|
|
921
1045
|
cannot_delete_channel_with_active_api_keys: Channel cannot be deleted while active API keys are bound to it. Revoke those keys first.
|
|
922
1046
|
cannot_delete_default_channel: Default channel cannot be deleted. Promote another channel to default first.
|
|
1047
|
+
cannot_delete_default_package_type: Default package cannot be deleted. Make another package the default first.
|
|
1048
|
+
cart_currency_mismatch: carts in different currencies cannot be merged
|
|
923
1049
|
channel_store_mismatch: must belong to the same store
|
|
1050
|
+
commission_rate_needs_an_amount: needs a flat fee amount in at least one currency
|
|
1051
|
+
coupon_code_frozen_after_completion: coupon codes cannot be changed on a completed order — add a manual discount instead
|
|
1052
|
+
custom_field_definition_mismatch: must match custom field definition
|
|
1053
|
+
delivery_zone_not_in_origin_group: must belong to the delivery method's origin group
|
|
1054
|
+
delivery_zone_not_in_profile: must belong to the delivery method's delivery profile
|
|
1055
|
+
delivery_zone_postal_definition_required: postal code member requires a prefix or a from/to range
|
|
1056
|
+
delivery_zone_prefix_and_range_exclusive: cannot be combined with a from/to range
|
|
1057
|
+
delivery_zone_range_inverted: must be greater than or equal to postal_code_from
|
|
1058
|
+
delivery_zone_range_not_supported: postal code ranges are not supported for this country — use prefixes
|
|
1059
|
+
discount_has_no_effect: discount would have no effect on this order
|
|
1060
|
+
discount_value_must_be_positive: discount value must be a positive number
|
|
1061
|
+
discount_value_type_invalid: value_type must be flat or percent
|
|
1062
|
+
duplicate_variant: cannot list the same variant twice
|
|
1063
|
+
exactly_one_adjustable: must be attached to exactly one adjustable
|
|
1064
|
+
exactly_one_of_cart_or_order: must belong to exactly one of cart or order
|
|
1065
|
+
exactly_one_of_line_item_or_fulfillment: must be charged against exactly one of a line item or a fulfillment
|
|
1066
|
+
flat_fee_cannot_charge_delivery: is not available on a flat fee, which already charges for the sale the delivery belongs to — add a separate rate to charge delivery
|
|
1067
|
+
integration_connection_failed: could not connect with the saved credentials
|
|
1068
|
+
integration_type_not_registered: is not a registered integration
|
|
1069
|
+
invalid_commission_rule: is not a commission rule kind this store has
|
|
1070
|
+
invalid_commission_rule_type: "%{type} is not a commission rule kind this store has"
|
|
1071
|
+
invalid_delivery_method_rule: is not a registered delivery method rule
|
|
1072
|
+
invalid_json: 'must be valid JSON: %{detail}'
|
|
1073
|
+
invalid_oauth_state: Invalid or expired authentication state. Please start the sign-in again.
|
|
924
1074
|
invalid_order_routing_rule: is not a registered order routing rule
|
|
925
1075
|
invalid_order_routing_strategy: is not a registered order routing strategy
|
|
1076
|
+
invalid_refund_method: must be one of original_payment, store_credit
|
|
1077
|
+
invalid_seller_requirement: is not a registered seller requirement
|
|
926
1078
|
invalid_storefront_access: is not a valid storefront access level
|
|
1079
|
+
items_not_a_list: items must be a list of objects
|
|
1080
|
+
must_be_greater_than_min_amount: must be greater than or equal to the minimum
|
|
927
1081
|
must_be_origin_only: must be an origin (scheme and host) without path, query, or fragment
|
|
1082
|
+
no_pickup_point_provider: this delivery method has no pickup point provider configured
|
|
1083
|
+
not_cancellable: cannot be canceled once its goods have been dispatched
|
|
1084
|
+
oidc_account_not_provisioned: This account is not authorized for this store. Ask an administrator for an invitation.
|
|
1085
|
+
oidc_authentication_failed: We could not sign you in with this provider. Please try again.
|
|
1086
|
+
oidc_missing_code: The identity provider did not return an authorization code.
|
|
1087
|
+
oidc_requires_redirect: This provider requires signing in through its own login page.
|
|
1088
|
+
pickup_point_not_found: pickup point could not be found with this provider
|
|
1089
|
+
product_not_in_store: must all belong to this store
|
|
1090
|
+
profile_does_not_accept_provider: "%{provider} deliveries cannot join the %{profile} profile"
|
|
1091
|
+
promotion_discount_not_editable: promotion discounts are managed by recalculation and cannot be edited
|
|
1092
|
+
rate_provider_requires_shipping: "%{provider} quotes shipments, so this method must ship to an address"
|
|
1093
|
+
rate_provider_unavailable: is not available for this store — connect its integration first
|
|
1094
|
+
received_exceeds_expected: cannot be more than the %{expected} expected
|
|
1095
|
+
refund_amount_requires_shared_payment: can only be set when the payment is shared across a split checkout
|
|
1096
|
+
same_as_inviter: cannot be the same as the inviter
|
|
1097
|
+
seller_delivery_method_not_shareable: only the marketplace's own delivery methods can be shared with sellers
|
|
1098
|
+
seller_delivery_method_provider: a seller's delivery method prices its own rates and is fulfilled by hand — carrier accounts belong to the marketplace
|
|
1099
|
+
seller_requirement_store_mismatch: must belong to the same store as the seller
|
|
1100
|
+
stock_level_immutable: cannot be changed after the hold is taken — release the hold and take it again
|
|
928
1101
|
store_association_can_not_be_changed: The store association can not be changed
|
|
929
1102
|
store_is_already_set: Store is already set
|
|
1103
|
+
unknown_custom_field_type: 'is not a known custom field type (expected one of: %{types})'
|
|
1104
|
+
unknown_scopes: 'contains unknown scopes: %{scopes}'
|
|
1105
|
+
unregistered_actor: is not a registered actor class
|
|
1106
|
+
variant_product_mismatch: must belong to the same product as the variant
|
|
930
1107
|
services:
|
|
931
1108
|
get_shipping_rates:
|
|
932
1109
|
no_line_items: To generate Shipping Rates you need to add some Line Items to Order
|
|
@@ -968,27 +1145,56 @@ en:
|
|
|
968
1145
|
free_shipping: Free Shipping
|
|
969
1146
|
from: From
|
|
970
1147
|
front_end: Front End
|
|
1148
|
+
fulfillment_mailer:
|
|
1149
|
+
fulfilled_email:
|
|
1150
|
+
dear_customer: Dear %{name},
|
|
1151
|
+
delivery_method: 'Delivery method: %{delivery_method}'
|
|
1152
|
+
fulfillment_summary: Fulfillment summary for order
|
|
1153
|
+
instructions: Your order %{number} has been fulfilled
|
|
1154
|
+
store_team: "%{store_name} Team"
|
|
1155
|
+
subject: Fulfillment Notification
|
|
1156
|
+
thanks: Thank you for your business.
|
|
1157
|
+
track_information: 'Tracking Information: %{tracking}'
|
|
1158
|
+
track_link: 'Tracking Link: %{url}'
|
|
971
1159
|
fulfillments:
|
|
972
1160
|
errors:
|
|
1161
|
+
backordered_units: This fulfillment holds backordered units and cannot be handed over yet
|
|
1162
|
+
cannot_cancel: This fulfillment cannot be canceled in its current status
|
|
1163
|
+
cannot_fulfill: This fulfillment cannot be fulfilled in its current status
|
|
1164
|
+
cannot_mark_delivered: Only a fulfilled shipment can be marked delivered
|
|
1165
|
+
cannot_purchase_label: Labels can only be bought before the fulfillment ships
|
|
1166
|
+
cannot_resume: This fulfillment cannot be resumed in its current status
|
|
973
1167
|
insufficient_quantity: Requested quantity (%{requested}) for item %{item} exceeds its unfulfilled quantity (%{available})
|
|
1168
|
+
insufficient_stock_on_hand: This dispatch needs %{requested} of %{item} but only %{on_hand} are on hand at this location — correct the stock count or force the dispatch
|
|
974
1169
|
invalid_cost: cost must be a non-negative number
|
|
975
1170
|
invalid_quantity: Quantity for item %{item} must be a positive integer
|
|
976
1171
|
invalid_status: status must be 'shipped' when provided
|
|
1172
|
+
label_purchase_failed: The label could not be purchased — check the carrier connection and try again
|
|
977
1173
|
no_items_to_fulfill: Order has no unfulfilled items
|
|
1174
|
+
not_in_fulfillment: Requested quantity (%{requested}) for item %{item} exceeds the %{available} held by this fulfillment
|
|
978
1175
|
order_canceled: Fulfillments cannot be created on a canceled order
|
|
1176
|
+
order_draft: Draft orders cannot be fulfilled — complete the order first
|
|
979
1177
|
order_not_completed: Fulfillments can only be created manually on completed orders
|
|
1178
|
+
order_not_paid: This order is not paid for yet
|
|
1179
|
+
provider_has_no_labels: This delivery method's provider does not produce labels
|
|
1180
|
+
unknown_tracking_status: "%{status} is not a known tracking status"
|
|
980
1181
|
gateway: Gateway
|
|
981
1182
|
gateway_error: Gateway Error
|
|
982
1183
|
general: General
|
|
983
1184
|
generate_code: Generate coupon code
|
|
984
1185
|
gift_card: Gift Card
|
|
1186
|
+
gift_card_already_canceled: The Gift Card has already been canceled.
|
|
985
1187
|
gift_card_already_redeemed: The Gift Card has already been redeemed.
|
|
986
1188
|
gift_card_applied: The Gift Card was successfully applied to your order!
|
|
987
1189
|
gift_card_batch: Gift Card Batch
|
|
1190
|
+
gift_card_canceled: The Gift Card has been canceled.
|
|
988
1191
|
gift_card_customer_not_logged_in: Gift Card cannot be applied with guest user.
|
|
989
1192
|
gift_card_expired: The Gift Card has expired.
|
|
1193
|
+
gift_card_held_by_another_order: The Gift Card is being used by another order that is still being placed. Please try again in a few minutes.
|
|
990
1194
|
gift_card_mismatched_currency: Gift Card cannot be applied with current currency.
|
|
991
1195
|
gift_card_mismatched_customer: This gift card is associated with another user.
|
|
1196
|
+
gift_card_no_amount_remaining: The Gift Card has no amount remaining.
|
|
1197
|
+
gift_card_not_applied: The Gift Card could not be applied.
|
|
992
1198
|
gift_card_not_found: The Gift Card was not found.
|
|
993
1199
|
gift_card_removed: The Gift Card was successfully removed from your order
|
|
994
1200
|
gift_card_using_store_credit_error: You can't apply the Gift Card after you applied the store credit.
|
|
@@ -1009,6 +1215,7 @@ en:
|
|
|
1009
1215
|
implement_eligible_for_return: 'Must implement #eligible_for_return? for your EligibilityValidator.'
|
|
1010
1216
|
implement_requires_manual_intervention: 'Must implement #requires_manual_intervention? for your EligibilityValidator.'
|
|
1011
1217
|
import: Import
|
|
1218
|
+
import_has_no_failed_rows: This import has no failed rows to retry.
|
|
1012
1219
|
import_mailer:
|
|
1013
1220
|
greeting: Hi %{user_name},
|
|
1014
1221
|
import_done:
|
|
@@ -1016,6 +1223,9 @@ en:
|
|
|
1016
1223
|
message: Your import has finished. %{completed_count} rows were imported successfully.
|
|
1017
1224
|
subject: Your import %{import_number} has finished processing
|
|
1018
1225
|
view_results: View import report
|
|
1226
|
+
import_mapping_not_completed: The import's column mapping is not complete yet.
|
|
1227
|
+
import_not_mapping: This import is not being mapped.
|
|
1228
|
+
import_not_processing: This import is not processing.
|
|
1019
1229
|
in_stock: In Stock
|
|
1020
1230
|
inactive: Inactive
|
|
1021
1231
|
incl: incl.
|
|
@@ -1029,8 +1239,12 @@ en:
|
|
|
1029
1239
|
internationalization: Internationalization
|
|
1030
1240
|
invalid_credit_card: Invalid credit card.
|
|
1031
1241
|
invalid_exchange_variant: Invalid exchange variant.
|
|
1242
|
+
invalid_password: Invalid password.
|
|
1032
1243
|
inventory: Inventory
|
|
1033
1244
|
invitation_accepted: Invitation accepted!
|
|
1245
|
+
invitation_already_accepted: This invitation has already been accepted.
|
|
1246
|
+
invitation_expired: This invitation has expired. Invite them again to send a new one.
|
|
1247
|
+
invitation_invitee_missing: This invitation has no invitee.
|
|
1034
1248
|
invitation_mailer:
|
|
1035
1249
|
greeting: Hi %{user_name},
|
|
1036
1250
|
invitation_accepted:
|
|
@@ -1041,6 +1255,8 @@ en:
|
|
|
1041
1255
|
link_description: 'To accept this invitation, please click the link below:'
|
|
1042
1256
|
subject: Invitation to join %{resource_name}
|
|
1043
1257
|
thanks: Thank you,
|
|
1258
|
+
invitation_not_acceptable: Invitation not found, expired, or already accepted.
|
|
1259
|
+
invitation_role_resource_mismatch: must belong to the same store or seller as the invitation
|
|
1044
1260
|
invitations: Invitations
|
|
1045
1261
|
invited_by: Invited by
|
|
1046
1262
|
iso: ISO Alpha-2
|
|
@@ -1067,7 +1283,6 @@ en:
|
|
|
1067
1283
|
locale_not_supported_by_store: is not supported by this store
|
|
1068
1284
|
location: Location
|
|
1069
1285
|
lock: Lock
|
|
1070
|
-
log_entries: Log Entries
|
|
1071
1286
|
logged_in_successfully: Logged in successfully
|
|
1072
1287
|
login: Login
|
|
1073
1288
|
logo: Logo
|
|
@@ -1093,16 +1308,12 @@ en:
|
|
|
1093
1308
|
meta_keywords: Meta Keywords
|
|
1094
1309
|
meta_title: Meta Title
|
|
1095
1310
|
metadata: Metadata
|
|
1096
|
-
metafield_definitions: Metafield Definitions
|
|
1097
|
-
metafields: Metafields
|
|
1098
1311
|
min: Min
|
|
1099
1312
|
min_quantity: Min Quantity
|
|
1100
1313
|
minimal_amount: Minimal Amount
|
|
1101
|
-
missing_return_authorization: Missing Return Authorization for %{item_name}.
|
|
1102
1314
|
month: Month
|
|
1103
1315
|
more: More
|
|
1104
1316
|
move: Move
|
|
1105
|
-
mutable: Mutable
|
|
1106
1317
|
my_account: My Account
|
|
1107
1318
|
my_orders: My Orders
|
|
1108
1319
|
name: Name
|
|
@@ -1117,7 +1328,6 @@ en:
|
|
|
1117
1328
|
new_price_list: New Price List
|
|
1118
1329
|
new_product: New Product
|
|
1119
1330
|
new_promotion: New Promotion
|
|
1120
|
-
new_return_authorization: New Return Authorization
|
|
1121
1331
|
new_state: New State
|
|
1122
1332
|
new_user: New User
|
|
1123
1333
|
new_variant: New Variant
|
|
@@ -1135,6 +1345,7 @@ en:
|
|
|
1135
1345
|
next: Next
|
|
1136
1346
|
no_cc_type: N/A
|
|
1137
1347
|
no_payment_found: No payment found
|
|
1348
|
+
no_refundable_payments: There is no payment left on this order to refund.
|
|
1138
1349
|
no_report_data: No report data
|
|
1139
1350
|
none: None
|
|
1140
1351
|
normal_amount: Normal Amount
|
|
@@ -1142,7 +1353,9 @@ en:
|
|
|
1142
1353
|
not_available: N/A
|
|
1143
1354
|
not_enough_stock: There is not enough inventory at the source location to complete this transfer.
|
|
1144
1355
|
not_found: "%{resource} is not found"
|
|
1356
|
+
not_received: This return cannot be refunded until its items are marked received.
|
|
1145
1357
|
note: Note
|
|
1358
|
+
nothing_to_refund: There is nothing left to refund on this return.
|
|
1146
1359
|
number: Number
|
|
1147
1360
|
ok: OK
|
|
1148
1361
|
on_hand: On Hand
|
|
@@ -1158,6 +1371,7 @@ en:
|
|
|
1158
1371
|
or: or
|
|
1159
1372
|
order: Order
|
|
1160
1373
|
order_canceled: Order canceled
|
|
1374
|
+
order_cannot_be_deleted: Completed orders and orders with settled payments cannot be deleted
|
|
1161
1375
|
order_mailer:
|
|
1162
1376
|
cancel_email:
|
|
1163
1377
|
dear_customer: Hey %{name},
|
|
@@ -1176,6 +1390,7 @@ en:
|
|
|
1176
1390
|
message_copy_link: 'If the button doesn''t work please copy and paste the following link to your browser:'
|
|
1177
1391
|
pay_for_order: Pay for order
|
|
1178
1392
|
subject: 'Payment link for order #%{number}'
|
|
1393
|
+
po_number: 'PO Number: %{number}'
|
|
1179
1394
|
store_owner_notification_email:
|
|
1180
1395
|
heading: New Order Received
|
|
1181
1396
|
instructions: You have received a new order.
|
|
@@ -1209,9 +1424,12 @@ en:
|
|
|
1209
1424
|
other: Other
|
|
1210
1425
|
out_of_stock: Out of Stock
|
|
1211
1426
|
outstanding_balance: Outstanding Balance
|
|
1427
|
+
package_types:
|
|
1428
|
+
default_name: Shipping box
|
|
1212
1429
|
page: Page
|
|
1213
1430
|
pages: Pages
|
|
1214
1431
|
password: Password
|
|
1432
|
+
password_required_to_create_account: Password is required to create your account.
|
|
1215
1433
|
path: Path
|
|
1216
1434
|
pay: Pay
|
|
1217
1435
|
payment: Payment
|
|
@@ -1228,16 +1446,101 @@ en:
|
|
|
1228
1446
|
percent_per_item: Percent Per Item
|
|
1229
1447
|
permalink: Permalink
|
|
1230
1448
|
permissions: Permissions
|
|
1449
|
+
permissions_catalog:
|
|
1450
|
+
groups:
|
|
1451
|
+
access: Access
|
|
1452
|
+
analytics: Analytics
|
|
1453
|
+
catalog: Catalog
|
|
1454
|
+
customers: Customers
|
|
1455
|
+
loyalty: Loyalty
|
|
1456
|
+
marketing: Marketing
|
|
1457
|
+
orders: Orders
|
|
1458
|
+
seller: Seller
|
|
1459
|
+
sellers: Sellers
|
|
1460
|
+
settings: Settings
|
|
1461
|
+
kinds:
|
|
1462
|
+
read: View
|
|
1463
|
+
write: Manage
|
|
1464
|
+
resources:
|
|
1465
|
+
api_keys:
|
|
1466
|
+
description: Create and revoke API credentials
|
|
1467
|
+
label: API keys
|
|
1468
|
+
categories:
|
|
1469
|
+
description: Category tree and taxonomies
|
|
1470
|
+
label: Categories
|
|
1471
|
+
collections:
|
|
1472
|
+
description: Manual and rule-based product collections
|
|
1473
|
+
label: Collections
|
|
1474
|
+
customers:
|
|
1475
|
+
description: Customer accounts, addresses, cards and groups
|
|
1476
|
+
label: Customers
|
|
1477
|
+
dashboard:
|
|
1478
|
+
description: Sales and performance analytics
|
|
1479
|
+
label: Analytics dashboard
|
|
1480
|
+
fulfillments:
|
|
1481
|
+
description: Pack, ship and track order fulfillments
|
|
1482
|
+
label: Fulfillments
|
|
1483
|
+
gift_cards:
|
|
1484
|
+
description: Gift cards and gift card batches
|
|
1485
|
+
label: Gift cards
|
|
1486
|
+
orders:
|
|
1487
|
+
description: Orders, line items, returns, exchanges and claims
|
|
1488
|
+
label: Orders
|
|
1489
|
+
payments:
|
|
1490
|
+
description: Order payments and payment capture
|
|
1491
|
+
label: Payments
|
|
1492
|
+
products:
|
|
1493
|
+
description: Products, variants, options, prices and media
|
|
1494
|
+
label: Products
|
|
1495
|
+
promotions:
|
|
1496
|
+
description: Promotions, rules and coupon codes
|
|
1497
|
+
label: Promotions
|
|
1498
|
+
purchasing:
|
|
1499
|
+
description: Suppliers and purchase orders
|
|
1500
|
+
label: Purchasing
|
|
1501
|
+
refunds:
|
|
1502
|
+
description: Issue and view refunds
|
|
1503
|
+
label: Refunds
|
|
1504
|
+
settings:
|
|
1505
|
+
description: Store, payment, delivery, tax and channel configuration
|
|
1506
|
+
label: Store settings
|
|
1507
|
+
staff:
|
|
1508
|
+
description: Team members, invitations, roles and their permissions
|
|
1509
|
+
label: Staff & roles
|
|
1510
|
+
stock:
|
|
1511
|
+
description: Stock levels, locations, movements and transfers
|
|
1512
|
+
label: Inventory
|
|
1513
|
+
store_credits:
|
|
1514
|
+
description: Customer store credit balances
|
|
1515
|
+
label: Store credits
|
|
1516
|
+
webhooks:
|
|
1517
|
+
description: Webhook endpoints and deliveries
|
|
1518
|
+
label: Webhooks
|
|
1231
1519
|
phone: Phone
|
|
1520
|
+
pickup:
|
|
1521
|
+
store_pickup: Store Pickup
|
|
1522
|
+
po_document_invalid: A purchase order document must be a PDF, image or Word file of %{size} or less.
|
|
1523
|
+
po_document_invalid_signed_id: The purchase order document reference is not valid.
|
|
1524
|
+
po_document_missing: This order has no attached purchase order document.
|
|
1525
|
+
po_document_too_large: is larger than %{size}.
|
|
1526
|
+
po_document_upload_incomplete: The purchase order document was not uploaded completely. Please try attaching it again.
|
|
1232
1527
|
policies: Policies
|
|
1233
1528
|
powered_by: Powered by
|
|
1234
1529
|
pre_tax_amount: Pre-Tax Amount
|
|
1235
1530
|
pre_tax_total: Pre-Tax Total
|
|
1236
|
-
preferred_reimbursement_type: Preferred Reimbursement Type
|
|
1237
1531
|
presentation: Presentation
|
|
1238
1532
|
preview: Preview
|
|
1239
1533
|
previous: Previous
|
|
1240
1534
|
price: Price
|
|
1535
|
+
price_list_import_ambiguous_sku: More than one product in this store has the SKU %{sku}. Give each a SKU of its own before importing prices for it.
|
|
1536
|
+
price_list_import_failed: The price could not be written.
|
|
1537
|
+
price_list_import_invalid_amount: "%{column} must be a number like 16.50, got %{value}."
|
|
1538
|
+
price_list_import_invalid_quantity: min_quantity must be a whole number of units, got %{value}.
|
|
1539
|
+
price_list_import_no_price_list: This import is not attached to a price list.
|
|
1540
|
+
price_list_import_sku_required: SKU is required.
|
|
1541
|
+
price_list_import_too_many_breaks: A variant can carry at most %{count} quantity breaks on one price list.
|
|
1542
|
+
price_list_import_unknown_sku: No product in this store has the SKU %{sku}.
|
|
1543
|
+
price_list_import_unsupported_currency: This store does not sell in %{currency}.
|
|
1241
1544
|
price_lists: Price Lists
|
|
1242
1545
|
price_range: Price Range
|
|
1243
1546
|
price_rules:
|
|
@@ -1323,10 +1626,36 @@ en:
|
|
|
1323
1626
|
propagate_all_variants: Propagate all variants
|
|
1324
1627
|
properties: Properties
|
|
1325
1628
|
property: Property
|
|
1326
|
-
prototype: Prototype
|
|
1327
|
-
prototypes: Prototypes
|
|
1328
1629
|
provider: Provider
|
|
1329
1630
|
published_at: Published at
|
|
1631
|
+
purchase_order:
|
|
1632
|
+
errors:
|
|
1633
|
+
already_closed: This purchase order has already been received or cancelled
|
|
1634
|
+
already_receiving: A delivery has already been booked against this purchase order, so it cannot go back to draft
|
|
1635
|
+
invalid_receipt_quantity: The quantities for %{variant} cannot be negative
|
|
1636
|
+
item_not_on_document: One of the lines does not belong to this purchase order
|
|
1637
|
+
must_have_variant: You must add at least one variant
|
|
1638
|
+
no_items_received: No units were received
|
|
1639
|
+
not_draft: Only a draft purchase order can be marked as ordered
|
|
1640
|
+
not_editable: Only a draft purchase order can be edited
|
|
1641
|
+
not_ordered: Only a purchase order that has been placed can be received
|
|
1642
|
+
not_ordered_for_draft: Only a placed purchase order can go back to draft
|
|
1643
|
+
not_partially_received: Only a partially received purchase order can be closed short
|
|
1644
|
+
only_draft_can_be_deleted: Only a draft purchase order can be deleted — cancel it instead
|
|
1645
|
+
repeated_item: "%{variant} was listed more than once. Send one entry per line, with what this delivery brought"
|
|
1646
|
+
purchase_order_import_ambiguous_sku: More than one product in this store has the SKU %{sku}. Give each a SKU of its own before importing an order for it.
|
|
1647
|
+
purchase_order_import_destination_required: Destination is required.
|
|
1648
|
+
purchase_order_import_failed: The purchase order could not be written.
|
|
1649
|
+
purchase_order_import_invalid_cost: unit_cost must be a number like 16.50, got %{value}.
|
|
1650
|
+
purchase_order_import_invalid_date: "%{column} must be a full date like 2026-03-31, got %{value}."
|
|
1651
|
+
purchase_order_import_invalid_quantity: quantity must be a whole number above zero, got %{value}.
|
|
1652
|
+
purchase_order_import_reference_required: Reference is required — it is what groups a file's rows into orders.
|
|
1653
|
+
purchase_order_import_sku_required: SKU is required.
|
|
1654
|
+
purchase_order_import_supplier_required: Supplier is required.
|
|
1655
|
+
purchase_order_import_unknown_destination: This store has no warehouse named %{name}.
|
|
1656
|
+
purchase_order_import_unknown_sku: No product in this store has the SKU %{sku}.
|
|
1657
|
+
purchase_order_import_unknown_supplier: This store has no supplier named %{name}. Add them first.
|
|
1658
|
+
purchase_order_import_unsupported_currency: This store does not buy in %{currency}.
|
|
1330
1659
|
qty: Qty
|
|
1331
1660
|
quantity: Quantity
|
|
1332
1661
|
query: Query
|
|
@@ -1338,27 +1667,12 @@ en:
|
|
|
1338
1667
|
reference: Reference
|
|
1339
1668
|
refund: Refund
|
|
1340
1669
|
refund_amount: Refund Amount
|
|
1670
|
+
refund_exceeds_balance: That is more than the amount still refundable.
|
|
1341
1671
|
refunds: Refunds
|
|
1342
1672
|
register: Register
|
|
1343
1673
|
registration: Registration
|
|
1344
1674
|
reimburse: Reimburse
|
|
1345
1675
|
reimbursed: Reimbursed
|
|
1346
|
-
reimbursement: Reimbursement
|
|
1347
|
-
reimbursement_mailer:
|
|
1348
|
-
reimbursement_email:
|
|
1349
|
-
days_to_send: You have %{days} days to send back any items awaiting exchange.
|
|
1350
|
-
dear_customer: Dear %{name},
|
|
1351
|
-
exchange_summary: Exchange Summary
|
|
1352
|
-
instructions: Your reimbursement has been processed.
|
|
1353
|
-
refund_summary: Refund Summary
|
|
1354
|
-
store_team: "%{store_name} Team"
|
|
1355
|
-
subject: Reimbursement Notification
|
|
1356
|
-
thanks: Thank you for your business.
|
|
1357
|
-
total_refunded: 'Total refunded: %{total}'
|
|
1358
|
-
reimbursement_status: Reimbursement status
|
|
1359
|
-
reimbursement_type: Reimbursement type
|
|
1360
|
-
reimbursement_types: Reimbursement Types
|
|
1361
|
-
reimbursements: Reimbursements
|
|
1362
1676
|
reject: Reject
|
|
1363
1677
|
rejected: Rejected
|
|
1364
1678
|
remember_me: Remember me
|
|
@@ -1366,15 +1680,315 @@ en:
|
|
|
1366
1680
|
remove_gift_card_on_completed_order_error: You can't remove the gift card after the order was placed
|
|
1367
1681
|
rename: Rename
|
|
1368
1682
|
report: Report
|
|
1369
|
-
report_mailer:
|
|
1370
|
-
greeting: Hi %{user_name},
|
|
1371
|
-
report_done:
|
|
1372
|
-
message: Please use the link below to download it.
|
|
1373
|
-
subject: Your report %{report_name} is ready
|
|
1374
|
-
thanks: Thank you,
|
|
1375
1683
|
report_names:
|
|
1376
1684
|
products_performance: Products performance
|
|
1377
1685
|
sales_total: Sales total
|
|
1686
|
+
reporting:
|
|
1687
|
+
dimensions:
|
|
1688
|
+
cart_channel:
|
|
1689
|
+
description: The channel the cart was started in.
|
|
1690
|
+
label: Sales channel
|
|
1691
|
+
cart_status:
|
|
1692
|
+
description: Whether the cart converted into an order, was abandoned, or is still active.
|
|
1693
|
+
label: Cart status
|
|
1694
|
+
category:
|
|
1695
|
+
description: The category the sold product belongs to.
|
|
1696
|
+
label: Category
|
|
1697
|
+
channel:
|
|
1698
|
+
description: The channel the order came through.
|
|
1699
|
+
label: Sales channel
|
|
1700
|
+
company:
|
|
1701
|
+
description: The organisation the purchase was made for.
|
|
1702
|
+
label: Company
|
|
1703
|
+
completed_at:
|
|
1704
|
+
description: When the order was placed, bucketed by day, week or month in the store timezone.
|
|
1705
|
+
label: Date
|
|
1706
|
+
country:
|
|
1707
|
+
description: Country of the shipping address (ISO code).
|
|
1708
|
+
label: Shipping country
|
|
1709
|
+
coupon_code:
|
|
1710
|
+
description: The discount code redeemed, as recorded on the order.
|
|
1711
|
+
label: Coupon code
|
|
1712
|
+
customer:
|
|
1713
|
+
description: The customer who placed the order, by email.
|
|
1714
|
+
label: Customer
|
|
1715
|
+
customer_type:
|
|
1716
|
+
description: Whether the buyer had placed an earlier order at the time of this one.
|
|
1717
|
+
label: Customer type
|
|
1718
|
+
fulfillment_status:
|
|
1719
|
+
description: Fulfillment state of the order.
|
|
1720
|
+
label: Fulfillment status
|
|
1721
|
+
market:
|
|
1722
|
+
description: The market the order was placed in.
|
|
1723
|
+
label: Market
|
|
1724
|
+
moved_at:
|
|
1725
|
+
description: When stock moved, bucketed by day, week or month in the store timezone.
|
|
1726
|
+
label: Movement date
|
|
1727
|
+
moved_variant:
|
|
1728
|
+
description: The variant whose stock moved.
|
|
1729
|
+
label: Variant moved
|
|
1730
|
+
movement_kind:
|
|
1731
|
+
description: What happened to the stock.
|
|
1732
|
+
label: Movement type
|
|
1733
|
+
paid_at:
|
|
1734
|
+
description: When the payment was taken, bucketed by day, week or month in the store timezone.
|
|
1735
|
+
label: Payment date
|
|
1736
|
+
payment_method:
|
|
1737
|
+
description: The instrument the payment was taken through.
|
|
1738
|
+
label: Payment method
|
|
1739
|
+
payment_result:
|
|
1740
|
+
description: Whether an individual charge succeeded.
|
|
1741
|
+
label: Payment result
|
|
1742
|
+
payment_status:
|
|
1743
|
+
description: Payment state of the order.
|
|
1744
|
+
label: Payment status
|
|
1745
|
+
product:
|
|
1746
|
+
description: The product sold.
|
|
1747
|
+
label: Product
|
|
1748
|
+
promotion:
|
|
1749
|
+
description: The promotion the discount came from.
|
|
1750
|
+
label: Promotion
|
|
1751
|
+
seller:
|
|
1752
|
+
description: The seller who sold the item.
|
|
1753
|
+
label: Seller
|
|
1754
|
+
started_at:
|
|
1755
|
+
description: When the cart was started, bucketed by hour, day, week or month in the store timezone.
|
|
1756
|
+
label: Cart started
|
|
1757
|
+
stock_location:
|
|
1758
|
+
description: The location the stock moved in or out of.
|
|
1759
|
+
label: Stock location
|
|
1760
|
+
variant:
|
|
1761
|
+
description: The product variant (SKU) sold.
|
|
1762
|
+
label: Variant
|
|
1763
|
+
export:
|
|
1764
|
+
total: Total
|
|
1765
|
+
families:
|
|
1766
|
+
carts:
|
|
1767
|
+
description: Baskets started, converted and abandoned.
|
|
1768
|
+
label: Carts
|
|
1769
|
+
inventory:
|
|
1770
|
+
label: Inventory
|
|
1771
|
+
payments:
|
|
1772
|
+
label: Payments
|
|
1773
|
+
sales:
|
|
1774
|
+
label: Sales
|
|
1775
|
+
metrics:
|
|
1776
|
+
abandoned_value:
|
|
1777
|
+
description: What the abandoned carts were worth. Carts are deleted once they expire, so a range longer than the cart expiry window under-reports.
|
|
1778
|
+
label: Abandoned cart value
|
|
1779
|
+
average_order_value:
|
|
1780
|
+
description: Total sales divided by the number of orders.
|
|
1781
|
+
label: Average order value
|
|
1782
|
+
cart_conversion_rate:
|
|
1783
|
+
description: Share of carts started in the period that became orders. This counts baskets, not visits — it is not a storefront conversion rate.
|
|
1784
|
+
label: Cart conversion rate
|
|
1785
|
+
carts_abandoned:
|
|
1786
|
+
description: Carts that never completed and have been untouched for longer than the store abandoned-cart window.
|
|
1787
|
+
label: Abandoned carts
|
|
1788
|
+
carts_converted:
|
|
1789
|
+
description: Carts that became an order. A basket split across sellers counts once.
|
|
1790
|
+
label: Converted carts
|
|
1791
|
+
carts_started:
|
|
1792
|
+
description: Carts created in the period.
|
|
1793
|
+
label: Carts started
|
|
1794
|
+
commission:
|
|
1795
|
+
description: What the marketplace earned on these sales, including its tax.
|
|
1796
|
+
label: Commission
|
|
1797
|
+
cost_of_goods:
|
|
1798
|
+
description: What the goods sold cost you. Variants with no cost price count as zero.
|
|
1799
|
+
label: Cost of goods
|
|
1800
|
+
customer_lifetime_value:
|
|
1801
|
+
description: 'Everything a customer has ever spent, net of refunds. Ignores the report date range: the range selects which customers appear, not which of their orders count.'
|
|
1802
|
+
label: Customer lifetime value
|
|
1803
|
+
customers:
|
|
1804
|
+
description: Distinct customer emails that placed orders.
|
|
1805
|
+
label: Customers
|
|
1806
|
+
discounts:
|
|
1807
|
+
description: Discounts applied to the items sold.
|
|
1808
|
+
label: Discounts
|
|
1809
|
+
duties:
|
|
1810
|
+
description: Customs duties charged on the order.
|
|
1811
|
+
label: Duties
|
|
1812
|
+
fees:
|
|
1813
|
+
description: Shopper-visible fees other than duties.
|
|
1814
|
+
label: Fees
|
|
1815
|
+
gross_margin:
|
|
1816
|
+
description: Gross profit as a share of net sales.
|
|
1817
|
+
label: Gross margin
|
|
1818
|
+
gross_profit:
|
|
1819
|
+
description: Net sales less the cost of the goods sold.
|
|
1820
|
+
label: Gross profit
|
|
1821
|
+
gross_sales:
|
|
1822
|
+
description: Item prices multiplied by quantity, before discounts, returns and tax.
|
|
1823
|
+
label: Gross sales
|
|
1824
|
+
net_payments:
|
|
1825
|
+
description: Money taken less money refunded, by the instrument that moved it.
|
|
1826
|
+
label: Net payments
|
|
1827
|
+
net_sales:
|
|
1828
|
+
description: Gross sales less discounts and returns. What you actually sold.
|
|
1829
|
+
label: Net sales
|
|
1830
|
+
orders:
|
|
1831
|
+
description: Number of placed orders.
|
|
1832
|
+
label: Orders
|
|
1833
|
+
orders_lifetime:
|
|
1834
|
+
description: How many orders a customer has ever placed. Ignores the report date range, like customer lifetime value.
|
|
1835
|
+
label: Lifetime orders
|
|
1836
|
+
payments_count:
|
|
1837
|
+
description: Number of successful charges.
|
|
1838
|
+
label: Payments
|
|
1839
|
+
payments_failed:
|
|
1840
|
+
description: Number of charges that failed.
|
|
1841
|
+
label: Failed payments
|
|
1842
|
+
payments_received:
|
|
1843
|
+
description: Money successfully taken, counted when the payment was made.
|
|
1844
|
+
label: Payments received
|
|
1845
|
+
payments_refunded:
|
|
1846
|
+
description: Money refunded through these payments.
|
|
1847
|
+
label: Payments refunded
|
|
1848
|
+
promotion_discounts:
|
|
1849
|
+
description: Money discounted by promotions, shown as a positive amount.
|
|
1850
|
+
label: Promotion discounts
|
|
1851
|
+
promotion_redemptions:
|
|
1852
|
+
description: How many checkouts used a promotion. A basket split across sellers counts once.
|
|
1853
|
+
label: Promotion redemptions
|
|
1854
|
+
returns:
|
|
1855
|
+
description: Money refunded, counted in the period the refund was issued.
|
|
1856
|
+
label: Returns
|
|
1857
|
+
sell_through:
|
|
1858
|
+
description: Units shipped as a share of units received.
|
|
1859
|
+
label: Sell-through
|
|
1860
|
+
seller_payout:
|
|
1861
|
+
description: What the sellers are owed on these sales, after commission.
|
|
1862
|
+
label: Seller payout
|
|
1863
|
+
shipping:
|
|
1864
|
+
description: Delivery charged to the customer.
|
|
1865
|
+
label: Shipping
|
|
1866
|
+
taxes:
|
|
1867
|
+
description: Sum of additional and included taxes.
|
|
1868
|
+
label: Taxes
|
|
1869
|
+
total_sales:
|
|
1870
|
+
description: Net sales plus shipping, duties, fees and taxes. The money taken.
|
|
1871
|
+
label: Total sales
|
|
1872
|
+
units_adjusted:
|
|
1873
|
+
description: Units added or removed by stock corrections.
|
|
1874
|
+
label: Units adjusted
|
|
1875
|
+
units_received:
|
|
1876
|
+
description: Units booked into stock.
|
|
1877
|
+
label: Units received
|
|
1878
|
+
units_shipped:
|
|
1879
|
+
description: Units dispatched from stock.
|
|
1880
|
+
label: Units shipped
|
|
1881
|
+
units_sold:
|
|
1882
|
+
description: Sum of line item quantities.
|
|
1883
|
+
label: Units sold
|
|
1884
|
+
presets:
|
|
1885
|
+
last_12_months:
|
|
1886
|
+
label: Last 12 months
|
|
1887
|
+
last_30_days:
|
|
1888
|
+
label: Last 30 days
|
|
1889
|
+
last_4_weeks:
|
|
1890
|
+
label: Last 4 weeks
|
|
1891
|
+
last_7_days:
|
|
1892
|
+
label: Last 7 days
|
|
1893
|
+
last_90_days:
|
|
1894
|
+
label: Last 90 days
|
|
1895
|
+
last_month:
|
|
1896
|
+
label: Last month
|
|
1897
|
+
last_quarter:
|
|
1898
|
+
label: Last quarter
|
|
1899
|
+
last_week:
|
|
1900
|
+
label: Last week
|
|
1901
|
+
month_to_date:
|
|
1902
|
+
label: Month to date
|
|
1903
|
+
quarter_to_date:
|
|
1904
|
+
label: Quarter to date
|
|
1905
|
+
today:
|
|
1906
|
+
label: Today
|
|
1907
|
+
week_to_date:
|
|
1908
|
+
label: Week to date
|
|
1909
|
+
year_to_date:
|
|
1910
|
+
label: Year to date
|
|
1911
|
+
yesterday:
|
|
1912
|
+
label: Yesterday
|
|
1913
|
+
seeds:
|
|
1914
|
+
failed_payments:
|
|
1915
|
+
description: Charges that failed over the last four weeks, by payment method.
|
|
1916
|
+
name: Failed payments
|
|
1917
|
+
first_time_vs_returning:
|
|
1918
|
+
description: Sales split between first-time and returning buyers over the last four weeks.
|
|
1919
|
+
name: First-time vs returning
|
|
1920
|
+
net_sales_over_time:
|
|
1921
|
+
description: Weekly gross sales, discounts, returns and net sales over the last twelve months.
|
|
1922
|
+
name: Net sales over time
|
|
1923
|
+
orders_by_fulfillment_status:
|
|
1924
|
+
description: Order counts and sales grouped by fulfillment status over the last four weeks.
|
|
1925
|
+
name: Orders by fulfillment status
|
|
1926
|
+
orders_by_payment_status:
|
|
1927
|
+
description: Order counts and sales grouped by payment status over the last four weeks.
|
|
1928
|
+
name: Orders by payment status
|
|
1929
|
+
payments_by_method:
|
|
1930
|
+
description: What each payment method took, net of refunds, over the last four weeks.
|
|
1931
|
+
name: Payments by method
|
|
1932
|
+
payments_over_time:
|
|
1933
|
+
description: Daily payments taken and refunded over the last four weeks, compared with the previous period.
|
|
1934
|
+
name: Payments over time
|
|
1935
|
+
product_margin:
|
|
1936
|
+
description: Products ranked by gross profit over the last four weeks, with cost and margin.
|
|
1937
|
+
name: Product margin
|
|
1938
|
+
returns_over_time:
|
|
1939
|
+
description: Monthly refunds over the last twelve months, compared with the previous period.
|
|
1940
|
+
name: Returns over time
|
|
1941
|
+
sales_by_channel:
|
|
1942
|
+
description: Sales and orders per sales channel over the last four weeks.
|
|
1943
|
+
name: Sales by channel
|
|
1944
|
+
sales_by_country:
|
|
1945
|
+
description: Sales and orders by shipping country over the last four weeks.
|
|
1946
|
+
name: Sales by country
|
|
1947
|
+
sales_by_market:
|
|
1948
|
+
description: Sales and orders per market over the last four weeks.
|
|
1949
|
+
name: Sales by market
|
|
1950
|
+
sales_over_time:
|
|
1951
|
+
description: Daily sales, orders and average order value for the last four weeks, compared with the previous period.
|
|
1952
|
+
name: Sales over time
|
|
1953
|
+
sell_through_by_variant:
|
|
1954
|
+
description: Units shipped against units received per variant over the last four weeks.
|
|
1955
|
+
name: Sell-through by variant
|
|
1956
|
+
seller_payouts:
|
|
1957
|
+
description: What each seller earned last month, after the marketplace commission.
|
|
1958
|
+
name: Seller payouts
|
|
1959
|
+
stock_movement_over_time:
|
|
1960
|
+
description: Weekly units received and shipped over the last twelve months.
|
|
1961
|
+
name: Stock movement over time
|
|
1962
|
+
top_categories:
|
|
1963
|
+
description: Best-selling categories by net sales over the last four weeks.
|
|
1964
|
+
name: Top categories
|
|
1965
|
+
top_companies:
|
|
1966
|
+
description: Organisations ranked by spend over the last four weeks.
|
|
1967
|
+
name: Top companies
|
|
1968
|
+
top_customers:
|
|
1969
|
+
description: Customers ranked by spend over the last four weeks.
|
|
1970
|
+
name: Top customers
|
|
1971
|
+
top_products:
|
|
1972
|
+
description: Best-selling products by net sales over the last four weeks.
|
|
1973
|
+
name: Top products
|
|
1974
|
+
unassigned: Unassigned
|
|
1975
|
+
values:
|
|
1976
|
+
fulfillment_status:
|
|
1977
|
+
backorder: Backordered
|
|
1978
|
+
canceled: Canceled
|
|
1979
|
+
delivered: Delivered
|
|
1980
|
+
fulfilled: Fulfilled
|
|
1981
|
+
partial: Partially fulfilled
|
|
1982
|
+
unfulfilled: Unfulfilled
|
|
1983
|
+
payment_status:
|
|
1984
|
+
authorized: Authorized
|
|
1985
|
+
none: Unpaid
|
|
1986
|
+
overcharged: Overcharged
|
|
1987
|
+
paid: Paid
|
|
1988
|
+
partially_paid: Partially paid
|
|
1989
|
+
partially_refunded: Partially refunded
|
|
1990
|
+
refunded: Refunded
|
|
1991
|
+
voided: Voided
|
|
1378
1992
|
reports: Reports
|
|
1379
1993
|
required: "*"
|
|
1380
1994
|
required_fields: required fields
|
|
@@ -1386,16 +2000,18 @@ en:
|
|
|
1386
2000
|
resume: resume
|
|
1387
2001
|
resumed: Resumed
|
|
1388
2002
|
return: return
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
2003
|
+
return_errors:
|
|
2004
|
+
outside_window: This order is outside the %{days}-day return window
|
|
2005
|
+
return_mailer:
|
|
2006
|
+
refunded_email:
|
|
2007
|
+
dear_customer: Dear %{name},
|
|
2008
|
+
instructions: Your return for order %{number} has been refunded.
|
|
2009
|
+
refund_summary: Refund Summary
|
|
2010
|
+
returned_items: Returned Items
|
|
2011
|
+
store_team: "%{store_name} Team"
|
|
2012
|
+
subject: Return Refunded
|
|
2013
|
+
thanks: Thank you for your business.
|
|
2014
|
+
total_refunded: 'Total refunded: %{total}'
|
|
1399
2015
|
return_quantity: Return Quantity
|
|
1400
2016
|
returned: Returned
|
|
1401
2017
|
returns: Returns
|
|
@@ -1403,7 +2019,12 @@ en:
|
|
|
1403
2019
|
review: Review
|
|
1404
2020
|
risk: Risk
|
|
1405
2021
|
risky: Risky
|
|
2022
|
+
role_cannot_be_deleted: This role is protected or still referenced by staff members or pending invitations and cannot be deleted
|
|
1406
2023
|
role_id: Role ID
|
|
2024
|
+
role_immutable: cannot be changed on a protected role
|
|
2025
|
+
role_permissions_not_grantable_for_audience: 'cannot be granted to a %{audience} role: %{keys}'
|
|
2026
|
+
role_permissions_unknown: 'contains unknown permissions: %{keys}'
|
|
2027
|
+
role_resource_immutable: cannot be changed once the role exists
|
|
1407
2028
|
roles: Roles
|
|
1408
2029
|
row: Row
|
|
1409
2030
|
rules: Rules
|
|
@@ -1419,13 +2040,87 @@ en:
|
|
|
1419
2040
|
search_by: 'Search by:'
|
|
1420
2041
|
security: Security
|
|
1421
2042
|
seed:
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
2043
|
+
commission_rates:
|
|
2044
|
+
marketplace_default: Marketplace default
|
|
2045
|
+
delivery_profiles:
|
|
2046
|
+
digital: Digital
|
|
2047
|
+
product_types:
|
|
2048
|
+
default: Default
|
|
2049
|
+
digital: Digital
|
|
1426
2050
|
select: Select
|
|
1427
2051
|
select_stock: Select stock
|
|
1428
2052
|
selected_quantity_not_available: selected of %{item} is not available.
|
|
2053
|
+
seller: Seller
|
|
2054
|
+
seller_access_denied: You do not have access to this seller.
|
|
2055
|
+
seller_mailer:
|
|
2056
|
+
approved_email:
|
|
2057
|
+
action: Go to your dashboard
|
|
2058
|
+
heading: You're approved
|
|
2059
|
+
message: Your application to sell on %{store_name} has been approved. You can now list products and start taking orders.
|
|
2060
|
+
subject: You're approved to sell on %{store_name}
|
|
2061
|
+
get_in_touch: If you think this is a mistake, reply to this email or contact us at %{store_email}.
|
|
2062
|
+
greeting: Hi %{seller_name},
|
|
2063
|
+
rejected_email:
|
|
2064
|
+
heading: About your application
|
|
2065
|
+
message: Your application to sell on %{store_name} has not been accepted.
|
|
2066
|
+
subject: Your application to sell on %{store_name}
|
|
2067
|
+
suspended_email:
|
|
2068
|
+
heading: Your account has been suspended
|
|
2069
|
+
message: Selling on %{store_name} has been paused for your account. Your products and order history are unaffected.
|
|
2070
|
+
subject: Your %{store_name} account has been suspended
|
|
2071
|
+
seller_membership_required: This account does not belong to any seller.
|
|
2072
|
+
seller_payout_nothing_to_settle: This seller has nothing to settle right now.
|
|
2073
|
+
seller_requirement_types:
|
|
2074
|
+
accept_terms:
|
|
2075
|
+
description: Read and accept the marketplace terms
|
|
2076
|
+
name: Accept terms
|
|
2077
|
+
attestation:
|
|
2078
|
+
description: Confirm this yourself before you are approved
|
|
2079
|
+
name: Seller confirmation
|
|
2080
|
+
billing_address:
|
|
2081
|
+
description: The address your payouts are billed from
|
|
2082
|
+
name: Billing address
|
|
2083
|
+
complete_profile:
|
|
2084
|
+
description: Fill in the public profile shoppers see
|
|
2085
|
+
name: Complete profile
|
|
2086
|
+
delivery_method:
|
|
2087
|
+
description: Offer at least one way to ship your orders
|
|
2088
|
+
name: Delivery method
|
|
2089
|
+
document:
|
|
2090
|
+
description: Upload this document for the marketplace to review
|
|
2091
|
+
name: Document
|
|
2092
|
+
minimum_products:
|
|
2093
|
+
description: List at least this many products
|
|
2094
|
+
name: Minimum products
|
|
2095
|
+
operator_review:
|
|
2096
|
+
description: The marketplace checks this by hand before approving you
|
|
2097
|
+
name: Manual check
|
|
2098
|
+
package_type:
|
|
2099
|
+
description: Tell us the size and weight of the box you ship orders in
|
|
2100
|
+
name: Shipping box
|
|
2101
|
+
policy:
|
|
2102
|
+
description: Publish a policy with this name
|
|
2103
|
+
name: Seller policy
|
|
2104
|
+
required_custom_fields:
|
|
2105
|
+
description: Fill in the details the marketplace asks for
|
|
2106
|
+
name: Required custom fields
|
|
2107
|
+
returns_address:
|
|
2108
|
+
description: The address customer returns are sent to
|
|
2109
|
+
name: Returns address
|
|
2110
|
+
seller_requirements:
|
|
2111
|
+
file_required: A file is required for this requirement
|
|
2112
|
+
file_type_not_accepted: This requirement accepts %{types}
|
|
2113
|
+
incomplete: "%{name} is not complete"
|
|
2114
|
+
seller_submission_no_file: This submission has no attached file.
|
|
2115
|
+
seller_team_last_member: A seller needs at least one team member. Invite someone else before removing this one.
|
|
2116
|
+
seller_user_mailer:
|
|
2117
|
+
password_reset_email:
|
|
2118
|
+
action: Reset Password
|
|
2119
|
+
expiry_notice: This password reset link will expire shortly. If you did not request this, no action is needed.
|
|
2120
|
+
greeting: Hi %{name},
|
|
2121
|
+
ignore_notice: If you did not request a password reset, you can safely ignore this email. Your password will not be changed.
|
|
2122
|
+
instructions: We received a request to reset the password for your %{store_name} seller account. Click the button below to choose a new password.
|
|
2123
|
+
subject: Password Reset Instructions
|
|
1429
2124
|
send_consumer_transactional_emails: Send Customer Transactional Emails
|
|
1430
2125
|
seo: SEO
|
|
1431
2126
|
seo_title: SEO Title
|
|
@@ -1453,12 +2148,24 @@ en:
|
|
|
1453
2148
|
shipped: Shipped
|
|
1454
2149
|
shipping: Shipping
|
|
1455
2150
|
shipping_address: Shipping Address
|
|
1456
|
-
shipping_categories: Shipping Categories
|
|
1457
|
-
shipping_category: Shipping Category
|
|
1458
2151
|
shipping_flat_rate_per_item: Flat rate per package item
|
|
1459
2152
|
shipping_flat_rate_per_order: Flat rate
|
|
1460
2153
|
shipping_flexible_rate: Flexible Rate per package item
|
|
1461
2154
|
shipping_instructions: Shipping Instructions
|
|
2155
|
+
shipping_labels:
|
|
2156
|
+
errors:
|
|
2157
|
+
already_purchased: This parcel already has an active shipping label
|
|
2158
|
+
file_fetch_failed: The label file could not be fetched from the carrier (HTTP %{status})
|
|
2159
|
+
file_required: An uploaded label needs a file
|
|
2160
|
+
no_file_url: The carrier did not provide a file for this label
|
|
2161
|
+
not_refund_requested: Only a label awaiting the carrier's refund decision can be confirmed refunded
|
|
2162
|
+
not_refundable: Only a purchased label that has not been refunded can be refunded
|
|
2163
|
+
provider_has_no_labels: This delivery method's provider does not produce labels
|
|
2164
|
+
purchased_not_deletable: A purchased label is refunded, never deleted
|
|
2165
|
+
refund_failed: The carrier refused to refund this label
|
|
2166
|
+
return_closed: A return label can only be bought while the return is open
|
|
2167
|
+
tracking_number_required: An uploaded label needs its tracking number
|
|
2168
|
+
uploaded_not_refundable: An uploaded label was not bought through Spree and cannot be refunded — delete it instead
|
|
1462
2169
|
shipping_method: Shipping Method
|
|
1463
2170
|
shipping_methods: Shipping Methods
|
|
1464
2171
|
shipping_policy: Shipping Policy
|
|
@@ -1493,18 +2200,56 @@ en:
|
|
|
1493
2200
|
start: Start
|
|
1494
2201
|
starts_at: Starts at
|
|
1495
2202
|
state: State
|
|
1496
|
-
state_changes: State Changes
|
|
1497
2203
|
states: States
|
|
1498
2204
|
states_required: States Required
|
|
1499
2205
|
status: Status
|
|
1500
2206
|
stock: Stock
|
|
1501
|
-
|
|
2207
|
+
stock_level:
|
|
2208
|
+
errors:
|
|
2209
|
+
adjustment_exclusive_with_count_on_hand: Send either a count on hand or an adjustment, not both
|
|
2210
|
+
adjustment_not_an_integer: The adjustment must be a whole number
|
|
2211
|
+
count_on_hand_not_an_integer: The count on hand must be a whole number
|
|
2212
|
+
stock_levels: Stock Levels
|
|
1502
2213
|
stock_location: Stock Location
|
|
1503
2214
|
stock_locations: Stock Locations
|
|
2215
|
+
stock_movement:
|
|
2216
|
+
reasons:
|
|
2217
|
+
correction: Correction
|
|
2218
|
+
count: Count
|
|
2219
|
+
damaged: Damaged
|
|
2220
|
+
inventory_feed: Inventory feed
|
|
2221
|
+
manual_adjustment: Manual adjustment
|
|
2222
|
+
promotion_or_donation: Promotion or donation
|
|
2223
|
+
received: Received
|
|
2224
|
+
return_restock: Return restock
|
|
2225
|
+
theft_or_loss: Theft or loss
|
|
1504
2226
|
stock_movements: Stock Movements
|
|
2227
|
+
stock_receipt:
|
|
2228
|
+
errors:
|
|
2229
|
+
nothing_counted: A line on a delivery must count at least one unit, accepted or rejected
|
|
2230
|
+
rejection_reasons:
|
|
2231
|
+
damaged: Damaged
|
|
2232
|
+
expired: Expired
|
|
2233
|
+
other: Other
|
|
2234
|
+
wrong_item: Wrong item
|
|
1505
2235
|
stock_transfer:
|
|
1506
2236
|
errors:
|
|
2237
|
+
already_closed: This transfer has already been completed or cancelled
|
|
2238
|
+
in_transit_resolution_required: Choose whether the units come back to the source warehouse or are written off
|
|
2239
|
+
invalid_quantity: Every variant must move a quantity above zero
|
|
2240
|
+
invalid_receipt_quantity: The quantities for %{variant} cannot be negative
|
|
2241
|
+
item_not_on_document: One of the lines does not belong to this transfer
|
|
2242
|
+
locations_in_different_stores: must belong to the same store as the source location
|
|
1507
2243
|
must_have_variant: You must add at least one variant
|
|
2244
|
+
no_items_received: No units were received
|
|
2245
|
+
not_draft: Only a draft transfer can be marked as ready to ship
|
|
2246
|
+
not_editable: Only a draft transfer can be edited
|
|
2247
|
+
not_in_transit: Only a transfer in transit can be received
|
|
2248
|
+
not_partially_received: Only a partially received transfer can be closed short
|
|
2249
|
+
not_ready_to_ship: Only a transfer that is ready to ship can go back to draft
|
|
2250
|
+
not_shippable: Only a draft or ready-to-ship transfer can be marked in transit
|
|
2251
|
+
only_draft_can_be_deleted: Only a draft transfer can be deleted — cancel it instead
|
|
2252
|
+
repeated_item: "%{variant} was listed more than once. Send one entry per line, with what this delivery brought"
|
|
1508
2253
|
same_location: cannot be the same as the destination location
|
|
1509
2254
|
variants_unavailable: Some variants are not available on %{stock}
|
|
1510
2255
|
stop: Stop
|
|
@@ -1541,8 +2286,27 @@ en:
|
|
|
1541
2286
|
supported_locales: Supported Locales
|
|
1542
2287
|
tags: Tags
|
|
1543
2288
|
tax: Tax
|
|
2289
|
+
tax_capabilities:
|
|
2290
|
+
oss_thresholds:
|
|
2291
|
+
description: Crossing the EU-wide cross-border threshold does not switch to destination-country rates automatically, because it depends on annual turnover across every destination rather than on any single order.
|
|
2292
|
+
label: Distance-selling thresholds
|
|
2293
|
+
proportional_delivery_tax:
|
|
2294
|
+
description: Delivery is taxed at the single rate its delivery method names, not split across the rates of the goods being delivered. A basket mixing tax rates collects the wrong amount on delivery.
|
|
2295
|
+
label: Proportional delivery tax
|
|
2296
|
+
reverse_charge:
|
|
2297
|
+
description: A VAT-registered business buyer is charged tax instead of receiving a zero-rated invoice. Their registration number is recorded but does not change the tax.
|
|
2298
|
+
label: EU reverse charge
|
|
2299
|
+
us_local_tax:
|
|
2300
|
+
description: County, city and district rates are not applied — only the rates configured per country or state. Sales into US states that levy local tax will be under-collected.
|
|
2301
|
+
label: US local tax
|
|
1544
2302
|
tax_category: Tax Category
|
|
1545
2303
|
tax_code: Tax Code
|
|
2304
|
+
tax_identifier_kinds:
|
|
2305
|
+
au_abn: Australian Business Number
|
|
2306
|
+
ch_vat: Swiss VAT
|
|
2307
|
+
eu_vat: EU VAT
|
|
2308
|
+
gb_vat: UK VAT
|
|
2309
|
+
us_ein: US EIN
|
|
1546
2310
|
tax_inclusive: Tax inclusive
|
|
1547
2311
|
tax_rates: Tax Rates
|
|
1548
2312
|
taxes: Taxes
|
|
@@ -1597,7 +2361,6 @@ en:
|
|
|
1597
2361
|
value: Value
|
|
1598
2362
|
variant: Variant
|
|
1599
2363
|
variants: Variants
|
|
1600
|
-
vendor: Vendor
|
|
1601
2364
|
verified: Verified
|
|
1602
2365
|
verified_at: Verified at
|
|
1603
2366
|
version: Version
|