spree_core 5.6.0 → 6.0.0.beta1
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 +46 -27
- data/app/jobs/spree/imports/process_job.rb +164 -0
- data/app/jobs/spree/imports/process_rows_job.rb +4 -63
- 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/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/admin_user_methods.rb +14 -34
- 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 +16 -1
- 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 +29 -28
- 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 +119 -13
- 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 +466 -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 +5 -6
- data/app/models/spree/channel.rb +38 -4
- data/app/models/spree/channel_stock_location.rb +8 -0
- data/app/models/spree/checkout/default_requirements.rb +105 -22
- data/app/models/spree/checkout/registry.rb +64 -12
- data/app/models/spree/checkout/requirement.rb +9 -9
- data/app/models/spree/checkout/requirements.rb +25 -20
- data/app/models/spree/checkout/step.rb +12 -12
- data/app/models/spree/claim.rb +68 -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 +124 -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 +49 -44
- data/app/models/spree/exchange_line_item.rb +52 -0
- data/app/models/spree/export.rb +138 -23
- 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 +222 -92
- 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 +239 -105
- 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 -91
- data/app/models/spree/metafield_definition.rb +11 -127
- 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 +628 -571
- 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 +255 -0
- data/app/models/spree/pricing_provider.rb +28 -0
- data/app/models/spree/product.rb +539 -537
- 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 +94 -41
- data/app/models/spree/refund_reason.rb +32 -11
- data/app/models/spree/return.rb +150 -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 +11 -0
- data/app/models/spree/search_provider/database.rb +106 -9
- 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 +56 -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 +427 -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 +199 -58
- 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 +9 -23
- 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 +55 -0
- data/app/services/spree/sample_data/import_builder.rb +36 -0
- data/app/services/spree/sample_data/import_runner.rb +25 -41
- data/app/services/spree/sample_data/loader.rb +21 -63
- 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/allowed_origins.rb +3 -4
- 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 +260 -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 +955 -187
- 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/20260722000001_add_searchable_sortable_to_spree_metafield_definitions.rb +6 -0
- data/db/migrate/20260727000001_add_unique_country_abbr_index_to_spree_states.rb +53 -0
- 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/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 +1 -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 +6 -6
- data/lib/generators/spree/model/templates/model.rb.tt +7 -3
- data/lib/spree/category_permalink_deduplicator.rb +328 -0
- data/lib/spree/core/configuration.rb +96 -47
- 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 +333 -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 +59 -3
- data/lib/spree/core/preferences/preferable_class_methods.rb +41 -2
- data/lib/spree/core/preferences/runtime_configuration.rb +68 -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 +422 -62
- 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 -12
- 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_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/product_tag_tenants.rake +1 -3
- 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 +104 -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 +792 -538
- 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/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/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/metafields/boolean.rb +0 -15
- data/app/models/spree/metafields/json.rb +0 -37
- data/app/models/spree/metafields/long_text.rb +0 -7
- data/app/models/spree/metafields/number.rb +0 -15
- data/app/models/spree/metafields/rich_text.rb +0 -18
- data/app/models/spree/metafields/short_text.rb +0 -7
- 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 -130
- 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 -496
- 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 -138
- 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/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 -63
- 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 -333
- 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 -72
- 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,16 +79,15 @@ en:
|
|
|
69
79
|
spree/line_item:
|
|
70
80
|
price: Price
|
|
71
81
|
quantity: Quantity
|
|
72
|
-
spree/metafield_definition:
|
|
73
|
-
namespace: Namespace
|
|
74
82
|
spree/option_type:
|
|
75
83
|
filterable: Filterable
|
|
76
84
|
kind: Kind
|
|
85
|
+
label: Label
|
|
77
86
|
name: Name
|
|
78
|
-
presentation: Presentation
|
|
79
87
|
spree/option_value:
|
|
80
88
|
color_code: Color Code
|
|
81
89
|
image: Swatch Image
|
|
90
|
+
label: Label
|
|
82
91
|
spree/order:
|
|
83
92
|
checkout_complete: Checkout Complete
|
|
84
93
|
completed_at: Completed At
|
|
@@ -99,19 +108,19 @@ en:
|
|
|
99
108
|
spree/order/bill_address:
|
|
100
109
|
address1: Billing address street
|
|
101
110
|
city: Billing address city
|
|
102
|
-
|
|
103
|
-
|
|
111
|
+
first_name: Billing address first name
|
|
112
|
+
last_name: Billing address last name
|
|
104
113
|
phone: Billing address phone
|
|
114
|
+
postal_code: Billing address zip code
|
|
105
115
|
state: Billing address state
|
|
106
|
-
zipcode: Billing address zipcode
|
|
107
116
|
spree/order/ship_address:
|
|
108
117
|
address1: Shipping address street
|
|
109
118
|
city: Shipping address city
|
|
110
|
-
|
|
111
|
-
|
|
119
|
+
first_name: Shipping address first name
|
|
120
|
+
last_name: Shipping address last name
|
|
112
121
|
phone: Shipping address phone
|
|
122
|
+
postal_code: Shipping address zip code
|
|
113
123
|
state: Shipping address state
|
|
114
|
-
zipcode: Shipping address zipcode
|
|
115
124
|
spree/page_link:
|
|
116
125
|
open_in_new_tab: Open in new tab
|
|
117
126
|
spree/payment:
|
|
@@ -145,8 +154,9 @@ en:
|
|
|
145
154
|
more_than: More than
|
|
146
155
|
name: Name
|
|
147
156
|
on_hand: On Hand
|
|
148
|
-
shipping_category: Shipping Category
|
|
149
157
|
tax_category: Tax Category
|
|
158
|
+
spree/product_type:
|
|
159
|
+
name: Name
|
|
150
160
|
spree/promotion:
|
|
151
161
|
advertise: Advertise
|
|
152
162
|
code: Code
|
|
@@ -165,10 +175,6 @@ en:
|
|
|
165
175
|
spree/property:
|
|
166
176
|
name: Name
|
|
167
177
|
presentation: Presentation
|
|
168
|
-
spree/prototype:
|
|
169
|
-
name: Name
|
|
170
|
-
spree/return_authorization:
|
|
171
|
-
amount: Amount
|
|
172
178
|
spree/role:
|
|
173
179
|
name: Name
|
|
174
180
|
spree/shipment:
|
|
@@ -176,14 +182,6 @@ en:
|
|
|
176
182
|
spree/state:
|
|
177
183
|
abbr: Abbreviation
|
|
178
184
|
name: Name
|
|
179
|
-
spree/state_change:
|
|
180
|
-
state_changes: State changes
|
|
181
|
-
state_from: State from
|
|
182
|
-
state_to: State to
|
|
183
|
-
timestamp: Timestamp
|
|
184
|
-
type: Type
|
|
185
|
-
updated: Updated
|
|
186
|
-
user: User
|
|
187
185
|
spree/store:
|
|
188
186
|
address: Address
|
|
189
187
|
contact_phone: Contact Phone
|
|
@@ -203,11 +201,12 @@ en:
|
|
|
203
201
|
url: Site URL
|
|
204
202
|
spree/store_credit:
|
|
205
203
|
amount_used: Amount used
|
|
206
|
-
spree/store_credit_category:
|
|
207
|
-
name: Name
|
|
208
204
|
spree/tax_category:
|
|
209
205
|
description: Description
|
|
210
206
|
name: Name
|
|
207
|
+
spree/tax_identifier:
|
|
208
|
+
kind: Registration type
|
|
209
|
+
value: Number
|
|
211
210
|
spree/tax_rate:
|
|
212
211
|
amount: Rate
|
|
213
212
|
included_in_price: Included in Price
|
|
@@ -229,11 +228,15 @@ en:
|
|
|
229
228
|
cost_price: Cost Price
|
|
230
229
|
depth: Depth
|
|
231
230
|
height: Height
|
|
231
|
+
minimum_order_quantity: Minimum order quantity
|
|
232
|
+
order_multiple: Order multiple
|
|
232
233
|
price: Price
|
|
234
|
+
purchase_unit: Purchase unit
|
|
233
235
|
sku: SKU
|
|
236
|
+
units_per_carton: Units per carton
|
|
234
237
|
weight: Weight
|
|
235
238
|
width: Width
|
|
236
|
-
spree/
|
|
239
|
+
spree/wishlist_item:
|
|
237
240
|
variant: ''
|
|
238
241
|
spree/zone:
|
|
239
242
|
description: Description
|
|
@@ -245,6 +248,10 @@ en:
|
|
|
245
248
|
errors:
|
|
246
249
|
messages:
|
|
247
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
|
|
248
255
|
models:
|
|
249
256
|
spree/allowed_origin:
|
|
250
257
|
attributes:
|
|
@@ -263,24 +270,64 @@ en:
|
|
|
263
270
|
values_should_be_percent: Tier values should all be percentages between 0% and 100%
|
|
264
271
|
preferred_tiers:
|
|
265
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
|
|
266
287
|
spree/classification:
|
|
267
288
|
attributes:
|
|
268
289
|
taxon_id:
|
|
269
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
|
|
270
302
|
spree/credit_card:
|
|
271
303
|
attributes:
|
|
272
304
|
base:
|
|
273
305
|
card_expired: Card has expired
|
|
274
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.
|
|
275
327
|
spree/gift_card:
|
|
276
328
|
attributes:
|
|
277
329
|
base:
|
|
278
330
|
cannot_destroy_used_gift_card: Can't delete a used gift card
|
|
279
|
-
spree/image:
|
|
280
|
-
attributes:
|
|
281
|
-
attachment:
|
|
282
|
-
attachment_must_be_present: must be present
|
|
283
|
-
not_allowed_content_type: has not allowed content type
|
|
284
331
|
spree/import:
|
|
285
332
|
attributes:
|
|
286
333
|
attachment:
|
|
@@ -309,18 +356,51 @@ en:
|
|
|
309
356
|
country:
|
|
310
357
|
already_in_market: is already assigned to another market in this store
|
|
311
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
|
|
312
372
|
spree/payment:
|
|
313
373
|
attributes:
|
|
314
374
|
amount:
|
|
315
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
|
|
316
385
|
spree/price_list:
|
|
317
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.
|
|
318
391
|
ends_at:
|
|
319
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
|
|
320
397
|
spree/product:
|
|
321
398
|
attributes:
|
|
322
399
|
base:
|
|
323
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.
|
|
324
404
|
discontinue_on:
|
|
325
405
|
invalid_date_range: must be later than available date
|
|
326
406
|
spree/product_publication:
|
|
@@ -335,20 +415,6 @@ en:
|
|
|
335
415
|
attributes:
|
|
336
416
|
amount:
|
|
337
417
|
greater_than_allowed: is greater than the allowed amount.
|
|
338
|
-
spree/reimbursement:
|
|
339
|
-
attributes:
|
|
340
|
-
base:
|
|
341
|
-
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.
|
|
342
|
-
spree/return_item:
|
|
343
|
-
attributes:
|
|
344
|
-
inventory_unit:
|
|
345
|
-
other_completed_return_item_exists: "%{inventory_unit_id} has already been taken by return item %{return_item_id}"
|
|
346
|
-
reimbursement:
|
|
347
|
-
cannot_be_associated_unless_accepted: cannot be associated to a return item that is not accepted.
|
|
348
|
-
spree/shipping_method:
|
|
349
|
-
attributes:
|
|
350
|
-
base:
|
|
351
|
-
required_shipping_category: You must select at least one shipping category
|
|
352
418
|
spree/store:
|
|
353
419
|
attributes:
|
|
354
420
|
base:
|
|
@@ -360,10 +426,16 @@ en:
|
|
|
360
426
|
amount_used:
|
|
361
427
|
cannot_be_greater_than_amount: Cannot be greater than amount.
|
|
362
428
|
greater_than_zero_restrict_delete: is greater than zero. Can not delete store credit.
|
|
363
|
-
spree/
|
|
429
|
+
spree/tax_exemption_certificate:
|
|
364
430
|
attributes:
|
|
365
|
-
|
|
366
|
-
|
|
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
|
|
367
439
|
spree/taxon_image:
|
|
368
440
|
attributes:
|
|
369
441
|
attachment:
|
|
@@ -380,13 +452,18 @@ en:
|
|
|
380
452
|
attributes:
|
|
381
453
|
base:
|
|
382
454
|
cannot_destroy_if_attached_to_line_items: Cannot delete Variants that are added to placed Orders. In such cases, please discontinue them.
|
|
383
|
-
|
|
384
|
-
|
|
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
|
|
385
461
|
spree/webhook_endpoint:
|
|
386
462
|
attributes:
|
|
387
463
|
url:
|
|
388
464
|
internal_address_not_allowed: must not point to an internal or private network address
|
|
389
|
-
|
|
465
|
+
invalid_url: must be a valid http or https URL
|
|
466
|
+
spree/wishlist_item:
|
|
390
467
|
attributes:
|
|
391
468
|
variant:
|
|
392
469
|
taken: You already added this item to your wishlist
|
|
@@ -415,10 +492,7 @@ en:
|
|
|
415
492
|
spree/customer_group_user:
|
|
416
493
|
one: Customer Group User
|
|
417
494
|
other: Customer Group Users
|
|
418
|
-
spree/
|
|
419
|
-
one: Customer Return
|
|
420
|
-
other: Customer Returns
|
|
421
|
-
spree/digital:
|
|
495
|
+
spree/digital_asset:
|
|
422
496
|
one: Digital asset
|
|
423
497
|
other: Digital assets
|
|
424
498
|
spree/export:
|
|
@@ -472,6 +546,9 @@ en:
|
|
|
472
546
|
spree/product:
|
|
473
547
|
one: Product
|
|
474
548
|
other: Products
|
|
549
|
+
spree/product_type:
|
|
550
|
+
one: Product Type
|
|
551
|
+
other: Product Types
|
|
475
552
|
spree/promotion:
|
|
476
553
|
one: Promotion
|
|
477
554
|
other: Promotions
|
|
@@ -481,45 +558,36 @@ en:
|
|
|
481
558
|
spree/property:
|
|
482
559
|
one: Property
|
|
483
560
|
other: Properties
|
|
484
|
-
spree/
|
|
485
|
-
one:
|
|
486
|
-
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
|
|
487
567
|
spree/refund_reason:
|
|
488
568
|
one: Refund Reason
|
|
489
569
|
other: Refund Reasons
|
|
490
|
-
spree/
|
|
491
|
-
one:
|
|
492
|
-
other:
|
|
493
|
-
spree/
|
|
494
|
-
one:
|
|
495
|
-
other:
|
|
496
|
-
spree/return_authorization:
|
|
497
|
-
one: Return Authorization
|
|
498
|
-
other: Return Authorizations
|
|
499
|
-
spree/return_authorization_reason:
|
|
500
|
-
one: Return Authorization Reason
|
|
501
|
-
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
|
|
502
576
|
spree/role:
|
|
503
577
|
one: Roles
|
|
504
578
|
other: Roles
|
|
505
579
|
spree/shipment:
|
|
506
580
|
one: Shipment
|
|
507
581
|
other: Shipments
|
|
508
|
-
spree/shipping_category:
|
|
509
|
-
one: Shipping Category
|
|
510
|
-
other: Shipping Categories
|
|
511
582
|
spree/shipping_method:
|
|
512
583
|
one: Shipping Method
|
|
513
584
|
other: Shipping Methods
|
|
514
585
|
spree/state:
|
|
515
586
|
one: State
|
|
516
587
|
other: States
|
|
517
|
-
spree/
|
|
518
|
-
one:
|
|
519
|
-
other:
|
|
520
|
-
spree/stock_item:
|
|
521
|
-
one: Stock Item
|
|
522
|
-
other: Stock Items
|
|
588
|
+
spree/stock_level:
|
|
589
|
+
one: Stock Level
|
|
590
|
+
other: Stock Levels
|
|
523
591
|
spree/stock_location:
|
|
524
592
|
one: Stock Location
|
|
525
593
|
other: Stock Locations
|
|
@@ -529,15 +597,18 @@ en:
|
|
|
529
597
|
spree/stock_transfer:
|
|
530
598
|
one: Stock Transfer
|
|
531
599
|
other: Stock Transfers
|
|
600
|
+
spree/stock_transfer_item:
|
|
601
|
+
one: Stock Transfer Item
|
|
602
|
+
other: Stock Transfer Items
|
|
532
603
|
spree/store:
|
|
533
604
|
one: Store
|
|
534
605
|
other: Stores
|
|
535
606
|
spree/store_credit:
|
|
536
607
|
one: Store Credit
|
|
537
608
|
other: Store Credits
|
|
538
|
-
spree/
|
|
539
|
-
one:
|
|
540
|
-
other:
|
|
609
|
+
spree/supplier:
|
|
610
|
+
one: Supplier
|
|
611
|
+
other: Suppliers
|
|
541
612
|
spree/tax_category:
|
|
542
613
|
one: Tax Category
|
|
543
614
|
other: Tax Categories
|
|
@@ -568,54 +639,20 @@ en:
|
|
|
568
639
|
address_book:
|
|
569
640
|
save: Save
|
|
570
641
|
successfully_created: New address has been successfully created
|
|
571
|
-
devise:
|
|
572
|
-
confirmations:
|
|
573
|
-
confirmed: Your account was successfully confirmed. You are now signed in.
|
|
574
|
-
send_instructions: You will receive an email with instructions about how to confirm your account in a few minutes.
|
|
575
|
-
failure:
|
|
576
|
-
inactive: Your account was not activated yet.
|
|
577
|
-
invalid: Invalid email or password.
|
|
578
|
-
invalid_token: Invalid authentication token.
|
|
579
|
-
locked: Your account is locked.
|
|
580
|
-
timeout: Your session expired, please sign in again to continue.
|
|
581
|
-
too_many_attempts: Too many attempts. Please wait a moment and try again.
|
|
582
|
-
unauthenticated: You need to sign in or sign up before continuing.
|
|
583
|
-
unconfirmed: You have to confirm your account before continuing.
|
|
584
|
-
mailer:
|
|
585
|
-
confirmation_instructions:
|
|
586
|
-
subject: Confirmation instructions
|
|
587
|
-
reset_password_instructions:
|
|
588
|
-
subject: Reset password instructions
|
|
589
|
-
unlock_instructions:
|
|
590
|
-
subject: Unlock Instructions
|
|
591
|
-
oauth_callbacks:
|
|
592
|
-
failure: Could not authorize you from %{kind} because "%{reason}".
|
|
593
|
-
success: Successfully authorized from %{kind} account.
|
|
594
|
-
unlocks:
|
|
595
|
-
send_instructions: You will receive an email with instructions about how to unlock your account in a few minutes.
|
|
596
|
-
unlocked: Your account was successfully unlocked. You are now signed in.
|
|
597
|
-
user_passwords:
|
|
598
|
-
user:
|
|
599
|
-
cannot_be_blank: Your password cannot be blank.
|
|
600
|
-
send_instructions: You will receive an email with instructions about how to reset your password in a few minutes.
|
|
601
|
-
updated: Your password was changed successfully. You are now signed in.
|
|
602
|
-
user_registrations:
|
|
603
|
-
destroyed: Bye! Your account was successfully cancelled. We hope to see you again soon.
|
|
604
|
-
inactive_signed_up: You have signed up successfully. However, we could not sign you in because your account is %{reason}.
|
|
605
|
-
signed_up: Welcome! You have signed up successfully.
|
|
606
|
-
updated: You updated your account successfully.
|
|
607
|
-
user_sessions:
|
|
608
|
-
signed_in: Signed in successfully.
|
|
609
|
-
signed_out: Signed out successfully.
|
|
610
642
|
errors:
|
|
611
643
|
messages:
|
|
612
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
|
|
613
649
|
not_a_number: is not a number
|
|
614
650
|
not_found: not found
|
|
615
651
|
not_locked: was not locked
|
|
616
652
|
not_saved:
|
|
617
653
|
one: '1 error prohibited this %{resource} from being saved:'
|
|
618
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
|
|
619
656
|
number:
|
|
620
657
|
currency:
|
|
621
658
|
format:
|
|
@@ -667,12 +704,6 @@ en:
|
|
|
667
704
|
adjustments_deleted: Adjustments Deleted
|
|
668
705
|
admin_locale: Admin locale
|
|
669
706
|
admin_user_mailer:
|
|
670
|
-
confirmation_email:
|
|
671
|
-
action: Confirm Email
|
|
672
|
-
greeting: Hi %{name},
|
|
673
|
-
ignore_notice: If you did not create this account, you can safely ignore this email.
|
|
674
|
-
instructions: Please confirm the email address for your %{store_name} admin account by clicking the button below.
|
|
675
|
-
subject: Email Confirmation Instructions
|
|
676
707
|
password_reset_email:
|
|
677
708
|
action: Reset Password
|
|
678
709
|
expiry_notice: This password reset link will expire shortly. If you did not request this, no action is needed.
|
|
@@ -744,10 +775,20 @@ en:
|
|
|
744
775
|
card_number: Card Number
|
|
745
776
|
cart: Cart
|
|
746
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.
|
|
747
779
|
cart_line_item:
|
|
780
|
+
currency_unavailable: "%{li_name} is not available in %{currency}"
|
|
748
781
|
delivery_unavailable: "%{li_name} cannot be delivered to the selected address"
|
|
749
782
|
discontinued: "%{li_name} was removed because it was discontinued"
|
|
783
|
+
invalid_price: Price must be a non-negative number
|
|
750
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.
|
|
751
792
|
categories: Categories
|
|
752
793
|
category: Category
|
|
753
794
|
change: Change
|
|
@@ -757,11 +798,13 @@ en:
|
|
|
757
798
|
charged: Charged
|
|
758
799
|
checkout: Checkout
|
|
759
800
|
checkout_requirements:
|
|
801
|
+
delivery_method_required: Select a delivery method for all fulfillments
|
|
760
802
|
email_required: Email address is required
|
|
761
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.
|
|
762
805
|
payment_required: Add a payment method
|
|
806
|
+
po_number_required: A purchase order number is required for this account
|
|
763
807
|
ship_address_required: Shipping address is required
|
|
764
|
-
shipping_method_required: Select a shipping method for all shipments
|
|
765
808
|
choose_currency: Choose Currency
|
|
766
809
|
city: City
|
|
767
810
|
clear: Clear
|
|
@@ -771,9 +814,45 @@ en:
|
|
|
771
814
|
close: Close
|
|
772
815
|
closed: Closed
|
|
773
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
|
|
774
827
|
color_code: Color Code
|
|
775
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
|
|
776
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}
|
|
777
856
|
compare_at_amount: Compare at amount
|
|
778
857
|
compare_at_price: Compare at price
|
|
779
858
|
complete: complete
|
|
@@ -812,7 +891,6 @@ en:
|
|
|
812
891
|
coupon_codes: Coupon codes
|
|
813
892
|
create: Create
|
|
814
893
|
create_new: Create new
|
|
815
|
-
create_reimbursement: Create reimbursement
|
|
816
894
|
created_at: Created at
|
|
817
895
|
created_by: Created by
|
|
818
896
|
credit: Credit
|
|
@@ -827,10 +905,21 @@ en:
|
|
|
827
905
|
currency_not_supported_by_store: is not supported by this store
|
|
828
906
|
current: Current
|
|
829
907
|
current_password: Current password
|
|
908
|
+
custom_field_definitions: Custom Field Definitions
|
|
909
|
+
custom_fields: Custom Fields
|
|
830
910
|
customer: Customer
|
|
911
|
+
customer_errors:
|
|
912
|
+
anonymize_failed: The erasure could not be completed and nothing was changed
|
|
831
913
|
customer_group: Customer Group
|
|
832
914
|
customer_groups: Customer Groups
|
|
833
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
|
|
834
923
|
password_reset_email:
|
|
835
924
|
action: Reset Password
|
|
836
925
|
expiry_notice: This password reset link will expire shortly. If you did not request this, no action is needed.
|
|
@@ -838,13 +927,15 @@ en:
|
|
|
838
927
|
ignore_notice: If you did not request a password reset, you can safely ignore this email. Your password will not be changed.
|
|
839
928
|
instructions: We received a request to reset your password. Click the button below to choose a new password.
|
|
840
929
|
subject: Password Reset Instructions
|
|
841
|
-
customer_return: Customer Return
|
|
842
|
-
customer_returns: Customer Returns
|
|
843
930
|
customer_support_email: Customer Support Email
|
|
844
931
|
customers: Customers
|
|
845
932
|
cut: Cut
|
|
846
933
|
cvv: CVV
|
|
847
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
|
|
848
939
|
date: Date
|
|
849
940
|
date_range: Date Range
|
|
850
941
|
default: Default
|
|
@@ -852,7 +943,6 @@ en:
|
|
|
852
943
|
default_country: Default Country
|
|
853
944
|
default_currency: Default currency
|
|
854
945
|
default_locale: Default locale
|
|
855
|
-
default_refund_amount: Default Refund Amount
|
|
856
946
|
default_shipping_address: Default shipping address
|
|
857
947
|
default_stock_location_name: Shop location
|
|
858
948
|
default_tax: Default Tax
|
|
@@ -860,7 +950,33 @@ en:
|
|
|
860
950
|
default_wishlist_name: Wishlist
|
|
861
951
|
delete: Delete
|
|
862
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
|
|
863
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
|
|
864
980
|
depth: Depth
|
|
865
981
|
description: Description
|
|
866
982
|
destination: Destination
|
|
@@ -869,7 +985,16 @@ en:
|
|
|
869
985
|
developers: Developers
|
|
870
986
|
digital:
|
|
871
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.
|
|
872
996
|
digital_assets: Digital assets
|
|
997
|
+
digital_assets_attachment_must_be_private: Upload the file to private storage before attaching it
|
|
873
998
|
discontinue_on: Discontinue On
|
|
874
999
|
discontinued: Discontinued
|
|
875
1000
|
discontinued_variants_present: Some line items in this order have products that are no longer available.
|
|
@@ -916,15 +1041,68 @@ en:
|
|
|
916
1041
|
error_user_does_not_have_any_store_credits: User does not have any Store Credits available
|
|
917
1042
|
errors:
|
|
918
1043
|
messages:
|
|
1044
|
+
already_a_member: already exists
|
|
919
1045
|
cannot_delete_channel_with_active_api_keys: Channel cannot be deleted while active API keys are bound to it. Revoke those keys first.
|
|
920
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
|
|
921
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.
|
|
922
1074
|
invalid_order_routing_rule: is not a registered order routing rule
|
|
923
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
|
|
924
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
|
|
925
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
|
|
926
1101
|
store_association_can_not_be_changed: The store association can not be changed
|
|
927
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
|
+
variant_product_mismatch: must belong to the same product as the variant
|
|
928
1106
|
services:
|
|
929
1107
|
get_shipping_rates:
|
|
930
1108
|
no_line_items: To generate Shipping Rates you need to add some Line Items to Order
|
|
@@ -966,27 +1144,56 @@ en:
|
|
|
966
1144
|
free_shipping: Free Shipping
|
|
967
1145
|
from: From
|
|
968
1146
|
front_end: Front End
|
|
1147
|
+
fulfillment_mailer:
|
|
1148
|
+
fulfilled_email:
|
|
1149
|
+
dear_customer: Dear %{name},
|
|
1150
|
+
delivery_method: 'Delivery method: %{delivery_method}'
|
|
1151
|
+
fulfillment_summary: Fulfillment summary for order
|
|
1152
|
+
instructions: Your order %{number} has been fulfilled
|
|
1153
|
+
store_team: "%{store_name} Team"
|
|
1154
|
+
subject: Fulfillment Notification
|
|
1155
|
+
thanks: Thank you for your business.
|
|
1156
|
+
track_information: 'Tracking Information: %{tracking}'
|
|
1157
|
+
track_link: 'Tracking Link: %{url}'
|
|
969
1158
|
fulfillments:
|
|
970
1159
|
errors:
|
|
1160
|
+
backordered_units: This fulfillment holds backordered units and cannot be handed over yet
|
|
1161
|
+
cannot_cancel: This fulfillment cannot be canceled in its current status
|
|
1162
|
+
cannot_fulfill: This fulfillment cannot be fulfilled in its current status
|
|
1163
|
+
cannot_mark_delivered: Only a fulfilled shipment can be marked delivered
|
|
1164
|
+
cannot_purchase_label: Labels can only be bought before the fulfillment ships
|
|
1165
|
+
cannot_resume: This fulfillment cannot be resumed in its current status
|
|
971
1166
|
insufficient_quantity: Requested quantity (%{requested}) for item %{item} exceeds its unfulfilled quantity (%{available})
|
|
1167
|
+
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
|
|
972
1168
|
invalid_cost: cost must be a non-negative number
|
|
973
1169
|
invalid_quantity: Quantity for item %{item} must be a positive integer
|
|
974
1170
|
invalid_status: status must be 'shipped' when provided
|
|
1171
|
+
label_purchase_failed: The label could not be purchased — check the carrier connection and try again
|
|
975
1172
|
no_items_to_fulfill: Order has no unfulfilled items
|
|
1173
|
+
not_in_fulfillment: Requested quantity (%{requested}) for item %{item} exceeds the %{available} held by this fulfillment
|
|
976
1174
|
order_canceled: Fulfillments cannot be created on a canceled order
|
|
1175
|
+
order_draft: Draft orders cannot be fulfilled — complete the order first
|
|
977
1176
|
order_not_completed: Fulfillments can only be created manually on completed orders
|
|
1177
|
+
order_not_paid: This order is not paid for yet
|
|
1178
|
+
provider_has_no_labels: This delivery method's provider does not produce labels
|
|
1179
|
+
unknown_tracking_status: "%{status} is not a known tracking status"
|
|
978
1180
|
gateway: Gateway
|
|
979
1181
|
gateway_error: Gateway Error
|
|
980
1182
|
general: General
|
|
981
1183
|
generate_code: Generate coupon code
|
|
982
1184
|
gift_card: Gift Card
|
|
1185
|
+
gift_card_already_canceled: The Gift Card has already been canceled.
|
|
983
1186
|
gift_card_already_redeemed: The Gift Card has already been redeemed.
|
|
984
1187
|
gift_card_applied: The Gift Card was successfully applied to your order!
|
|
985
1188
|
gift_card_batch: Gift Card Batch
|
|
1189
|
+
gift_card_canceled: The Gift Card has been canceled.
|
|
986
1190
|
gift_card_customer_not_logged_in: Gift Card cannot be applied with guest user.
|
|
987
1191
|
gift_card_expired: The Gift Card has expired.
|
|
1192
|
+
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.
|
|
988
1193
|
gift_card_mismatched_currency: Gift Card cannot be applied with current currency.
|
|
989
1194
|
gift_card_mismatched_customer: This gift card is associated with another user.
|
|
1195
|
+
gift_card_no_amount_remaining: The Gift Card has no amount remaining.
|
|
1196
|
+
gift_card_not_applied: The Gift Card could not be applied.
|
|
990
1197
|
gift_card_not_found: The Gift Card was not found.
|
|
991
1198
|
gift_card_removed: The Gift Card was successfully removed from your order
|
|
992
1199
|
gift_card_using_store_credit_error: You can't apply the Gift Card after you applied the store credit.
|
|
@@ -1007,6 +1214,7 @@ en:
|
|
|
1007
1214
|
implement_eligible_for_return: 'Must implement #eligible_for_return? for your EligibilityValidator.'
|
|
1008
1215
|
implement_requires_manual_intervention: 'Must implement #requires_manual_intervention? for your EligibilityValidator.'
|
|
1009
1216
|
import: Import
|
|
1217
|
+
import_has_no_failed_rows: This import has no failed rows to retry.
|
|
1010
1218
|
import_mailer:
|
|
1011
1219
|
greeting: Hi %{user_name},
|
|
1012
1220
|
import_done:
|
|
@@ -1014,6 +1222,9 @@ en:
|
|
|
1014
1222
|
message: Your import has finished. %{completed_count} rows were imported successfully.
|
|
1015
1223
|
subject: Your import %{import_number} has finished processing
|
|
1016
1224
|
view_results: View import report
|
|
1225
|
+
import_mapping_not_completed: The import's column mapping is not complete yet.
|
|
1226
|
+
import_not_mapping: This import is not being mapped.
|
|
1227
|
+
import_not_processing: This import is not processing.
|
|
1017
1228
|
in_stock: In Stock
|
|
1018
1229
|
inactive: Inactive
|
|
1019
1230
|
incl: incl.
|
|
@@ -1027,8 +1238,12 @@ en:
|
|
|
1027
1238
|
internationalization: Internationalization
|
|
1028
1239
|
invalid_credit_card: Invalid credit card.
|
|
1029
1240
|
invalid_exchange_variant: Invalid exchange variant.
|
|
1241
|
+
invalid_password: Invalid password.
|
|
1030
1242
|
inventory: Inventory
|
|
1031
1243
|
invitation_accepted: Invitation accepted!
|
|
1244
|
+
invitation_already_accepted: This invitation has already been accepted.
|
|
1245
|
+
invitation_expired: This invitation has expired. Invite them again to send a new one.
|
|
1246
|
+
invitation_invitee_missing: This invitation has no invitee.
|
|
1032
1247
|
invitation_mailer:
|
|
1033
1248
|
greeting: Hi %{user_name},
|
|
1034
1249
|
invitation_accepted:
|
|
@@ -1039,6 +1254,8 @@ en:
|
|
|
1039
1254
|
link_description: 'To accept this invitation, please click the link below:'
|
|
1040
1255
|
subject: Invitation to join %{resource_name}
|
|
1041
1256
|
thanks: Thank you,
|
|
1257
|
+
invitation_not_acceptable: Invitation not found, expired, or already accepted.
|
|
1258
|
+
invitation_role_resource_mismatch: must belong to the same store or seller as the invitation
|
|
1042
1259
|
invitations: Invitations
|
|
1043
1260
|
invited_by: Invited by
|
|
1044
1261
|
iso: ISO Alpha-2
|
|
@@ -1065,7 +1282,6 @@ en:
|
|
|
1065
1282
|
locale_not_supported_by_store: is not supported by this store
|
|
1066
1283
|
location: Location
|
|
1067
1284
|
lock: Lock
|
|
1068
|
-
log_entries: Log Entries
|
|
1069
1285
|
logged_in_successfully: Logged in successfully
|
|
1070
1286
|
login: Login
|
|
1071
1287
|
logo: Logo
|
|
@@ -1091,16 +1307,12 @@ en:
|
|
|
1091
1307
|
meta_keywords: Meta Keywords
|
|
1092
1308
|
meta_title: Meta Title
|
|
1093
1309
|
metadata: Metadata
|
|
1094
|
-
metafield_definitions: Metafield Definitions
|
|
1095
|
-
metafields: Metafields
|
|
1096
1310
|
min: Min
|
|
1097
1311
|
min_quantity: Min Quantity
|
|
1098
1312
|
minimal_amount: Minimal Amount
|
|
1099
|
-
missing_return_authorization: Missing Return Authorization for %{item_name}.
|
|
1100
1313
|
month: Month
|
|
1101
1314
|
more: More
|
|
1102
1315
|
move: Move
|
|
1103
|
-
mutable: Mutable
|
|
1104
1316
|
my_account: My Account
|
|
1105
1317
|
my_orders: My Orders
|
|
1106
1318
|
name: Name
|
|
@@ -1115,7 +1327,6 @@ en:
|
|
|
1115
1327
|
new_price_list: New Price List
|
|
1116
1328
|
new_product: New Product
|
|
1117
1329
|
new_promotion: New Promotion
|
|
1118
|
-
new_return_authorization: New Return Authorization
|
|
1119
1330
|
new_state: New State
|
|
1120
1331
|
new_user: New User
|
|
1121
1332
|
new_variant: New Variant
|
|
@@ -1133,6 +1344,7 @@ en:
|
|
|
1133
1344
|
next: Next
|
|
1134
1345
|
no_cc_type: N/A
|
|
1135
1346
|
no_payment_found: No payment found
|
|
1347
|
+
no_refundable_payments: There is no payment left on this order to refund.
|
|
1136
1348
|
no_report_data: No report data
|
|
1137
1349
|
none: None
|
|
1138
1350
|
normal_amount: Normal Amount
|
|
@@ -1140,7 +1352,9 @@ en:
|
|
|
1140
1352
|
not_available: N/A
|
|
1141
1353
|
not_enough_stock: There is not enough inventory at the source location to complete this transfer.
|
|
1142
1354
|
not_found: "%{resource} is not found"
|
|
1355
|
+
not_received: This return cannot be refunded until its items are marked received.
|
|
1143
1356
|
note: Note
|
|
1357
|
+
nothing_to_refund: There is nothing left to refund on this return.
|
|
1144
1358
|
number: Number
|
|
1145
1359
|
ok: OK
|
|
1146
1360
|
on_hand: On Hand
|
|
@@ -1156,6 +1370,7 @@ en:
|
|
|
1156
1370
|
or: or
|
|
1157
1371
|
order: Order
|
|
1158
1372
|
order_canceled: Order canceled
|
|
1373
|
+
order_cannot_be_deleted: Completed orders and orders with settled payments cannot be deleted
|
|
1159
1374
|
order_mailer:
|
|
1160
1375
|
cancel_email:
|
|
1161
1376
|
dear_customer: Hey %{name},
|
|
@@ -1174,6 +1389,7 @@ en:
|
|
|
1174
1389
|
message_copy_link: 'If the button doesn''t work please copy and paste the following link to your browser:'
|
|
1175
1390
|
pay_for_order: Pay for order
|
|
1176
1391
|
subject: 'Payment link for order #%{number}'
|
|
1392
|
+
po_number: 'PO Number: %{number}'
|
|
1177
1393
|
store_owner_notification_email:
|
|
1178
1394
|
heading: New Order Received
|
|
1179
1395
|
instructions: You have received a new order.
|
|
@@ -1207,9 +1423,12 @@ en:
|
|
|
1207
1423
|
other: Other
|
|
1208
1424
|
out_of_stock: Out of Stock
|
|
1209
1425
|
outstanding_balance: Outstanding Balance
|
|
1426
|
+
package_types:
|
|
1427
|
+
default_name: Shipping box
|
|
1210
1428
|
page: Page
|
|
1211
1429
|
pages: Pages
|
|
1212
1430
|
password: Password
|
|
1431
|
+
password_required_to_create_account: Password is required to create your account.
|
|
1213
1432
|
path: Path
|
|
1214
1433
|
pay: Pay
|
|
1215
1434
|
payment: Payment
|
|
@@ -1226,16 +1445,101 @@ en:
|
|
|
1226
1445
|
percent_per_item: Percent Per Item
|
|
1227
1446
|
permalink: Permalink
|
|
1228
1447
|
permissions: Permissions
|
|
1448
|
+
permissions_catalog:
|
|
1449
|
+
groups:
|
|
1450
|
+
access: Access
|
|
1451
|
+
analytics: Analytics
|
|
1452
|
+
catalog: Catalog
|
|
1453
|
+
customers: Customers
|
|
1454
|
+
loyalty: Loyalty
|
|
1455
|
+
marketing: Marketing
|
|
1456
|
+
orders: Orders
|
|
1457
|
+
seller: Seller
|
|
1458
|
+
sellers: Sellers
|
|
1459
|
+
settings: Settings
|
|
1460
|
+
kinds:
|
|
1461
|
+
read: View
|
|
1462
|
+
write: Manage
|
|
1463
|
+
resources:
|
|
1464
|
+
api_keys:
|
|
1465
|
+
description: Create and revoke API credentials
|
|
1466
|
+
label: API keys
|
|
1467
|
+
categories:
|
|
1468
|
+
description: Category tree and taxonomies
|
|
1469
|
+
label: Categories
|
|
1470
|
+
collections:
|
|
1471
|
+
description: Manual and rule-based product collections
|
|
1472
|
+
label: Collections
|
|
1473
|
+
customers:
|
|
1474
|
+
description: Customer accounts, addresses, cards and groups
|
|
1475
|
+
label: Customers
|
|
1476
|
+
dashboard:
|
|
1477
|
+
description: Sales and performance analytics
|
|
1478
|
+
label: Analytics dashboard
|
|
1479
|
+
fulfillments:
|
|
1480
|
+
description: Pack, ship and track order fulfillments
|
|
1481
|
+
label: Fulfillments
|
|
1482
|
+
gift_cards:
|
|
1483
|
+
description: Gift cards and gift card batches
|
|
1484
|
+
label: Gift cards
|
|
1485
|
+
orders:
|
|
1486
|
+
description: Orders, line items, returns, exchanges and claims
|
|
1487
|
+
label: Orders
|
|
1488
|
+
payments:
|
|
1489
|
+
description: Order payments and payment capture
|
|
1490
|
+
label: Payments
|
|
1491
|
+
products:
|
|
1492
|
+
description: Products, variants, options, prices and media
|
|
1493
|
+
label: Products
|
|
1494
|
+
promotions:
|
|
1495
|
+
description: Promotions, rules and coupon codes
|
|
1496
|
+
label: Promotions
|
|
1497
|
+
purchasing:
|
|
1498
|
+
description: Suppliers and purchase orders
|
|
1499
|
+
label: Purchasing
|
|
1500
|
+
refunds:
|
|
1501
|
+
description: Issue and view refunds
|
|
1502
|
+
label: Refunds
|
|
1503
|
+
settings:
|
|
1504
|
+
description: Store, payment, delivery, tax and channel configuration
|
|
1505
|
+
label: Store settings
|
|
1506
|
+
staff:
|
|
1507
|
+
description: Team members, invitations, roles and their permissions
|
|
1508
|
+
label: Staff & roles
|
|
1509
|
+
stock:
|
|
1510
|
+
description: Stock levels, locations, movements and transfers
|
|
1511
|
+
label: Inventory
|
|
1512
|
+
store_credits:
|
|
1513
|
+
description: Customer store credit balances
|
|
1514
|
+
label: Store credits
|
|
1515
|
+
webhooks:
|
|
1516
|
+
description: Webhook endpoints and deliveries
|
|
1517
|
+
label: Webhooks
|
|
1229
1518
|
phone: Phone
|
|
1519
|
+
pickup:
|
|
1520
|
+
store_pickup: Store Pickup
|
|
1521
|
+
po_document_invalid: A purchase order document must be a PDF, image or Word file of %{size} or less.
|
|
1522
|
+
po_document_invalid_signed_id: The purchase order document reference is not valid.
|
|
1523
|
+
po_document_missing: This order has no attached purchase order document.
|
|
1524
|
+
po_document_too_large: is larger than %{size}.
|
|
1525
|
+
po_document_upload_incomplete: The purchase order document was not uploaded completely. Please try attaching it again.
|
|
1230
1526
|
policies: Policies
|
|
1231
1527
|
powered_by: Powered by
|
|
1232
1528
|
pre_tax_amount: Pre-Tax Amount
|
|
1233
1529
|
pre_tax_total: Pre-Tax Total
|
|
1234
|
-
preferred_reimbursement_type: Preferred Reimbursement Type
|
|
1235
1530
|
presentation: Presentation
|
|
1236
1531
|
preview: Preview
|
|
1237
1532
|
previous: Previous
|
|
1238
1533
|
price: Price
|
|
1534
|
+
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.
|
|
1535
|
+
price_list_import_failed: The price could not be written.
|
|
1536
|
+
price_list_import_invalid_amount: "%{column} must be a number like 16.50, got %{value}."
|
|
1537
|
+
price_list_import_invalid_quantity: min_quantity must be a whole number of units, got %{value}.
|
|
1538
|
+
price_list_import_no_price_list: This import is not attached to a price list.
|
|
1539
|
+
price_list_import_sku_required: SKU is required.
|
|
1540
|
+
price_list_import_too_many_breaks: A variant can carry at most %{count} quantity breaks on one price list.
|
|
1541
|
+
price_list_import_unknown_sku: No product in this store has the SKU %{sku}.
|
|
1542
|
+
price_list_import_unsupported_currency: This store does not sell in %{currency}.
|
|
1239
1543
|
price_lists: Price Lists
|
|
1240
1544
|
price_range: Price Range
|
|
1241
1545
|
price_rules:
|
|
@@ -1321,10 +1625,36 @@ en:
|
|
|
1321
1625
|
propagate_all_variants: Propagate all variants
|
|
1322
1626
|
properties: Properties
|
|
1323
1627
|
property: Property
|
|
1324
|
-
prototype: Prototype
|
|
1325
|
-
prototypes: Prototypes
|
|
1326
1628
|
provider: Provider
|
|
1327
1629
|
published_at: Published at
|
|
1630
|
+
purchase_order:
|
|
1631
|
+
errors:
|
|
1632
|
+
already_closed: This purchase order has already been received or cancelled
|
|
1633
|
+
already_receiving: A delivery has already been booked against this purchase order, so it cannot go back to draft
|
|
1634
|
+
invalid_receipt_quantity: The quantities for %{variant} cannot be negative
|
|
1635
|
+
item_not_on_document: One of the lines does not belong to this purchase order
|
|
1636
|
+
must_have_variant: You must add at least one variant
|
|
1637
|
+
no_items_received: No units were received
|
|
1638
|
+
not_draft: Only a draft purchase order can be marked as ordered
|
|
1639
|
+
not_editable: Only a draft purchase order can be edited
|
|
1640
|
+
not_ordered: Only a purchase order that has been placed can be received
|
|
1641
|
+
not_ordered_for_draft: Only a placed purchase order can go back to draft
|
|
1642
|
+
not_partially_received: Only a partially received purchase order can be closed short
|
|
1643
|
+
only_draft_can_be_deleted: Only a draft purchase order can be deleted — cancel it instead
|
|
1644
|
+
repeated_item: "%{variant} was listed more than once. Send one entry per line, with what this delivery brought"
|
|
1645
|
+
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.
|
|
1646
|
+
purchase_order_import_destination_required: Destination is required.
|
|
1647
|
+
purchase_order_import_failed: The purchase order could not be written.
|
|
1648
|
+
purchase_order_import_invalid_cost: unit_cost must be a number like 16.50, got %{value}.
|
|
1649
|
+
purchase_order_import_invalid_date: "%{column} must be a full date like 2026-03-31, got %{value}."
|
|
1650
|
+
purchase_order_import_invalid_quantity: quantity must be a whole number above zero, got %{value}.
|
|
1651
|
+
purchase_order_import_reference_required: Reference is required — it is what groups a file's rows into orders.
|
|
1652
|
+
purchase_order_import_sku_required: SKU is required.
|
|
1653
|
+
purchase_order_import_supplier_required: Supplier is required.
|
|
1654
|
+
purchase_order_import_unknown_destination: This store has no warehouse named %{name}.
|
|
1655
|
+
purchase_order_import_unknown_sku: No product in this store has the SKU %{sku}.
|
|
1656
|
+
purchase_order_import_unknown_supplier: This store has no supplier named %{name}. Add them first.
|
|
1657
|
+
purchase_order_import_unsupported_currency: This store does not buy in %{currency}.
|
|
1328
1658
|
qty: Qty
|
|
1329
1659
|
quantity: Quantity
|
|
1330
1660
|
query: Query
|
|
@@ -1336,27 +1666,12 @@ en:
|
|
|
1336
1666
|
reference: Reference
|
|
1337
1667
|
refund: Refund
|
|
1338
1668
|
refund_amount: Refund Amount
|
|
1669
|
+
refund_exceeds_balance: That is more than the amount still refundable.
|
|
1339
1670
|
refunds: Refunds
|
|
1340
1671
|
register: Register
|
|
1341
1672
|
registration: Registration
|
|
1342
1673
|
reimburse: Reimburse
|
|
1343
1674
|
reimbursed: Reimbursed
|
|
1344
|
-
reimbursement: Reimbursement
|
|
1345
|
-
reimbursement_mailer:
|
|
1346
|
-
reimbursement_email:
|
|
1347
|
-
days_to_send: You have %{days} days to send back any items awaiting exchange.
|
|
1348
|
-
dear_customer: Dear %{name},
|
|
1349
|
-
exchange_summary: Exchange Summary
|
|
1350
|
-
instructions: Your reimbursement has been processed.
|
|
1351
|
-
refund_summary: Refund Summary
|
|
1352
|
-
store_team: "%{store_name} Team"
|
|
1353
|
-
subject: Reimbursement Notification
|
|
1354
|
-
thanks: Thank you for your business.
|
|
1355
|
-
total_refunded: 'Total refunded: %{total}'
|
|
1356
|
-
reimbursement_status: Reimbursement status
|
|
1357
|
-
reimbursement_type: Reimbursement type
|
|
1358
|
-
reimbursement_types: Reimbursement Types
|
|
1359
|
-
reimbursements: Reimbursements
|
|
1360
1675
|
reject: Reject
|
|
1361
1676
|
rejected: Rejected
|
|
1362
1677
|
remember_me: Remember me
|
|
@@ -1364,15 +1679,315 @@ en:
|
|
|
1364
1679
|
remove_gift_card_on_completed_order_error: You can't remove the gift card after the order was placed
|
|
1365
1680
|
rename: Rename
|
|
1366
1681
|
report: Report
|
|
1367
|
-
report_mailer:
|
|
1368
|
-
greeting: Hi %{user_name},
|
|
1369
|
-
report_done:
|
|
1370
|
-
message: Please use the link below to download it.
|
|
1371
|
-
subject: Your report %{report_name} is ready
|
|
1372
|
-
thanks: Thank you,
|
|
1373
1682
|
report_names:
|
|
1374
1683
|
products_performance: Products performance
|
|
1375
1684
|
sales_total: Sales total
|
|
1685
|
+
reporting:
|
|
1686
|
+
dimensions:
|
|
1687
|
+
cart_channel:
|
|
1688
|
+
description: The channel the cart was started in.
|
|
1689
|
+
label: Sales channel
|
|
1690
|
+
cart_status:
|
|
1691
|
+
description: Whether the cart converted into an order, was abandoned, or is still active.
|
|
1692
|
+
label: Cart status
|
|
1693
|
+
category:
|
|
1694
|
+
description: The category the sold product belongs to.
|
|
1695
|
+
label: Category
|
|
1696
|
+
channel:
|
|
1697
|
+
description: The channel the order came through.
|
|
1698
|
+
label: Sales channel
|
|
1699
|
+
company:
|
|
1700
|
+
description: The organisation the purchase was made for.
|
|
1701
|
+
label: Company
|
|
1702
|
+
completed_at:
|
|
1703
|
+
description: When the order was placed, bucketed by day, week or month in the store timezone.
|
|
1704
|
+
label: Date
|
|
1705
|
+
country:
|
|
1706
|
+
description: Country of the shipping address (ISO code).
|
|
1707
|
+
label: Shipping country
|
|
1708
|
+
coupon_code:
|
|
1709
|
+
description: The discount code redeemed, as recorded on the order.
|
|
1710
|
+
label: Coupon code
|
|
1711
|
+
customer:
|
|
1712
|
+
description: The customer who placed the order, by email.
|
|
1713
|
+
label: Customer
|
|
1714
|
+
customer_type:
|
|
1715
|
+
description: Whether the buyer had placed an earlier order at the time of this one.
|
|
1716
|
+
label: Customer type
|
|
1717
|
+
fulfillment_status:
|
|
1718
|
+
description: Fulfillment state of the order.
|
|
1719
|
+
label: Fulfillment status
|
|
1720
|
+
market:
|
|
1721
|
+
description: The market the order was placed in.
|
|
1722
|
+
label: Market
|
|
1723
|
+
moved_at:
|
|
1724
|
+
description: When stock moved, bucketed by day, week or month in the store timezone.
|
|
1725
|
+
label: Movement date
|
|
1726
|
+
moved_variant:
|
|
1727
|
+
description: The variant whose stock moved.
|
|
1728
|
+
label: Variant moved
|
|
1729
|
+
movement_kind:
|
|
1730
|
+
description: What happened to the stock.
|
|
1731
|
+
label: Movement type
|
|
1732
|
+
paid_at:
|
|
1733
|
+
description: When the payment was taken, bucketed by day, week or month in the store timezone.
|
|
1734
|
+
label: Payment date
|
|
1735
|
+
payment_method:
|
|
1736
|
+
description: The instrument the payment was taken through.
|
|
1737
|
+
label: Payment method
|
|
1738
|
+
payment_result:
|
|
1739
|
+
description: Whether an individual charge succeeded.
|
|
1740
|
+
label: Payment result
|
|
1741
|
+
payment_status:
|
|
1742
|
+
description: Payment state of the order.
|
|
1743
|
+
label: Payment status
|
|
1744
|
+
product:
|
|
1745
|
+
description: The product sold.
|
|
1746
|
+
label: Product
|
|
1747
|
+
promotion:
|
|
1748
|
+
description: The promotion the discount came from.
|
|
1749
|
+
label: Promotion
|
|
1750
|
+
seller:
|
|
1751
|
+
description: The seller who sold the item.
|
|
1752
|
+
label: Seller
|
|
1753
|
+
started_at:
|
|
1754
|
+
description: When the cart was started, bucketed by hour, day, week or month in the store timezone.
|
|
1755
|
+
label: Cart started
|
|
1756
|
+
stock_location:
|
|
1757
|
+
description: The location the stock moved in or out of.
|
|
1758
|
+
label: Stock location
|
|
1759
|
+
variant:
|
|
1760
|
+
description: The product variant (SKU) sold.
|
|
1761
|
+
label: Variant
|
|
1762
|
+
export:
|
|
1763
|
+
total: Total
|
|
1764
|
+
families:
|
|
1765
|
+
carts:
|
|
1766
|
+
description: Baskets started, converted and abandoned.
|
|
1767
|
+
label: Carts
|
|
1768
|
+
inventory:
|
|
1769
|
+
label: Inventory
|
|
1770
|
+
payments:
|
|
1771
|
+
label: Payments
|
|
1772
|
+
sales:
|
|
1773
|
+
label: Sales
|
|
1774
|
+
metrics:
|
|
1775
|
+
abandoned_value:
|
|
1776
|
+
description: What the abandoned carts were worth. Carts are deleted once they expire, so a range longer than the cart expiry window under-reports.
|
|
1777
|
+
label: Abandoned cart value
|
|
1778
|
+
average_order_value:
|
|
1779
|
+
description: Total sales divided by the number of orders.
|
|
1780
|
+
label: Average order value
|
|
1781
|
+
cart_conversion_rate:
|
|
1782
|
+
description: Share of carts started in the period that became orders. This counts baskets, not visits — it is not a storefront conversion rate.
|
|
1783
|
+
label: Cart conversion rate
|
|
1784
|
+
carts_abandoned:
|
|
1785
|
+
description: Carts that never completed and have been untouched for longer than the store abandoned-cart window.
|
|
1786
|
+
label: Abandoned carts
|
|
1787
|
+
carts_converted:
|
|
1788
|
+
description: Carts that became an order. A basket split across sellers counts once.
|
|
1789
|
+
label: Converted carts
|
|
1790
|
+
carts_started:
|
|
1791
|
+
description: Carts created in the period.
|
|
1792
|
+
label: Carts started
|
|
1793
|
+
commission:
|
|
1794
|
+
description: What the marketplace earned on these sales, including its tax.
|
|
1795
|
+
label: Commission
|
|
1796
|
+
cost_of_goods:
|
|
1797
|
+
description: What the goods sold cost you. Variants with no cost price count as zero.
|
|
1798
|
+
label: Cost of goods
|
|
1799
|
+
customer_lifetime_value:
|
|
1800
|
+
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.'
|
|
1801
|
+
label: Customer lifetime value
|
|
1802
|
+
customers:
|
|
1803
|
+
description: Distinct customer emails that placed orders.
|
|
1804
|
+
label: Customers
|
|
1805
|
+
discounts:
|
|
1806
|
+
description: Discounts applied to the items sold.
|
|
1807
|
+
label: Discounts
|
|
1808
|
+
duties:
|
|
1809
|
+
description: Customs duties charged on the order.
|
|
1810
|
+
label: Duties
|
|
1811
|
+
fees:
|
|
1812
|
+
description: Shopper-visible fees other than duties.
|
|
1813
|
+
label: Fees
|
|
1814
|
+
gross_margin:
|
|
1815
|
+
description: Gross profit as a share of net sales.
|
|
1816
|
+
label: Gross margin
|
|
1817
|
+
gross_profit:
|
|
1818
|
+
description: Net sales less the cost of the goods sold.
|
|
1819
|
+
label: Gross profit
|
|
1820
|
+
gross_sales:
|
|
1821
|
+
description: Item prices multiplied by quantity, before discounts, returns and tax.
|
|
1822
|
+
label: Gross sales
|
|
1823
|
+
net_payments:
|
|
1824
|
+
description: Money taken less money refunded, by the instrument that moved it.
|
|
1825
|
+
label: Net payments
|
|
1826
|
+
net_sales:
|
|
1827
|
+
description: Gross sales less discounts and returns. What you actually sold.
|
|
1828
|
+
label: Net sales
|
|
1829
|
+
orders:
|
|
1830
|
+
description: Number of placed orders.
|
|
1831
|
+
label: Orders
|
|
1832
|
+
orders_lifetime:
|
|
1833
|
+
description: How many orders a customer has ever placed. Ignores the report date range, like customer lifetime value.
|
|
1834
|
+
label: Lifetime orders
|
|
1835
|
+
payments_count:
|
|
1836
|
+
description: Number of successful charges.
|
|
1837
|
+
label: Payments
|
|
1838
|
+
payments_failed:
|
|
1839
|
+
description: Number of charges that failed.
|
|
1840
|
+
label: Failed payments
|
|
1841
|
+
payments_received:
|
|
1842
|
+
description: Money successfully taken, counted when the payment was made.
|
|
1843
|
+
label: Payments received
|
|
1844
|
+
payments_refunded:
|
|
1845
|
+
description: Money refunded through these payments.
|
|
1846
|
+
label: Payments refunded
|
|
1847
|
+
promotion_discounts:
|
|
1848
|
+
description: Money discounted by promotions, shown as a positive amount.
|
|
1849
|
+
label: Promotion discounts
|
|
1850
|
+
promotion_redemptions:
|
|
1851
|
+
description: How many checkouts used a promotion. A basket split across sellers counts once.
|
|
1852
|
+
label: Promotion redemptions
|
|
1853
|
+
returns:
|
|
1854
|
+
description: Money refunded, counted in the period the refund was issued.
|
|
1855
|
+
label: Returns
|
|
1856
|
+
sell_through:
|
|
1857
|
+
description: Units shipped as a share of units received.
|
|
1858
|
+
label: Sell-through
|
|
1859
|
+
seller_payout:
|
|
1860
|
+
description: What the sellers are owed on these sales, after commission.
|
|
1861
|
+
label: Seller payout
|
|
1862
|
+
shipping:
|
|
1863
|
+
description: Delivery charged to the customer.
|
|
1864
|
+
label: Shipping
|
|
1865
|
+
taxes:
|
|
1866
|
+
description: Sum of additional and included taxes.
|
|
1867
|
+
label: Taxes
|
|
1868
|
+
total_sales:
|
|
1869
|
+
description: Net sales plus shipping, duties, fees and taxes. The money taken.
|
|
1870
|
+
label: Total sales
|
|
1871
|
+
units_adjusted:
|
|
1872
|
+
description: Units added or removed by stock corrections.
|
|
1873
|
+
label: Units adjusted
|
|
1874
|
+
units_received:
|
|
1875
|
+
description: Units booked into stock.
|
|
1876
|
+
label: Units received
|
|
1877
|
+
units_shipped:
|
|
1878
|
+
description: Units dispatched from stock.
|
|
1879
|
+
label: Units shipped
|
|
1880
|
+
units_sold:
|
|
1881
|
+
description: Sum of line item quantities.
|
|
1882
|
+
label: Units sold
|
|
1883
|
+
presets:
|
|
1884
|
+
last_12_months:
|
|
1885
|
+
label: Last 12 months
|
|
1886
|
+
last_30_days:
|
|
1887
|
+
label: Last 30 days
|
|
1888
|
+
last_4_weeks:
|
|
1889
|
+
label: Last 4 weeks
|
|
1890
|
+
last_7_days:
|
|
1891
|
+
label: Last 7 days
|
|
1892
|
+
last_90_days:
|
|
1893
|
+
label: Last 90 days
|
|
1894
|
+
last_month:
|
|
1895
|
+
label: Last month
|
|
1896
|
+
last_quarter:
|
|
1897
|
+
label: Last quarter
|
|
1898
|
+
last_week:
|
|
1899
|
+
label: Last week
|
|
1900
|
+
month_to_date:
|
|
1901
|
+
label: Month to date
|
|
1902
|
+
quarter_to_date:
|
|
1903
|
+
label: Quarter to date
|
|
1904
|
+
today:
|
|
1905
|
+
label: Today
|
|
1906
|
+
week_to_date:
|
|
1907
|
+
label: Week to date
|
|
1908
|
+
year_to_date:
|
|
1909
|
+
label: Year to date
|
|
1910
|
+
yesterday:
|
|
1911
|
+
label: Yesterday
|
|
1912
|
+
seeds:
|
|
1913
|
+
failed_payments:
|
|
1914
|
+
description: Charges that failed over the last four weeks, by payment method.
|
|
1915
|
+
name: Failed payments
|
|
1916
|
+
first_time_vs_returning:
|
|
1917
|
+
description: Sales split between first-time and returning buyers over the last four weeks.
|
|
1918
|
+
name: First-time vs returning
|
|
1919
|
+
net_sales_over_time:
|
|
1920
|
+
description: Weekly gross sales, discounts, returns and net sales over the last twelve months.
|
|
1921
|
+
name: Net sales over time
|
|
1922
|
+
orders_by_fulfillment_status:
|
|
1923
|
+
description: Order counts and sales grouped by fulfillment status over the last four weeks.
|
|
1924
|
+
name: Orders by fulfillment status
|
|
1925
|
+
orders_by_payment_status:
|
|
1926
|
+
description: Order counts and sales grouped by payment status over the last four weeks.
|
|
1927
|
+
name: Orders by payment status
|
|
1928
|
+
payments_by_method:
|
|
1929
|
+
description: What each payment method took, net of refunds, over the last four weeks.
|
|
1930
|
+
name: Payments by method
|
|
1931
|
+
payments_over_time:
|
|
1932
|
+
description: Daily payments taken and refunded over the last four weeks, compared with the previous period.
|
|
1933
|
+
name: Payments over time
|
|
1934
|
+
product_margin:
|
|
1935
|
+
description: Products ranked by gross profit over the last four weeks, with cost and margin.
|
|
1936
|
+
name: Product margin
|
|
1937
|
+
returns_over_time:
|
|
1938
|
+
description: Monthly refunds over the last twelve months, compared with the previous period.
|
|
1939
|
+
name: Returns over time
|
|
1940
|
+
sales_by_channel:
|
|
1941
|
+
description: Sales and orders per sales channel over the last four weeks.
|
|
1942
|
+
name: Sales by channel
|
|
1943
|
+
sales_by_country:
|
|
1944
|
+
description: Sales and orders by shipping country over the last four weeks.
|
|
1945
|
+
name: Sales by country
|
|
1946
|
+
sales_by_market:
|
|
1947
|
+
description: Sales and orders per market over the last four weeks.
|
|
1948
|
+
name: Sales by market
|
|
1949
|
+
sales_over_time:
|
|
1950
|
+
description: Daily sales, orders and average order value for the last four weeks, compared with the previous period.
|
|
1951
|
+
name: Sales over time
|
|
1952
|
+
sell_through_by_variant:
|
|
1953
|
+
description: Units shipped against units received per variant over the last four weeks.
|
|
1954
|
+
name: Sell-through by variant
|
|
1955
|
+
seller_payouts:
|
|
1956
|
+
description: What each seller earned last month, after the marketplace commission.
|
|
1957
|
+
name: Seller payouts
|
|
1958
|
+
stock_movement_over_time:
|
|
1959
|
+
description: Weekly units received and shipped over the last twelve months.
|
|
1960
|
+
name: Stock movement over time
|
|
1961
|
+
top_categories:
|
|
1962
|
+
description: Best-selling categories by net sales over the last four weeks.
|
|
1963
|
+
name: Top categories
|
|
1964
|
+
top_companies:
|
|
1965
|
+
description: Organisations ranked by spend over the last four weeks.
|
|
1966
|
+
name: Top companies
|
|
1967
|
+
top_customers:
|
|
1968
|
+
description: Customers ranked by spend over the last four weeks.
|
|
1969
|
+
name: Top customers
|
|
1970
|
+
top_products:
|
|
1971
|
+
description: Best-selling products by net sales over the last four weeks.
|
|
1972
|
+
name: Top products
|
|
1973
|
+
unassigned: Unassigned
|
|
1974
|
+
values:
|
|
1975
|
+
fulfillment_status:
|
|
1976
|
+
backorder: Backordered
|
|
1977
|
+
canceled: Canceled
|
|
1978
|
+
delivered: Delivered
|
|
1979
|
+
fulfilled: Fulfilled
|
|
1980
|
+
partial: Partially fulfilled
|
|
1981
|
+
unfulfilled: Unfulfilled
|
|
1982
|
+
payment_status:
|
|
1983
|
+
authorized: Authorized
|
|
1984
|
+
none: Unpaid
|
|
1985
|
+
overcharged: Overcharged
|
|
1986
|
+
paid: Paid
|
|
1987
|
+
partially_paid: Partially paid
|
|
1988
|
+
partially_refunded: Partially refunded
|
|
1989
|
+
refunded: Refunded
|
|
1990
|
+
voided: Voided
|
|
1376
1991
|
reports: Reports
|
|
1377
1992
|
required: "*"
|
|
1378
1993
|
required_fields: required fields
|
|
@@ -1384,16 +1999,18 @@ en:
|
|
|
1384
1999
|
resume: resume
|
|
1385
2000
|
resumed: Resumed
|
|
1386
2001
|
return: return
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
2002
|
+
return_errors:
|
|
2003
|
+
outside_window: This order is outside the %{days}-day return window
|
|
2004
|
+
return_mailer:
|
|
2005
|
+
refunded_email:
|
|
2006
|
+
dear_customer: Dear %{name},
|
|
2007
|
+
instructions: Your return for order %{number} has been refunded.
|
|
2008
|
+
refund_summary: Refund Summary
|
|
2009
|
+
returned_items: Returned Items
|
|
2010
|
+
store_team: "%{store_name} Team"
|
|
2011
|
+
subject: Return Refunded
|
|
2012
|
+
thanks: Thank you for your business.
|
|
2013
|
+
total_refunded: 'Total refunded: %{total}'
|
|
1397
2014
|
return_quantity: Return Quantity
|
|
1398
2015
|
returned: Returned
|
|
1399
2016
|
returns: Returns
|
|
@@ -1401,7 +2018,12 @@ en:
|
|
|
1401
2018
|
review: Review
|
|
1402
2019
|
risk: Risk
|
|
1403
2020
|
risky: Risky
|
|
2021
|
+
role_cannot_be_deleted: This role is protected or still referenced by staff members or pending invitations and cannot be deleted
|
|
1404
2022
|
role_id: Role ID
|
|
2023
|
+
role_immutable: cannot be changed on a protected role
|
|
2024
|
+
role_permissions_not_grantable_for_audience: 'cannot be granted to a %{audience} role: %{keys}'
|
|
2025
|
+
role_permissions_unknown: 'contains unknown permissions: %{keys}'
|
|
2026
|
+
role_resource_immutable: cannot be changed once the role exists
|
|
1405
2027
|
roles: Roles
|
|
1406
2028
|
row: Row
|
|
1407
2029
|
rules: Rules
|
|
@@ -1417,13 +2039,87 @@ en:
|
|
|
1417
2039
|
search_by: 'Search by:'
|
|
1418
2040
|
security: Security
|
|
1419
2041
|
seed:
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
2042
|
+
commission_rates:
|
|
2043
|
+
marketplace_default: Marketplace default
|
|
2044
|
+
delivery_profiles:
|
|
2045
|
+
digital: Digital
|
|
2046
|
+
product_types:
|
|
2047
|
+
default: Default
|
|
2048
|
+
digital: Digital
|
|
1424
2049
|
select: Select
|
|
1425
2050
|
select_stock: Select stock
|
|
1426
2051
|
selected_quantity_not_available: selected of %{item} is not available.
|
|
2052
|
+
seller: Seller
|
|
2053
|
+
seller_access_denied: You do not have access to this seller.
|
|
2054
|
+
seller_mailer:
|
|
2055
|
+
approved_email:
|
|
2056
|
+
action: Go to your dashboard
|
|
2057
|
+
heading: You're approved
|
|
2058
|
+
message: Your application to sell on %{store_name} has been approved. You can now list products and start taking orders.
|
|
2059
|
+
subject: You're approved to sell on %{store_name}
|
|
2060
|
+
get_in_touch: If you think this is a mistake, reply to this email or contact us at %{store_email}.
|
|
2061
|
+
greeting: Hi %{seller_name},
|
|
2062
|
+
rejected_email:
|
|
2063
|
+
heading: About your application
|
|
2064
|
+
message: Your application to sell on %{store_name} has not been accepted.
|
|
2065
|
+
subject: Your application to sell on %{store_name}
|
|
2066
|
+
suspended_email:
|
|
2067
|
+
heading: Your account has been suspended
|
|
2068
|
+
message: Selling on %{store_name} has been paused for your account. Your products and order history are unaffected.
|
|
2069
|
+
subject: Your %{store_name} account has been suspended
|
|
2070
|
+
seller_membership_required: This account does not belong to any seller.
|
|
2071
|
+
seller_payout_nothing_to_settle: This seller has nothing to settle right now.
|
|
2072
|
+
seller_requirement_types:
|
|
2073
|
+
accept_terms:
|
|
2074
|
+
description: Read and accept the marketplace terms
|
|
2075
|
+
name: Accept terms
|
|
2076
|
+
attestation:
|
|
2077
|
+
description: Confirm this yourself before you are approved
|
|
2078
|
+
name: Seller confirmation
|
|
2079
|
+
billing_address:
|
|
2080
|
+
description: The address your payouts are billed from
|
|
2081
|
+
name: Billing address
|
|
2082
|
+
complete_profile:
|
|
2083
|
+
description: Fill in the public profile shoppers see
|
|
2084
|
+
name: Complete profile
|
|
2085
|
+
delivery_method:
|
|
2086
|
+
description: Offer at least one way to ship your orders
|
|
2087
|
+
name: Delivery method
|
|
2088
|
+
document:
|
|
2089
|
+
description: Upload this document for the marketplace to review
|
|
2090
|
+
name: Document
|
|
2091
|
+
minimum_products:
|
|
2092
|
+
description: List at least this many products
|
|
2093
|
+
name: Minimum products
|
|
2094
|
+
operator_review:
|
|
2095
|
+
description: The marketplace checks this by hand before approving you
|
|
2096
|
+
name: Manual check
|
|
2097
|
+
package_type:
|
|
2098
|
+
description: Tell us the size and weight of the box you ship orders in
|
|
2099
|
+
name: Shipping box
|
|
2100
|
+
policy:
|
|
2101
|
+
description: Publish a policy with this name
|
|
2102
|
+
name: Seller policy
|
|
2103
|
+
required_custom_fields:
|
|
2104
|
+
description: Fill in the details the marketplace asks for
|
|
2105
|
+
name: Required custom fields
|
|
2106
|
+
returns_address:
|
|
2107
|
+
description: The address customer returns are sent to
|
|
2108
|
+
name: Returns address
|
|
2109
|
+
seller_requirements:
|
|
2110
|
+
file_required: A file is required for this requirement
|
|
2111
|
+
file_type_not_accepted: This requirement accepts %{types}
|
|
2112
|
+
incomplete: "%{name} is not complete"
|
|
2113
|
+
seller_submission_no_file: This submission has no attached file.
|
|
2114
|
+
seller_team_last_member: A seller needs at least one team member. Invite someone else before removing this one.
|
|
2115
|
+
seller_user_mailer:
|
|
2116
|
+
password_reset_email:
|
|
2117
|
+
action: Reset Password
|
|
2118
|
+
expiry_notice: This password reset link will expire shortly. If you did not request this, no action is needed.
|
|
2119
|
+
greeting: Hi %{name},
|
|
2120
|
+
ignore_notice: If you did not request a password reset, you can safely ignore this email. Your password will not be changed.
|
|
2121
|
+
instructions: We received a request to reset the password for your %{store_name} seller account. Click the button below to choose a new password.
|
|
2122
|
+
subject: Password Reset Instructions
|
|
1427
2123
|
send_consumer_transactional_emails: Send Customer Transactional Emails
|
|
1428
2124
|
seo: SEO
|
|
1429
2125
|
seo_title: SEO Title
|
|
@@ -1451,12 +2147,24 @@ en:
|
|
|
1451
2147
|
shipped: Shipped
|
|
1452
2148
|
shipping: Shipping
|
|
1453
2149
|
shipping_address: Shipping Address
|
|
1454
|
-
shipping_categories: Shipping Categories
|
|
1455
|
-
shipping_category: Shipping Category
|
|
1456
2150
|
shipping_flat_rate_per_item: Flat rate per package item
|
|
1457
2151
|
shipping_flat_rate_per_order: Flat rate
|
|
1458
2152
|
shipping_flexible_rate: Flexible Rate per package item
|
|
1459
2153
|
shipping_instructions: Shipping Instructions
|
|
2154
|
+
shipping_labels:
|
|
2155
|
+
errors:
|
|
2156
|
+
already_purchased: This parcel already has an active shipping label
|
|
2157
|
+
file_fetch_failed: The label file could not be fetched from the carrier (HTTP %{status})
|
|
2158
|
+
file_required: An uploaded label needs a file
|
|
2159
|
+
no_file_url: The carrier did not provide a file for this label
|
|
2160
|
+
not_refund_requested: Only a label awaiting the carrier's refund decision can be confirmed refunded
|
|
2161
|
+
not_refundable: Only a purchased label that has not been refunded can be refunded
|
|
2162
|
+
provider_has_no_labels: This delivery method's provider does not produce labels
|
|
2163
|
+
purchased_not_deletable: A purchased label is refunded, never deleted
|
|
2164
|
+
refund_failed: The carrier refused to refund this label
|
|
2165
|
+
return_closed: A return label can only be bought while the return is open
|
|
2166
|
+
tracking_number_required: An uploaded label needs its tracking number
|
|
2167
|
+
uploaded_not_refundable: An uploaded label was not bought through Spree and cannot be refunded — delete it instead
|
|
1460
2168
|
shipping_method: Shipping Method
|
|
1461
2169
|
shipping_methods: Shipping Methods
|
|
1462
2170
|
shipping_policy: Shipping Policy
|
|
@@ -1479,7 +2187,11 @@ en:
|
|
|
1479
2187
|
skus: SKUs
|
|
1480
2188
|
slug: Slug
|
|
1481
2189
|
social: Social
|
|
2190
|
+
sort_a_to_z: A-Z
|
|
1482
2191
|
sort_by: Sort by
|
|
2192
|
+
sort_high_to_low: high-low
|
|
2193
|
+
sort_low_to_high: low-high
|
|
2194
|
+
sort_z_to_a: Z-A
|
|
1483
2195
|
source: Source
|
|
1484
2196
|
special_instructions: Special Instructions
|
|
1485
2197
|
split: Split
|
|
@@ -1487,18 +2199,56 @@ en:
|
|
|
1487
2199
|
start: Start
|
|
1488
2200
|
starts_at: Starts at
|
|
1489
2201
|
state: State
|
|
1490
|
-
state_changes: State Changes
|
|
1491
2202
|
states: States
|
|
1492
2203
|
states_required: States Required
|
|
1493
2204
|
status: Status
|
|
1494
2205
|
stock: Stock
|
|
1495
|
-
|
|
2206
|
+
stock_level:
|
|
2207
|
+
errors:
|
|
2208
|
+
adjustment_exclusive_with_count_on_hand: Send either a count on hand or an adjustment, not both
|
|
2209
|
+
adjustment_not_an_integer: The adjustment must be a whole number
|
|
2210
|
+
count_on_hand_not_an_integer: The count on hand must be a whole number
|
|
2211
|
+
stock_levels: Stock Levels
|
|
1496
2212
|
stock_location: Stock Location
|
|
1497
2213
|
stock_locations: Stock Locations
|
|
2214
|
+
stock_movement:
|
|
2215
|
+
reasons:
|
|
2216
|
+
correction: Correction
|
|
2217
|
+
count: Count
|
|
2218
|
+
damaged: Damaged
|
|
2219
|
+
inventory_feed: Inventory feed
|
|
2220
|
+
manual_adjustment: Manual adjustment
|
|
2221
|
+
promotion_or_donation: Promotion or donation
|
|
2222
|
+
received: Received
|
|
2223
|
+
return_restock: Return restock
|
|
2224
|
+
theft_or_loss: Theft or loss
|
|
1498
2225
|
stock_movements: Stock Movements
|
|
2226
|
+
stock_receipt:
|
|
2227
|
+
errors:
|
|
2228
|
+
nothing_counted: A line on a delivery must count at least one unit, accepted or rejected
|
|
2229
|
+
rejection_reasons:
|
|
2230
|
+
damaged: Damaged
|
|
2231
|
+
expired: Expired
|
|
2232
|
+
other: Other
|
|
2233
|
+
wrong_item: Wrong item
|
|
1499
2234
|
stock_transfer:
|
|
1500
2235
|
errors:
|
|
2236
|
+
already_closed: This transfer has already been completed or cancelled
|
|
2237
|
+
in_transit_resolution_required: Choose whether the units come back to the source warehouse or are written off
|
|
2238
|
+
invalid_quantity: Every variant must move a quantity above zero
|
|
2239
|
+
invalid_receipt_quantity: The quantities for %{variant} cannot be negative
|
|
2240
|
+
item_not_on_document: One of the lines does not belong to this transfer
|
|
2241
|
+
locations_in_different_stores: must belong to the same store as the source location
|
|
1501
2242
|
must_have_variant: You must add at least one variant
|
|
2243
|
+
no_items_received: No units were received
|
|
2244
|
+
not_draft: Only a draft transfer can be marked as ready to ship
|
|
2245
|
+
not_editable: Only a draft transfer can be edited
|
|
2246
|
+
not_in_transit: Only a transfer in transit can be received
|
|
2247
|
+
not_partially_received: Only a partially received transfer can be closed short
|
|
2248
|
+
not_ready_to_ship: Only a transfer that is ready to ship can go back to draft
|
|
2249
|
+
not_shippable: Only a draft or ready-to-ship transfer can be marked in transit
|
|
2250
|
+
only_draft_can_be_deleted: Only a draft transfer can be deleted — cancel it instead
|
|
2251
|
+
repeated_item: "%{variant} was listed more than once. Send one entry per line, with what this delivery brought"
|
|
1502
2252
|
same_location: cannot be the same as the destination location
|
|
1503
2253
|
variants_unavailable: Some variants are not available on %{stock}
|
|
1504
2254
|
stop: Stop
|
|
@@ -1535,8 +2285,27 @@ en:
|
|
|
1535
2285
|
supported_locales: Supported Locales
|
|
1536
2286
|
tags: Tags
|
|
1537
2287
|
tax: Tax
|
|
2288
|
+
tax_capabilities:
|
|
2289
|
+
oss_thresholds:
|
|
2290
|
+
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.
|
|
2291
|
+
label: Distance-selling thresholds
|
|
2292
|
+
proportional_delivery_tax:
|
|
2293
|
+
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.
|
|
2294
|
+
label: Proportional delivery tax
|
|
2295
|
+
reverse_charge:
|
|
2296
|
+
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.
|
|
2297
|
+
label: EU reverse charge
|
|
2298
|
+
us_local_tax:
|
|
2299
|
+
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.
|
|
2300
|
+
label: US local tax
|
|
1538
2301
|
tax_category: Tax Category
|
|
1539
2302
|
tax_code: Tax Code
|
|
2303
|
+
tax_identifier_kinds:
|
|
2304
|
+
au_abn: Australian Business Number
|
|
2305
|
+
ch_vat: Swiss VAT
|
|
2306
|
+
eu_vat: EU VAT
|
|
2307
|
+
gb_vat: UK VAT
|
|
2308
|
+
us_ein: US EIN
|
|
1540
2309
|
tax_inclusive: Tax inclusive
|
|
1541
2310
|
tax_rates: Tax Rates
|
|
1542
2311
|
taxes: Taxes
|
|
@@ -1591,7 +2360,6 @@ en:
|
|
|
1591
2360
|
value: Value
|
|
1592
2361
|
variant: Variant
|
|
1593
2362
|
variants: Variants
|
|
1594
|
-
vendor: Vendor
|
|
1595
2363
|
verified: Verified
|
|
1596
2364
|
verified_at: Verified at
|
|
1597
2365
|
version: Version
|