solidus_core 2.9.6 → 2.11.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of solidus_core might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/spree.js.erb +31 -2
- data/app/controllers/spree/base_controller.rb +1 -0
- data/app/helpers/spree/base_helper.rb +4 -4
- data/app/helpers/spree/products_helper.rb +2 -1
- data/app/jobs/spree/promotion_code_batch_job.rb +2 -2
- data/app/mailers/spree/base_mailer.rb +4 -0
- data/app/mailers/spree/order_mailer.rb +1 -1
- data/app/models/concerns/spree/active_storage_adapter.rb +116 -0
- data/app/models/concerns/spree/active_storage_adapter/attachment.rb +69 -0
- data/app/models/concerns/spree/active_storage_adapter/normalization.rb +39 -0
- data/app/models/concerns/spree/default_price.rb +1 -1
- data/app/models/concerns/spree/soft_deletable.rb +18 -0
- data/app/models/concerns/spree/user_address_book.rb +87 -33
- data/app/models/concerns/spree/user_methods.rb +5 -4
- data/app/models/spree/ability.rb +34 -10
- data/app/models/spree/address.rb +103 -30
- data/app/models/spree/address/name.rb +49 -0
- data/app/models/spree/address/state_validator.rb +71 -0
- data/app/models/spree/adjustment.rb +21 -10
- data/app/models/spree/asset.rb +1 -1
- data/app/models/spree/base.rb +1 -2
- data/app/models/spree/calculator.rb +1 -1
- data/app/models/spree/calculator/default_tax.rb +1 -1
- data/app/models/spree/calculator/percent_per_item.rb +4 -4
- data/app/models/spree/calculator/price_sack.rb +1 -1
- data/app/models/spree/calculator/shipping/flexi_rate.rb +2 -2
- data/app/models/spree/calculator/tiered_flat_rate.rb +5 -5
- data/app/models/spree/calculator/tiered_percent.rb +6 -6
- data/app/models/spree/carton.rb +3 -3
- data/app/models/spree/classification.rb +2 -2
- data/app/models/spree/credit_card.rb +6 -6
- data/app/models/spree/customer_return.rb +5 -3
- data/app/models/spree/exchange.rb +1 -1
- data/app/models/spree/image/active_storage_attachment.rb +21 -0
- data/app/models/spree/image/paperclip_attachment.rb +1 -1
- data/app/models/spree/inventory_unit.rb +5 -23
- data/app/models/spree/line_item.rb +16 -7
- data/app/models/spree/line_item_action.rb +2 -2
- data/app/models/spree/log_entry.rb +1 -1
- data/app/models/spree/option_type.rb +1 -1
- data/app/models/spree/option_value.rb +3 -3
- data/app/models/spree/option_values_variant.rb +2 -2
- data/app/models/spree/order.rb +85 -30
- data/app/models/spree/order/checkout.rb +2 -1
- data/app/models/spree/order/payments.rb +2 -2
- data/app/models/spree/order_cancellations.rb +1 -1
- data/app/models/spree/order_capturing.rb +2 -2
- data/app/models/spree/order_contents.rb +2 -2
- data/app/models/spree/order_inventory.rb +16 -4
- data/app/models/spree/order_merger.rb +6 -4
- data/app/models/spree/order_mutex.rb +1 -1
- data/app/models/spree/order_promotion.rb +4 -4
- data/app/models/spree/order_shipping.rb +1 -1
- data/app/models/spree/order_taxation.rb +3 -3
- data/app/models/spree/order_updater.rb +11 -10
- data/app/models/spree/payment.rb +10 -47
- data/app/models/spree/payment/cancellation.rb +3 -3
- data/app/models/spree/payment/processing.rb +57 -33
- data/app/models/spree/payment_capture_event.rb +1 -1
- data/app/models/spree/payment_method.rb +13 -11
- data/app/models/spree/payment_method/bogus_credit_card.rb +1 -1
- data/app/models/spree/payment_source.rb +1 -1
- data/app/models/spree/preference.rb +1 -1
- data/app/models/spree/price.rb +3 -9
- data/app/models/spree/product.rb +24 -19
- data/app/models/spree/product/scopes.rb +223 -210
- data/app/models/spree/product_option_type.rb +2 -2
- data/app/models/spree/product_promotion_rule.rb +2 -2
- data/app/models/spree/product_property.rb +2 -2
- data/app/models/spree/promotion.rb +46 -20
- data/app/models/spree/promotion/actions/create_quantity_adjustments.rb +1 -1
- data/app/models/spree/promotion/actions/free_shipping.rb +6 -5
- data/app/models/spree/promotion/rules/option_value.rb +2 -2
- data/app/models/spree/promotion/rules/product.rb +3 -3
- data/app/models/spree/promotion_action.rb +3 -9
- data/app/models/spree/promotion_chooser.rb +2 -2
- data/app/models/spree/promotion_code.rb +17 -11
- data/app/models/spree/promotion_code/batch_builder.rb +3 -3
- data/app/models/spree/promotion_code_batch.rb +2 -2
- data/app/models/spree/promotion_handler/coupon.rb +2 -2
- data/app/models/spree/promotion_rule.rb +3 -3
- data/app/models/spree/promotion_rule_role.rb +3 -3
- data/app/models/spree/promotion_rule_store.rb +2 -2
- data/app/models/spree/promotion_rule_taxon.rb +2 -2
- data/app/models/spree/promotion_rule_user.rb +2 -2
- data/app/models/spree/refund.rb +59 -17
- data/app/models/spree/reimbursement.rb +32 -13
- data/app/models/spree/reimbursement/credit.rb +2 -2
- data/app/models/spree/reimbursement/reimbursement_type_engine.rb +1 -1
- data/app/models/spree/reimbursement_tax_calculator.rb +1 -1
- data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +12 -5
- data/app/models/spree/return_authorization.rb +5 -11
- data/app/models/spree/return_item.rb +33 -61
- data/app/models/spree/return_item/eligibility_validator/default.rb +1 -1
- data/app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb +1 -1
- data/app/models/spree/role.rb +1 -1
- data/app/models/spree/role_user.rb +2 -2
- data/app/models/spree/shipment.rb +9 -43
- data/app/models/spree/shipping_calculator.rb +1 -5
- data/app/models/spree/shipping_manifest.rb +5 -5
- data/app/models/spree/shipping_method.rb +3 -10
- data/app/models/spree/shipping_method_category.rb +2 -2
- data/app/models/spree/shipping_method_stock_location.rb +2 -2
- data/app/models/spree/shipping_method_zone.rb +2 -2
- data/app/models/spree/shipping_rate.rb +2 -2
- data/app/models/spree/shipping_rate_tax.rb +3 -3
- data/app/models/spree/state.rb +2 -2
- data/app/models/spree/state_change.rb +2 -2
- data/app/models/spree/stock/differentiator.rb +1 -1
- data/app/models/spree/stock/inventory_unit_builder.rb +18 -7
- data/app/models/spree/stock/inventory_units_finalizer.rb +3 -5
- data/app/models/spree/stock/package.rb +2 -2
- data/app/models/spree/stock/simple_coordinator.rb +1 -3
- data/app/models/spree/stock_item.rb +4 -10
- data/app/models/spree/stock_location.rb +2 -2
- data/app/models/spree/stock_movement.rb +4 -2
- data/app/models/spree/stock_quantities.rb +13 -12
- data/app/models/spree/store.rb +1 -1
- data/app/models/spree/store_credit.rb +9 -15
- data/app/models/spree/store_credit_category.rb +30 -3
- data/app/models/spree/store_credit_event.rb +4 -10
- data/app/models/spree/store_credit_reason.rb +0 -4
- data/app/models/spree/store_payment_method.rb +2 -2
- data/app/models/spree/store_shipping_method.rb +2 -2
- data/app/models/spree/tax/tax_helpers.rb +1 -1
- data/app/models/spree/tax_calculator/default.rb +0 -4
- data/app/models/spree/tax_calculator/shipping_rate.rb +0 -3
- data/app/models/spree/tax_category.rb +2 -8
- data/app/models/spree/tax_rate.rb +12 -8
- data/app/models/spree/tax_rate_tax_category.rb +2 -2
- data/app/models/spree/taxon.rb +1 -1
- data/app/models/spree/taxon/active_storage_attachment.rb +19 -0
- data/app/models/spree/taxon/paperclip_attachment.rb +13 -0
- data/app/models/spree/unit_cancel.rb +5 -2
- data/app/models/spree/user_address.rb +10 -4
- data/app/models/spree/user_last_url_storer.rb +46 -0
- data/app/models/spree/user_last_url_storer/rules/authentication_rule.rb +36 -0
- data/app/models/spree/user_stock_location.rb +2 -2
- data/app/models/spree/variant.rb +17 -23
- data/app/models/spree/variant/scopes.rb +37 -29
- data/app/models/spree/variant_property_rule.rb +6 -2
- data/app/models/spree/variant_property_rule_condition.rb +2 -2
- data/app/models/spree/variant_property_rule_value.rb +2 -2
- data/app/models/spree/wallet/add_payment_sources_to_wallet.rb +9 -4
- data/app/models/spree/wallet_payment_source.rb +2 -2
- data/app/models/spree/zone.rb +2 -2
- data/app/models/spree/zone_member.rb +2 -2
- data/config/initializers/inflections.rb +5 -0
- data/config/initializers/money.rb +2 -0
- data/config/locales/en.yml +78 -8
- data/db/default/spree/countries.rb +1 -1
- data/db/default/spree/states.rb +12 -4
- data/db/default/spree/store_credit.rb +2 -2
- data/db/migrate/20180416083007_add_apply_to_all_to_variant_property_rule.rb +12 -0
- data/db/migrate/20200320144521_add_default_billng_flag_to_user_addresses.rb +6 -0
- data/db/migrate/20200530111458_add_bcc_email_to_spree_stores.rb +7 -0
- data/db/migrate/20201008213609_add_discontinue_on_to_spree_products.rb +7 -0
- data/lib/generators/solidus/install/install_generator.rb +253 -0
- data/lib/generators/{spree → solidus}/install/templates/config/initializers/spree.rb.tt +42 -3
- data/lib/generators/{spree → solidus}/install/templates/vendor/assets/javascripts/spree/backend/all.js +0 -0
- data/lib/generators/{spree → solidus}/install/templates/vendor/assets/javascripts/spree/frontend/all.js +0 -0
- data/lib/generators/{spree → solidus}/install/templates/vendor/assets/stylesheets/spree/backend/all.css +0 -0
- data/lib/generators/{spree → solidus}/install/templates/vendor/assets/stylesheets/spree/frontend/all.css +0 -0
- data/lib/generators/spree/dummy/dummy_generator.rb +2 -0
- data/lib/generators/spree/install/install_generator.rb +7 -189
- data/lib/solidus/migrations/promotions_with_code_handlers.rb +1 -1
- data/lib/spree/app_configuration.rb +135 -54
- data/lib/spree/awesome_nested_set_override.rb +44 -0
- data/lib/spree/core.rb +6 -0
- data/lib/spree/core/controller_helpers/auth.rb +18 -17
- data/lib/spree/core/controller_helpers/current_host.rb +17 -0
- data/lib/spree/core/controller_helpers/order.rb +8 -7
- data/lib/spree/core/engine.rb +41 -4
- data/lib/spree/core/importer/order.rb +47 -33
- data/lib/spree/core/importer/product.rb +2 -2
- data/lib/spree/core/permalinks.rb +1 -3
- data/lib/spree/core/product_filters.rb +16 -15
- data/lib/spree/core/role_configuration.rb +2 -2
- data/lib/spree/core/search/variant.rb +1 -1
- data/lib/spree/core/state_machines.rb +97 -0
- data/lib/spree/core/state_machines/inventory_unit.rb +42 -0
- data/lib/spree/core/state_machines/order.rb +249 -0
- data/lib/spree/core/state_machines/payment.rb +61 -0
- data/lib/spree/core/state_machines/reimbursement.rb +33 -0
- data/lib/spree/core/state_machines/return_authorization.rb +32 -0
- data/lib/spree/core/state_machines/return_item/acceptance_status.rb +51 -0
- data/lib/spree/core/state_machines/return_item/reception_status.rb +42 -0
- data/lib/spree/core/state_machines/shipment.rb +58 -0
- data/lib/spree/core/stock_configuration.rb +1 -0
- data/lib/spree/core/validators/email.rb +1 -8
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/encryptor.rb +25 -0
- data/lib/spree/event.rb +40 -7
- data/lib/spree/event/adapters/active_support_notifications.rb +32 -0
- data/lib/spree/event/configuration.rb +11 -6
- data/lib/spree/event/subscriber.rb +38 -18
- data/lib/spree/event/subscriber_registry.rb +92 -0
- data/lib/spree/i18n.rb +1 -1
- data/lib/spree/mailer_previews/carton_preview.rb +2 -1
- data/lib/spree/money.rb +2 -2
- data/lib/spree/paranoia_deprecations.rb +32 -12
- data/lib/spree/permission_sets/configuration_display.rb +14 -14
- data/lib/spree/permission_sets/default_customer.rb +16 -16
- data/lib/spree/permission_sets/order_display.rb +11 -11
- data/lib/spree/permission_sets/order_management.rb +1 -1
- data/lib/spree/permission_sets/product_display.rb +9 -9
- data/lib/spree/permission_sets/promotion_display.rb +5 -5
- data/lib/spree/permission_sets/restricted_stock_display.rb +2 -2
- data/lib/spree/permission_sets/restricted_stock_management.rb +1 -1
- data/lib/spree/permission_sets/stock_display.rb +2 -2
- data/lib/spree/permission_sets/stock_management.rb +1 -1
- data/lib/spree/permission_sets/user_display.rb +3 -3
- data/lib/spree/permission_sets/user_management.rb +7 -3
- data/lib/spree/permitted_attributes.rb +7 -6
- data/lib/spree/preferences/preferable.rb +4 -3
- data/lib/spree/preferences/preferable_class_methods.rb +22 -3
- data/lib/spree/preferences/static_model_preferences.rb +2 -2
- data/lib/spree/testing_support/ability_helpers.rb +9 -9
- data/lib/spree/testing_support/authorization_helpers.rb +1 -0
- data/lib/spree/testing_support/blacklist_urls.rb +23 -0
- data/lib/spree/testing_support/capybara_ext.rb +3 -0
- data/lib/spree/testing_support/common_rake.rb +3 -3
- data/lib/spree/testing_support/dummy_app.rb +45 -21
- data/lib/spree/testing_support/dummy_app/migrations.rb +5 -6
- data/lib/spree/testing_support/dummy_app/rake_tasks.rb +6 -4
- data/lib/spree/testing_support/factories/address_factory.rb +1 -2
- data/lib/spree/testing_support/factories/image_factory.rb +1 -1
- data/lib/spree/testing_support/factories/inventory_unit_factory.rb +8 -1
- data/lib/spree/testing_support/factories/promotion_factory.rb +13 -0
- data/lib/spree/testing_support/factories/refund_factory.rb +1 -0
- data/lib/spree/testing_support/factories/reimbursement_factory.rb +1 -1
- data/lib/spree/testing_support/factories/return_item_factory.rb +0 -1
- data/lib/spree/testing_support/factories/stock_package_factory.rb +1 -1
- data/lib/spree/testing_support/factories/store_credit_category_factory.rb +8 -0
- data/lib/spree/testing_support/factories/store_credit_event_factory.rb +1 -0
- data/lib/spree/testing_support/factories/store_credit_reason_factory.rb +3 -1
- data/lib/spree/testing_support/factories/taxon_factory.rb +4 -0
- data/lib/spree/testing_support/factories/user_factory.rb +4 -1
- data/lib/spree/testing_support/factories/zone_factory.rb +1 -1
- data/lib/spree/testing_support/job_helpers.rb +24 -0
- data/lib/spree/testing_support/precompiled_assets.rb +15 -0
- data/lib/spree/testing_support/preferences.rb +3 -1
- data/lib/spree/testing_support/shared_examples/gallery.rb +1 -1
- data/lib/spree/testing_support/translations.rb +25 -0
- data/solidus_core.gemspec +12 -9
- metadata +120 -393
- data/script/rails +0 -10
- data/spec/fixtures/thinking-cat.jpg +0 -0
- data/spec/helpers/base_helper_spec.rb +0 -168
- data/spec/helpers/products_helper_spec.rb +0 -202
- data/spec/helpers/taxons_helper_spec.rb +0 -43
- data/spec/jobs/promotion_code_batch_job_spec.rb +0 -96
- data/spec/lib/calculated_adjustments_spec.rb +0 -133
- data/spec/lib/i18n_spec.rb +0 -97
- data/spec/lib/search/base_spec.rb +0 -87
- data/spec/lib/search/variant_spec.rb +0 -115
- data/spec/lib/spree/app_configuration_spec.rb +0 -140
- data/spec/lib/spree/core/class_constantizer_spec.rb +0 -91
- data/spec/lib/spree/core/controller_helpers/auth_spec.rb +0 -73
- data/spec/lib/spree/core/controller_helpers/order_spec.rb +0 -126
- data/spec/lib/spree/core/controller_helpers/payment_parameters_spec.rb +0 -195
- data/spec/lib/spree/core/controller_helpers/pricing_spec.rb +0 -94
- data/spec/lib/spree/core/controller_helpers/search_spec.rb +0 -21
- data/spec/lib/spree/core/controller_helpers/store_spec.rb +0 -18
- data/spec/lib/spree/core/controller_helpers/strong_parameters_spec.rb +0 -48
- data/spec/lib/spree/core/current_store_spec.rb +0 -33
- data/spec/lib/spree/core/environment_extension_spec.rb +0 -46
- data/spec/lib/spree/core/importer/order_spec.rb +0 -484
- data/spec/lib/spree/core/role_configuration_spec.rb +0 -155
- data/spec/lib/spree/core/stock_configuration_spec.rb +0 -59
- data/spec/lib/spree/core/testing_support/factories/address_factory_spec.rb +0 -61
- data/spec/lib/spree/core/testing_support/factories/adjustment_factory_spec.rb +0 -20
- data/spec/lib/spree/core/testing_support/factories/adjustment_reason_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/calculator_factory_spec.rb +0 -44
- data/spec/lib/spree/core/testing_support/factories/carton_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/country_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/credit_card_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/customer_return_factory_spec.rb +0 -39
- data/spec/lib/spree/core/testing_support/factories/image_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/inventory_unit_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/line_item_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/option_type_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/option_value_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/order_factory_spec.rb +0 -376
- data/spec/lib/spree/core/testing_support/factories/order_promotion_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/payment_factory_spec.rb +0 -40
- data/spec/lib/spree/core/testing_support/factories/payment_method_factory_spec.rb +0 -32
- data/spec/lib/spree/core/testing_support/factories/price_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/product_factory_spec.rb +0 -32
- data/spec/lib/spree/core/testing_support/factories/product_option_type_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/product_property_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/promotion_category_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/promotion_code_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/promotion_factory_spec.rb +0 -32
- data/spec/lib/spree/core/testing_support/factories/property_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/refund_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/refund_reason_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/reimbursement_factory_spec.rb +0 -20
- data/spec/lib/spree/core/testing_support/factories/reimbursement_type_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/return_authorization_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/return_item_factory_spec.rb +0 -20
- data/spec/lib/spree/core/testing_support/factories/return_reason_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/role_factory_spec.rb +0 -20
- data/spec/lib/spree/core/testing_support/factories/shipment_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/shipping_category_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/shipping_method_factory_spec.rb +0 -44
- data/spec/lib/spree/core/testing_support/factories/shipping_rate_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/state_factory_spec.rb +0 -59
- data/spec/lib/spree/core/testing_support/factories/stock_item_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/stock_location_factory_spec.rb +0 -35
- data/spec/lib/spree/core/testing_support/factories/stock_movement_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/stock_package_factory_spec.rb +0 -28
- data/spec/lib/spree/core/testing_support/factories/store_credit_category_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/store_credit_event_factory_spec.rb +0 -43
- data/spec/lib/spree/core/testing_support/factories/store_credit_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/store_credit_reason_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/store_credit_type_factory_spec.rb +0 -20
- data/spec/lib/spree/core/testing_support/factories/store_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/tax_category_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/tax_rate_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/taxon_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/taxonomy_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/user_factory_spec.rb +0 -24
- data/spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb +0 -56
- data/spec/lib/spree/core/testing_support/factories/variant_property_rule_condition_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/variant_property_rule_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/variant_property_rule_value_factory_spec.rb +0 -14
- data/spec/lib/spree/core/testing_support/factories/zone_factory_spec.rb +0 -20
- data/spec/lib/spree/core/testing_support/preferences_spec.rb +0 -61
- data/spec/lib/spree/core/validators/email_spec.rb +0 -53
- data/spec/lib/spree/core/version_spec.rb +0 -19
- data/spec/lib/spree/event/subscriber_spec.rb +0 -85
- data/spec/lib/spree/event_spec.rb +0 -118
- data/spec/lib/spree/localized_number_spec.rb +0 -45
- data/spec/lib/spree/migrations_spec.rb +0 -32
- data/spec/lib/spree/money_spec.rb +0 -298
- data/spec/lib/spree/permission_sets/default_customer_spec.rb +0 -22
- data/spec/lib/spree/permitted_attributes_spec.rb +0 -41
- data/spec/lib/spree/promo/environment_spec.rb +0 -53
- data/spec/lib/tasks/dummy_task.rake +0 -12
- data/spec/lib/tasks/dummy_task_spec.rb +0 -30
- data/spec/lib/tasks/migrations/migrate_shipping_rate_taxes_spec.rb +0 -21
- data/spec/mailers/carton_mailer_spec.rb +0 -44
- data/spec/mailers/order_mailer_spec.rb +0 -117
- data/spec/mailers/promotion_code_batch_mailer_spec.rb +0 -47
- data/spec/mailers/reimbursement_mailer_spec.rb +0 -36
- data/spec/mailers/test_mailer_spec.rb +0 -13
- data/spec/migrate/20190106184413_remove_code_from_spree_promotions_spec.rb +0 -148
- data/spec/models/spree/ability_spec.rb +0 -279
- data/spec/models/spree/address_spec.rb +0 -376
- data/spec/models/spree/adjustment_reason_spec.rb +0 -11
- data/spec/models/spree/adjustment_spec.rb +0 -339
- data/spec/models/spree/asset_spec.rb +0 -25
- data/spec/models/spree/calculator/default_tax_spec.rb +0 -260
- data/spec/models/spree/calculator/distributed_amount_spec.rb +0 -82
- data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +0 -39
- data/spec/models/spree/calculator/flat_rate_spec.rb +0 -52
- data/spec/models/spree/calculator/flexi_rate_spec.rb +0 -158
- data/spec/models/spree/calculator/free_shipping_spec.rb +0 -8
- data/spec/models/spree/calculator/percent_on_line_item_spec.rb +0 -20
- data/spec/models/spree/calculator/percent_per_item_spec.rb +0 -12
- data/spec/models/spree/calculator/price_sack_spec.rb +0 -35
- data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +0 -70
- data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +0 -44
- data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +0 -18
- data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +0 -56
- data/spec/models/spree/calculator/shipping/per_item_spec.rb +0 -25
- data/spec/models/spree/calculator/shipping/price_sack_spec.rb +0 -35
- data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +0 -99
- data/spec/models/spree/calculator/tiered_percent_spec.rb +0 -197
- data/spec/models/spree/calculator_spec.rb +0 -43
- data/spec/models/spree/carton_spec.rb +0 -137
- data/spec/models/spree/classification_spec.rb +0 -114
- data/spec/models/spree/concerns/display_money_spec.rb +0 -44
- data/spec/models/spree/concerns/ordered_property_value_list_spec.rb +0 -52
- data/spec/models/spree/concerns/user_address_book_spec.rb +0 -358
- data/spec/models/spree/concerns/user_methods_spec.rb +0 -121
- data/spec/models/spree/country_spec.rb +0 -154
- data/spec/models/spree/credit_card_spec.rb +0 -373
- data/spec/models/spree/customer_return_spec.rb +0 -294
- data/spec/models/spree/distributed_amounts_handler_spec.rb +0 -83
- data/spec/models/spree/exchange_spec.rb +0 -76
- data/spec/models/spree/fulfilment_changer_spec.rb +0 -340
- data/spec/models/spree/gallery/product_gallery_spec.rb +0 -21
- data/spec/models/spree/gallery/variant_gallery_spec.rb +0 -21
- data/spec/models/spree/gateway/bogus_simple.rb +0 -14
- data/spec/models/spree/gateway/bogus_spec.rb +0 -14
- data/spec/models/spree/gateway_spec.rb +0 -14
- data/spec/models/spree/image_spec.rb +0 -25
- data/spec/models/spree/inventory_unit_spec.rb +0 -309
- data/spec/models/spree/line_item_spec.rb +0 -240
- data/spec/models/spree/option_type_spec.rb +0 -16
- data/spec/models/spree/option_value_spec.rb +0 -52
- data/spec/models/spree/order/address_spec.rb +0 -52
- data/spec/models/spree/order/adjustments_spec.rb +0 -29
- data/spec/models/spree/order/callbacks_spec.rb +0 -44
- data/spec/models/spree/order/checkout_spec.rb +0 -740
- data/spec/models/spree/order/finalizing_spec.rb +0 -92
- data/spec/models/spree/order/number_generator_spec.rb +0 -47
- data/spec/models/spree/order/outstanding_balance_integration_spec.rb +0 -138
- data/spec/models/spree/order/payment_spec.rb +0 -280
- data/spec/models/spree/order/risk_assessment_spec.rb +0 -70
- data/spec/models/spree/order/state_machine_spec.rb +0 -122
- data/spec/models/spree/order/totals_spec.rb +0 -26
- data/spec/models/spree/order/updating_spec.rb +0 -18
- data/spec/models/spree/order/validations_spec.rb +0 -17
- data/spec/models/spree/order_cancellations_spec.rb +0 -233
- data/spec/models/spree/order_capturing_spec.rb +0 -16
- data/spec/models/spree/order_contents_spec.rb +0 -362
- data/spec/models/spree/order_inventory_spec.rb +0 -285
- data/spec/models/spree/order_merger_spec.rb +0 -162
- data/spec/models/spree/order_mutex_spec.rb +0 -89
- data/spec/models/spree/order_promotion_spec.rb +0 -33
- data/spec/models/spree/order_shipping_spec.rb +0 -247
- data/spec/models/spree/order_spec.rb +0 -1694
- data/spec/models/spree/order_taxation_spec.rb +0 -128
- data/spec/models/spree/order_update_attributes_spec.rb +0 -49
- data/spec/models/spree/order_updater_spec.rb +0 -555
- data/spec/models/spree/payment/cancellation_spec.rb +0 -84
- data/spec/models/spree/payment_create_spec.rb +0 -205
- data/spec/models/spree/payment_method/bogus_credit_card_spec.rb +0 -10
- data/spec/models/spree/payment_method/check_spec.rb +0 -80
- data/spec/models/spree/payment_method/credit_card_spec.rb +0 -68
- data/spec/models/spree/payment_method/simple_bogus_credit_card_spec.rb +0 -20
- data/spec/models/spree/payment_method/store_credit_spec.rb +0 -325
- data/spec/models/spree/payment_method_spec.rb +0 -408
- data/spec/models/spree/payment_spec.rb +0 -1270
- data/spec/models/spree/permission_sets/base_spec.rb +0 -14
- data/spec/models/spree/permission_sets/configuration_display.rb +0 -79
- data/spec/models/spree/permission_sets/configuration_management_spec.rb +0 -49
- data/spec/models/spree/permission_sets/dashboard_display_spec.rb +0 -23
- data/spec/models/spree/permission_sets/order_display_spec.rb +0 -56
- data/spec/models/spree/permission_sets/order_management_spec.rb +0 -43
- data/spec/models/spree/permission_sets/product_display_spec.rb +0 -57
- data/spec/models/spree/permission_sets/product_management_spec.rb +0 -39
- data/spec/models/spree/permission_sets/promotion_display_spec.rb +0 -41
- data/spec/models/spree/permission_sets/promotion_management_spec.rb +0 -29
- data/spec/models/spree/permission_sets/restricted_stock_display_spec.rb +0 -42
- data/spec/models/spree/permission_sets/restricted_stock_management_spec.rb +0 -42
- data/spec/models/spree/permission_sets/stock_display_spec.rb +0 -25
- data/spec/models/spree/permission_sets/stock_management_spec.rb +0 -23
- data/spec/models/spree/permission_sets/user_display_spec.rb +0 -39
- data/spec/models/spree/permission_sets/user_management_spec.rb +0 -56
- data/spec/models/spree/preference_spec.rb +0 -79
- data/spec/models/spree/preferences/configuration_spec.rb +0 -27
- data/spec/models/spree/preferences/preferable_spec.rb +0 -334
- data/spec/models/spree/preferences/scoped_store_spec.rb +0 -62
- data/spec/models/spree/preferences/static_model_preferences_spec.rb +0 -79
- data/spec/models/spree/preferences/statically_configurable_spec.rb +0 -67
- data/spec/models/spree/preferences/store_spec.rb +0 -40
- data/spec/models/spree/price_spec.rb +0 -150
- data/spec/models/spree/product/scopes_spec.rb +0 -164
- data/spec/models/spree/product_duplicator_spec.rb +0 -92
- data/spec/models/spree/product_filter_spec.rb +0 -28
- data/spec/models/spree/product_property_spec.rb +0 -20
- data/spec/models/spree/product_spec.rb +0 -584
- data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +0 -126
- data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +0 -198
- data/spec/models/spree/promotion/actions/create_quantity_adjustments_spec.rb +0 -298
- data/spec/models/spree/promotion/actions/free_shipping_spec.rb +0 -61
- data/spec/models/spree/promotion/rules/first_order_spec.rb +0 -87
- data/spec/models/spree/promotion/rules/first_repeat_purchase_since_spec.rb +0 -71
- data/spec/models/spree/promotion/rules/item_total_spec.rb +0 -128
- data/spec/models/spree/promotion/rules/nth_order_spec.rb +0 -72
- data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +0 -54
- data/spec/models/spree/promotion/rules/option_value_spec.rb +0 -96
- data/spec/models/spree/promotion/rules/product_spec.rb +0 -193
- data/spec/models/spree/promotion/rules/store_spec.rb +0 -35
- data/spec/models/spree/promotion/rules/taxon_spec.rb +0 -227
- data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +0 -33
- data/spec/models/spree/promotion/rules/user_role_spec.rb +0 -88
- data/spec/models/spree/promotion/rules/user_spec.rb +0 -39
- data/spec/models/spree/promotion_action_spec.rb +0 -44
- data/spec/models/spree/promotion_category_spec.rb +0 -19
- data/spec/models/spree/promotion_code/batch_builder_spec.rb +0 -107
- data/spec/models/spree/promotion_code_batch_spec.rb +0 -54
- data/spec/models/spree/promotion_code_spec.rb +0 -206
- data/spec/models/spree/promotion_handler/cart_spec.rb +0 -132
- data/spec/models/spree/promotion_handler/coupon_spec.rb +0 -419
- data/spec/models/spree/promotion_handler/page_spec.rb +0 -45
- data/spec/models/spree/promotion_handler/shipping_spec.rb +0 -96
- data/spec/models/spree/promotion_rule_spec.rb +0 -34
- data/spec/models/spree/promotion_spec.rb +0 -928
- data/spec/models/spree/refund_spec.rb +0 -200
- data/spec/models/spree/reimbursement/credit_spec.rb +0 -38
- data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +0 -144
- data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +0 -85
- data/spec/models/spree/reimbursement_performer_spec.rb +0 -33
- data/spec/models/spree/reimbursement_spec.rb +0 -278
- data/spec/models/spree/reimbursement_tax_calculator_spec.rb +0 -52
- data/spec/models/spree/reimbursement_type/credit_spec.rb +0 -56
- data/spec/models/spree/reimbursement_type/exchange_spec.rb +0 -48
- data/spec/models/spree/reimbursement_type/original_payment_spec.rb +0 -110
- data/spec/models/spree/reimbursement_type/store_credit_spec.rb +0 -111
- data/spec/models/spree/return_authorization_spec.rb +0 -226
- data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +0 -79
- data/spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb +0 -59
- data/spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb +0 -86
- data/spec/models/spree/return_item/eligibility_validator/order_completed_spec.rb +0 -35
- data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +0 -31
- data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +0 -42
- data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +0 -66
- data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +0 -43
- data/spec/models/spree/return_item_spec.rb +0 -785
- data/spec/models/spree/returns_calculator_spec.rb +0 -16
- data/spec/models/spree/shipment_spec.rb +0 -914
- data/spec/models/spree/shipping_calculator_spec.rb +0 -57
- data/spec/models/spree/shipping_manifest_spec.rb +0 -110
- data/spec/models/spree/shipping_method_spec.rb +0 -260
- data/spec/models/spree/shipping_rate_spec.rb +0 -154
- data/spec/models/spree/shipping_rate_tax_spec.rb +0 -79
- data/spec/models/spree/state_spec.rb +0 -43
- data/spec/models/spree/stock/allocator/on_hand_first_spec.rb +0 -146
- data/spec/models/spree/stock/availability_spec.rb +0 -143
- data/spec/models/spree/stock/availability_validator_spec.rb +0 -140
- data/spec/models/spree/stock/content_item_spec.rb +0 -70
- data/spec/models/spree/stock/differentiator_spec.rb +0 -41
- data/spec/models/spree/stock/estimator_spec.rb +0 -241
- data/spec/models/spree/stock/inventory_unit_builder_spec.rb +0 -34
- data/spec/models/spree/stock/inventory_units_finalizer_spec.rb +0 -58
- data/spec/models/spree/stock/location_filter/active_spec.rb +0 -22
- data/spec/models/spree/stock/location_sorter/default_first_spec.rb +0 -22
- data/spec/models/spree/stock/location_sorter/unsorted_spec.rb +0 -21
- data/spec/models/spree/stock/package_spec.rb +0 -182
- data/spec/models/spree/stock/quantifier_spec.rb +0 -113
- data/spec/models/spree/stock/shipping_rate_selector_spec.rb +0 -18
- data/spec/models/spree/stock/shipping_rate_sorter_spec.rb +0 -18
- data/spec/models/spree/stock/simple_coordinator_spec.rb +0 -264
- data/spec/models/spree/stock/splitter/backordered_spec.rb +0 -31
- data/spec/models/spree/stock/splitter/base_spec.rb +0 -22
- data/spec/models/spree/stock/splitter/shipping_category_spec.rb +0 -48
- data/spec/models/spree/stock/splitter/weight_spec.rb +0 -31
- data/spec/models/spree/stock/splitter_chain_spec.rb +0 -66
- data/spec/models/spree/stock_item_spec.rb +0 -348
- data/spec/models/spree/stock_location_spec.rb +0 -288
- data/spec/models/spree/stock_movement_spec.rb +0 -58
- data/spec/models/spree/stock_quantities_spec.rb +0 -249
- data/spec/models/spree/store_credit_category_spec.rb +0 -19
- data/spec/models/spree/store_credit_event_spec.rb +0 -328
- data/spec/models/spree/store_credit_spec.rb +0 -900
- data/spec/models/spree/store_selector/by_server_name_spec.rb +0 -28
- data/spec/models/spree/store_selector/legacy_spec.rb +0 -46
- data/spec/models/spree/store_spec.rb +0 -156
- data/spec/models/spree/tax/order_adjuster_spec.rb +0 -35
- data/spec/models/spree/tax/shipping_rate_taxer_spec.rb +0 -59
- data/spec/models/spree/tax/tax_location_spec.rb +0 -79
- data/spec/models/spree/tax/taxation_integration_spec.rb +0 -815
- data/spec/models/spree/tax_calculator/default_spec.rb +0 -56
- data/spec/models/spree/tax_category_spec.rb +0 -50
- data/spec/models/spree/tax_rate_spec.rb +0 -316
- data/spec/models/spree/taxon_spec.rb +0 -197
- data/spec/models/spree/taxonomy_spec.rb +0 -15
- data/spec/models/spree/unit_cancel_spec.rb +0 -121
- data/spec/models/spree/user_spec.rb +0 -247
- data/spec/models/spree/validations/db_maximum_length_validator_spec.rb +0 -33
- data/spec/models/spree/variant/price_selector_spec.rb +0 -90
- data/spec/models/spree/variant/pricing_options_spec.rb +0 -204
- data/spec/models/spree/variant/scopes_spec.rb +0 -94
- data/spec/models/spree/variant/vat_price_generator_spec.rb +0 -77
- data/spec/models/spree/variant_property_rule_condition_spec.rb +0 -17
- data/spec/models/spree/variant_property_rule_spec.rb +0 -85
- data/spec/models/spree/variant_property_rule_value_spec.rb +0 -20
- data/spec/models/spree/variant_spec.rb +0 -862
- data/spec/models/spree/wallet_payment_source_spec.rb +0 -77
- data/spec/models/spree/wallet_spec.rb +0 -155
- data/spec/models/spree/zone_spec.rb +0 -248
- data/spec/rails_helper.rb +0 -46
- data/spec/shared_examples/calculator_shared_examples.rb +0 -10
- data/spec/spec_helper.rb +0 -36
- data/spec/support/big_decimal.rb +0 -7
- data/spec/support/concerns/default_price.rb +0 -44
- data/spec/support/concerns/payment_source.rb +0 -66
- data/spec/support/concerns/working_factories.rb +0 -15
- data/spec/support/dummy_ability.rb +0 -7
@@ -24,12 +24,20 @@ require 'spree/core/environment'
|
|
24
24
|
|
25
25
|
module Spree
|
26
26
|
class AppConfiguration < Preferences::Configuration
|
27
|
-
#
|
27
|
+
# Preferences (alphabetized to more easily lookup particular preferences)
|
28
|
+
|
29
|
+
# @!attribute [rw] address_requires_phone
|
30
|
+
# @return [Boolean] should phone number be required (default: +true+)
|
31
|
+
preference :address_requires_phone, :boolean, default: true
|
28
32
|
|
29
33
|
# @!attribute [rw] address_requires_state
|
30
34
|
# @return [Boolean] should state/state_name be required (default: +true+)
|
31
35
|
preference :address_requires_state, :boolean, default: true
|
32
36
|
|
37
|
+
# @!attribute [rw] legacy
|
38
|
+
# @return [Boolean] use the legacy address' state validation logic (default: +true+)
|
39
|
+
preference :use_legacy_address_state_validator, :boolean, default: true
|
40
|
+
|
33
41
|
# @!attribute [rw] admin_interface_logo
|
34
42
|
# @return [String] URL of logo used in admin (default: +'logo/solidus.svg'+)
|
35
43
|
preference :admin_interface_logo, :string, default: 'logo/solidus.svg'
|
@@ -42,6 +50,12 @@ module Spree
|
|
42
50
|
# @return [Integer] Number of variants to display in admin (default: +20+)
|
43
51
|
preference :admin_variants_per_page, :integer, default: 20
|
44
52
|
|
53
|
+
# @!attribute [rw] admin_vat_country_iso
|
54
|
+
# Set this if you want to enter prices in the backend including value added tax.
|
55
|
+
# @return [String, nil] Two-letter ISO code of that {Spree::Country} for which
|
56
|
+
# prices are entered in the backend (default: nil)
|
57
|
+
preference :admin_vat_country_iso, :string, default: nil
|
58
|
+
|
45
59
|
# @!attribute [rw] allow_checkout_on_gateway_error
|
46
60
|
# @return [Boolean] Allow checkout to complete after a failed payment (default: +false+)
|
47
61
|
preference :allow_checkout_on_gateway_error, :boolean, default: false
|
@@ -50,6 +64,10 @@ module Spree
|
|
50
64
|
# @return [Boolean] When false, customers must create an account to complete an order (default: +true+)
|
51
65
|
preference :allow_guest_checkout, :boolean, default: true
|
52
66
|
|
67
|
+
# @!attribute [rw] guest_token_cookie_options
|
68
|
+
# @return [Hash] Add additional guest_token cookie options here (ie. domain or path)
|
69
|
+
preference :guest_token_cookie_options, :hash, default: {}
|
70
|
+
|
53
71
|
# @!attribute [rw] allow_return_item_amount_editing
|
54
72
|
# @return [Boolean] Determines whether an admin is allowed to change a return item's pre-calculated amount (default: +false+)
|
55
73
|
preference :allow_return_item_amount_editing, :boolean, default: false
|
@@ -78,6 +96,21 @@ module Spree
|
|
78
96
|
# @return [Boolean] Automatically capture the credit card (as opposed to just authorize and capture later) (default: +false+)
|
79
97
|
preference :auto_capture_exchanges, :boolean, default: false
|
80
98
|
|
99
|
+
# @!attribute [rw] automatic_default_address
|
100
|
+
# The default value of true preserves existing backwards compatible feature of
|
101
|
+
# treating the most recently used address in checkout as the user's default address.
|
102
|
+
# Setting to false means that the user should manage their own default via some
|
103
|
+
# custom UI that uses AddressBookController.
|
104
|
+
# @return [Boolean] Whether use of an address in checkout marks it as user's default
|
105
|
+
preference :automatic_default_address, :boolean, default: true
|
106
|
+
|
107
|
+
# @!attribute [rw] billing_address_required
|
108
|
+
# Controls whether billing address is required or not in the checkout process
|
109
|
+
# by default, can be overridden at order level.
|
110
|
+
# (default: +false+)
|
111
|
+
# @return [Boolean]
|
112
|
+
preference :billing_address_required, :boolean, default: false
|
113
|
+
|
81
114
|
# @!attribute [rw] binary_inventory_cache
|
82
115
|
# Only invalidate product caches when they change from in stock to out of
|
83
116
|
# stock. By default, caches are invalidated on any change of inventory
|
@@ -88,20 +121,9 @@ module Spree
|
|
88
121
|
# @return [Boolean]
|
89
122
|
preference :binary_inventory_cache, :boolean, default: false
|
90
123
|
|
91
|
-
# @!attribute [rw]
|
92
|
-
# @return [
|
93
|
-
preference :
|
94
|
-
|
95
|
-
# @!attribute [rw] completable_order_created_cutoff
|
96
|
-
# @return [Integer] the number of days to look back for updated orders which get returned to the user as last completed
|
97
|
-
preference :completable_order_updated_cutoff_days, :integer, default: nil
|
98
|
-
|
99
|
-
# @!attribute [rw] inventory_cache_threshold
|
100
|
-
# Only invalidate product caches when the count on hand for a stock item
|
101
|
-
# falls below or rises about the inventory_cache_threshold. When undefined, the
|
102
|
-
# product caches will be invalidated anytime the count on hand is changed.
|
103
|
-
# @return [Integer]
|
104
|
-
preference :inventory_cache_threshold, :integer
|
124
|
+
# @!attribute [rw] can_restrict_stock_management
|
125
|
+
# @return [Boolean] Indicates if stock management can be restricted by location
|
126
|
+
preference :can_restrict_stock_management, :boolean, default: false
|
105
127
|
|
106
128
|
# @!attribute [rw] checkout_zone
|
107
129
|
# @return [String] Name of a {Spree::Zone}, which limits available countries to those included in that zone. (default: +nil+)
|
@@ -111,11 +133,27 @@ module Spree
|
|
111
133
|
# @return [Boolean] Request company field for billing and shipping addresses. (default: +false+)
|
112
134
|
preference :company, :boolean, default: false
|
113
135
|
|
136
|
+
# @!attribute [rw] completable_order_created_cutoff
|
137
|
+
# @return [Integer] the number of days to look back for created orders which get returned to the user as last completed
|
138
|
+
preference :completable_order_created_cutoff_days, :integer, default: nil
|
139
|
+
|
140
|
+
# @!attribute [rw] completable_order_created_cutoff
|
141
|
+
# @return [Integer] the number of days to look back for updated orders which get returned to the user as last completed
|
142
|
+
preference :completable_order_updated_cutoff_days, :integer, default: nil
|
143
|
+
|
144
|
+
# @!attribute [rw] credit_to_new_allocation
|
145
|
+
# @return [Boolean] Creates a new allocation anytime {Spree::StoreCredit#credit} is called
|
146
|
+
preference :credit_to_new_allocation, :boolean, default: false
|
147
|
+
|
114
148
|
# @!attribute [rw] currency
|
115
149
|
# Currency to use by default when not defined on the site (default: +"USD"+)
|
116
150
|
# @return [String] ISO 4217 Three letter currency code
|
117
151
|
preference :currency, :string, default: "USD"
|
118
152
|
|
153
|
+
# @!attribute [rw] customer_returns_per_page
|
154
|
+
# @return [Integer] Customer returns to show per-page in the admin (default: +15+)
|
155
|
+
preference :customer_returns_per_page, :integer, default: 15
|
156
|
+
|
119
157
|
# @!attribute [rw] default_country_id
|
120
158
|
# @deprecated Use the default country ISO preference instead
|
121
159
|
# @return [Integer,nil] id of {Spree::Country} to be selected by default in dropdowns (default: nil)
|
@@ -126,17 +164,22 @@ module Spree
|
|
126
164
|
# @return [String] Two-letter ISO code of a {Spree::Country} to assumed as the country of an unidentified customer (default: "US")
|
127
165
|
preference :default_country_iso, :string, default: 'US'
|
128
166
|
|
129
|
-
# @!attribute [rw]
|
130
|
-
#
|
131
|
-
|
132
|
-
# prices are entered in the backend (default: nil)
|
133
|
-
preference :admin_vat_country_iso, :string, default: nil
|
167
|
+
# @!attribute [rw] use_custom_cancancan_actions
|
168
|
+
# @return [Boolean] Allow to use legacy Solidus custom CanCanCan action aliases (default: +true+)
|
169
|
+
preference :use_custom_cancancan_actions, :boolean, default: true
|
134
170
|
|
135
171
|
# @!attribute [rw] generate_api_key_for_all_roles
|
136
172
|
# @return [Boolean] Allow generating api key automatically for user
|
137
173
|
# at role_user creation for all roles. (default: +false+)
|
138
174
|
preference :generate_api_key_for_all_roles, :boolean, default: false
|
139
175
|
|
176
|
+
# @!attribute [rw] inventory_cache_threshold
|
177
|
+
# Only invalidate product caches when the count on hand for a stock item
|
178
|
+
# falls below or rises about the inventory_cache_threshold. When undefined, the
|
179
|
+
# product caches will be invalidated anytime the count on hand is changed.
|
180
|
+
# @return [Integer]
|
181
|
+
preference :inventory_cache_threshold, :integer
|
182
|
+
|
140
183
|
# @!attribute [rw] layout
|
141
184
|
# @return [String] template to use for layout on the frontend (default: +"spree/layouts/spree_application"+)
|
142
185
|
preference :layout, :string, default: 'spree/layouts/spree_application'
|
@@ -145,6 +188,14 @@ module Spree
|
|
145
188
|
# @return [String] URL of logo used on frontend (default: +'logo/solidus.svg'+)
|
146
189
|
preference :logo, :string, default: 'logo/solidus.svg'
|
147
190
|
|
191
|
+
# @!attribute [rw] mails_from
|
192
|
+
# @return [String] Email address used as +From:+ field in transactional emails.
|
193
|
+
preference :mails_from, :string, default: 'spree@example.com'
|
194
|
+
|
195
|
+
# @!attribute [rw] max_level_in_taxons_menu
|
196
|
+
# @return [Integer] maximum nesting level in taxons menu (default: +1+)
|
197
|
+
preference :max_level_in_taxons_menu, :integer, default: 1
|
198
|
+
|
148
199
|
# @!attribute [rw] order_bill_address_used
|
149
200
|
# @return [Boolean] Use the order's bill address, as opposed to storing
|
150
201
|
# bill addresses on payment sources. (default: +true+)
|
@@ -154,10 +205,6 @@ module Spree
|
|
154
205
|
# @return [Integer] the number of days to look back for fully-shipped/cancelled orders in order to charge for them
|
155
206
|
preference :order_capturing_time_window, :integer, default: 14
|
156
207
|
|
157
|
-
# @!attribute [rw] max_level_in_taxons_menu
|
158
|
-
# @return [Integer] maximum nesting level in taxons menu (default: +1+)
|
159
|
-
preference :max_level_in_taxons_menu, :integer, default: 1
|
160
|
-
|
161
208
|
# @!attribute [rw] order_mutex_max_age
|
162
209
|
# @return [Integer] Max age of {Spree::OrderMutex} in seconds (default: 2 minutes)
|
163
210
|
preference :order_mutex_max_age, :integer, default: 120
|
@@ -178,9 +225,22 @@ module Spree
|
|
178
225
|
# @return [Integer] Promotions to show per-page in the admin (default: +15+)
|
179
226
|
preference :promotions_per_page, :integer, default: 15
|
180
227
|
|
181
|
-
# @!attribute [rw]
|
182
|
-
# @return [
|
183
|
-
preference :
|
228
|
+
# @!attribute [rw] disable_actionless_promotion_validation
|
229
|
+
# @return [Boolean] Promotions should have actions associated before being considered active (default: +true+)
|
230
|
+
preference :consider_actionless_promotion_active, :boolean, default: true
|
231
|
+
|
232
|
+
# @!attribute [rw] raise_with_invalid_currency
|
233
|
+
# Whether to raise an exception if trying to set a line item currency
|
234
|
+
# different from the order currency. When false a validation error
|
235
|
+
# is added to the instance instead.
|
236
|
+
# @return [Boolean] (default: +true+)
|
237
|
+
preference :raise_with_invalid_currency, :boolean, default: true
|
238
|
+
|
239
|
+
# @!attribute [rw] redirect_back_on_unauthorized
|
240
|
+
# Whether to try to redirect users back when they try to access
|
241
|
+
# unauthorized routes, before redirect them to /unauthorized.
|
242
|
+
# @return [Boolean] (default: +false+)
|
243
|
+
preference :redirect_back_on_unauthorized, :boolean, default: false
|
184
244
|
|
185
245
|
# @!attribute [rw] require_master_price
|
186
246
|
# @return [Boolean] Require a price on the master variant of a product (default: +true+)
|
@@ -200,6 +260,22 @@ module Spree
|
|
200
260
|
# (default: +['admin']+)
|
201
261
|
preference :roles_for_auto_api_key, :array, default: ['admin']
|
202
262
|
|
263
|
+
# @!attribute [rw] countries_that_use_nested_subregions
|
264
|
+
# @return [Array] An array of countries that use nested subregions, instead
|
265
|
+
# of the default subregions that come with Carmen. Will be used on store creation
|
266
|
+
# to ensure the correct states are generated, and when running the states
|
267
|
+
# regenerate rake task.
|
268
|
+
# (default: +['IT']+)
|
269
|
+
preference :countries_that_use_nested_subregions, :array, default: ['IT']
|
270
|
+
|
271
|
+
# @!attribute [rw] run_order_validations_on_order_updater
|
272
|
+
# @return [Boolean] Whether to run validation when updating an order with the OrderUpdater
|
273
|
+
preference :run_order_validations_on_order_updater, :boolean, default: false
|
274
|
+
|
275
|
+
# @!attribute [rw] send_core_emails
|
276
|
+
# @return [Boolean] Whether to send transactional emails (default: true)
|
277
|
+
preference :send_core_emails, :boolean, default: true
|
278
|
+
|
203
279
|
# @!attribute [rw] shipping_instructions
|
204
280
|
# @return [Boolean] Request instructions/info for shipping (default: +false+)
|
205
281
|
preference :shipping_instructions, :boolean, default: false
|
@@ -231,33 +307,23 @@ module Spree
|
|
231
307
|
# @return [] Track on_hand values for variants / products. (default: true)
|
232
308
|
preference :track_inventory_levels, :boolean, default: true
|
233
309
|
|
234
|
-
#
|
235
|
-
|
236
|
-
#
|
237
|
-
|
238
|
-
preference :send_core_emails, :boolean, default: true
|
310
|
+
# @!attribute [rw] use_combined_first_and_last_name_in_address
|
311
|
+
# @return [Boolean] Use Spree::Address combined first and last name in HTML views and
|
312
|
+
# API responses. (default: +false+)
|
313
|
+
preference :use_combined_first_and_last_name_in_address, :boolean, default: false
|
239
314
|
|
240
|
-
# @!attribute [rw]
|
241
|
-
# @return [
|
242
|
-
|
243
|
-
|
244
|
-
# Store credits configurations
|
245
|
-
|
246
|
-
# @!attribute [rw] credit_to_new_allocation
|
247
|
-
# @return [Boolean] Creates a new allocation anytime {Spree::StoreCredit#credit} is called
|
248
|
-
preference :credit_to_new_allocation, :boolean, default: false
|
315
|
+
# @!attribute [rw] use_legacy_order_state_machine
|
316
|
+
# @return [Boolean] Uses the legacy order state machine from Spree::Order::Checkout
|
317
|
+
# (default: +false+)
|
318
|
+
preference :use_legacy_order_state_machine, :boolean, default: true
|
249
319
|
|
250
|
-
#
|
251
|
-
#
|
252
|
-
#
|
253
|
-
#
|
254
|
-
|
255
|
-
# @return [Boolean] Whether use of an address in checkout marks it as user's default
|
256
|
-
preference :automatic_default_address, :boolean, default: true
|
320
|
+
# The legacy_store_credit_category_name allows to control whether the legacy
|
321
|
+
# way of fetching the category should be used.
|
322
|
+
#
|
323
|
+
# @param [Boolean] enable/disable the legacy way of fetching the store category name
|
324
|
+
preference :use_legacy_store_credit_reimbursement_category_name, :boolean, default: true
|
257
325
|
|
258
|
-
#
|
259
|
-
# @return [Boolean] Indicates if stock management can be restricted by location
|
260
|
-
preference :can_restrict_stock_management, :boolean, default: false
|
326
|
+
# Other configurations
|
261
327
|
|
262
328
|
# Allows restricting what currencies will be available.
|
263
329
|
#
|
@@ -292,6 +358,14 @@ module Spree
|
|
292
358
|
|
293
359
|
class_name_attribute :variant_search_class, default: 'Spree::Core::Search::Variant'
|
294
360
|
|
361
|
+
# Allows implementing custom vat prices generation
|
362
|
+
# @!attribute [rw] variant_vat_prices_generator_class
|
363
|
+
# @see Spree::Variant::VatPriceGenerator
|
364
|
+
# @return [Class] an object that conforms to the API of
|
365
|
+
# the standard variant vat prices generator class
|
366
|
+
# Spree::Variant::VatPriceGenerator.
|
367
|
+
class_name_attribute :variant_vat_prices_generator_class, default: 'Spree::Variant::VatPriceGenerator'
|
368
|
+
|
295
369
|
# promotion_chooser_class allows extensions to provide their own PromotionChooser
|
296
370
|
class_name_attribute :promotion_chooser_class, default: 'Spree::PromotionChooser'
|
297
371
|
|
@@ -306,7 +380,6 @@ module Spree
|
|
306
380
|
# @!attribute [rw] shipping_rate_tax_calculator_class
|
307
381
|
# @return [Class] a class with the same public interfaces as
|
308
382
|
# Spree::TaxCalculator::ShippingRate
|
309
|
-
# @api experimental
|
310
383
|
class_name_attribute :shipping_rate_tax_calculator_class, default: 'Spree::TaxCalculator::ShippingRate'
|
311
384
|
|
312
385
|
# Allows providing your own Mailer for order mailer.
|
@@ -384,7 +457,6 @@ module Spree
|
|
384
457
|
# @!attribute [rw] tax_adjuster_class
|
385
458
|
# @return [Class] a class with the same public interfaces as
|
386
459
|
# Spree::Tax::OrderAdjuster
|
387
|
-
# @api experimental
|
388
460
|
class_name_attribute :tax_adjuster_class, default: 'Spree::Tax::OrderAdjuster'
|
389
461
|
|
390
462
|
# Allows providing your own class for calculating taxes on an order.
|
@@ -392,7 +464,6 @@ module Spree
|
|
392
464
|
# @!attribute [rw] tax_calculator_class
|
393
465
|
# @return [Class] a class with the same public interfaces as
|
394
466
|
# Spree::TaxCalculator::Default
|
395
|
-
# @api experimental
|
396
467
|
class_name_attribute :tax_calculator_class, default: 'Spree::TaxCalculator::Default'
|
397
468
|
|
398
469
|
# Allows providing your own class for choosing which store to use.
|
@@ -454,6 +525,10 @@ module Spree
|
|
454
525
|
@order_number_generator ||= Spree::Order::NumberGenerator.new
|
455
526
|
end
|
456
527
|
|
528
|
+
def state_machines
|
529
|
+
@state_machines ||= Spree::Core::StateMachines.new
|
530
|
+
end
|
531
|
+
|
457
532
|
def static_model_preferences
|
458
533
|
@static_model_preferences ||= Spree::Preferences::StaticModelPreferences.new
|
459
534
|
end
|
@@ -473,6 +548,12 @@ module Spree
|
|
473
548
|
@events_configuration ||= Spree::Event::Configuration.new
|
474
549
|
end
|
475
550
|
|
551
|
+
def user_last_url_storer_rules
|
552
|
+
@user_last_url_storer_rules ||= ::Spree::Core::ClassConstantizer::Set.new.tap do |set|
|
553
|
+
set << 'Spree::UserLastUrlStorer::Rules::AuthenticationRule'
|
554
|
+
end
|
555
|
+
end
|
556
|
+
|
476
557
|
def environment
|
477
558
|
@environment ||= Spree::Core::Environment.new(self).tap do |env|
|
478
559
|
env.calculators.promotion_actions_create_adjustments = %w[
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AwesomeNestedSetOvveride
|
4
|
+
# Add :polimorphic key option only when used to make it work with Rails 6.1+,
|
5
|
+
# required since rails/rails@2c008d9
|
6
|
+
# This can be removed when upgrading to an awesome_nested_set version
|
7
|
+
# compliant with Rails 6.1+, already addressed in
|
8
|
+
# collectiveidea/awesome_nested_set#421
|
9
|
+
module RelateParent
|
10
|
+
def acts_as_nested_set_relate_parent!
|
11
|
+
# Disable Rubocop to keep original code for diffs
|
12
|
+
# rubocop:disable
|
13
|
+
options = {
|
14
|
+
:class_name => self.base_class.to_s,
|
15
|
+
:foreign_key => parent_column_name,
|
16
|
+
:primary_key => primary_column_name,
|
17
|
+
:counter_cache => acts_as_nested_set_options[:counter_cache],
|
18
|
+
:inverse_of => (:children unless acts_as_nested_set_options[:polymorphic]),
|
19
|
+
:touch => acts_as_nested_set_options[:touch]
|
20
|
+
}
|
21
|
+
options[:polymorphic] = true if acts_as_nested_set_options[:polymorphic]
|
22
|
+
options[:optional] = true if ActiveRecord::VERSION::MAJOR >= 5
|
23
|
+
belongs_to :parent, options
|
24
|
+
# rubocop:enable
|
25
|
+
end
|
26
|
+
|
27
|
+
CollectiveIdea::Acts::NestedSet.prepend self
|
28
|
+
end
|
29
|
+
|
30
|
+
# Skip breaking model reload before update depth. Already addressed in
|
31
|
+
# collectiveidea/awesome_nested_set#413
|
32
|
+
# This can be removed when a new version of awesome_nested_set is released.
|
33
|
+
module Model
|
34
|
+
def set_depth!
|
35
|
+
return unless has_depth_column?
|
36
|
+
|
37
|
+
in_tenacious_transaction do
|
38
|
+
update_depth(level)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
CollectiveIdea::Acts::NestedSet::Model.prepend self
|
43
|
+
end
|
44
|
+
end
|
data/lib/spree/core.rb
CHANGED
@@ -78,6 +78,7 @@ require 'spree/core/product_duplicator'
|
|
78
78
|
require 'spree/core/current_store'
|
79
79
|
require 'spree/core/controller_helpers/auth'
|
80
80
|
require 'spree/core/controller_helpers/common'
|
81
|
+
require 'spree/core/controller_helpers/current_host'
|
81
82
|
require 'spree/core/controller_helpers/order'
|
82
83
|
require 'spree/core/controller_helpers/payment_parameters'
|
83
84
|
require 'spree/core/controller_helpers/pricing'
|
@@ -85,6 +86,7 @@ require 'spree/core/controller_helpers/search'
|
|
85
86
|
require 'spree/core/controller_helpers/store'
|
86
87
|
require 'spree/core/controller_helpers/strong_parameters'
|
87
88
|
require 'spree/core/role_configuration'
|
89
|
+
require 'spree/core/state_machines'
|
88
90
|
require 'spree/core/stock_configuration'
|
89
91
|
require 'spree/core/validators/email'
|
90
92
|
require 'spree/permission_sets'
|
@@ -92,3 +94,7 @@ require 'spree/permission_sets'
|
|
92
94
|
require 'spree/preferences/store'
|
93
95
|
require 'spree/preferences/static_model_preferences'
|
94
96
|
require 'spree/preferences/scoped_store'
|
97
|
+
|
98
|
+
if Rails.gem_version >= Gem::Version.new('6.1.0.alpha')
|
99
|
+
require 'spree/awesome_nested_set_override'
|
100
|
+
end
|
@@ -11,7 +11,7 @@ module Spree
|
|
11
11
|
# @!attribute [rw] unauthorized_redirect
|
12
12
|
# @!scope class
|
13
13
|
# Extension point for overriding behaviour of access denied errors.
|
14
|
-
# Default behaviour is to redirect to "/unauthorized" with a flash
|
14
|
+
# Default behaviour is to redirect back or to "/unauthorized" with a flash
|
15
15
|
# message.
|
16
16
|
# @return [Proc] action to take when access denied error is raised.
|
17
17
|
|
@@ -22,7 +22,20 @@ module Spree
|
|
22
22
|
class_attribute :unauthorized_redirect
|
23
23
|
self.unauthorized_redirect = -> do
|
24
24
|
flash[:error] = I18n.t('spree.authorization_failure')
|
25
|
-
|
25
|
+
if Spree::Config.redirect_back_on_unauthorized
|
26
|
+
redirect_back(fallback_location: "/unauthorized")
|
27
|
+
else
|
28
|
+
Spree::Deprecation.warn <<-WARN.strip_heredoc, caller
|
29
|
+
Having Spree::Config.redirect_back_on_unauthorized set
|
30
|
+
to `false` is deprecated and will not be supported in Solidus 3.0.
|
31
|
+
|
32
|
+
Please change this configuration to `true` and be sure that your
|
33
|
+
application does not break trying to redirect back when there is
|
34
|
+
an unauthorized access.
|
35
|
+
WARN
|
36
|
+
|
37
|
+
redirect_to "/unauthorized"
|
38
|
+
end
|
26
39
|
end
|
27
40
|
|
28
41
|
rescue_from CanCan::AccessDenied do
|
@@ -42,27 +55,15 @@ module Spree
|
|
42
55
|
|
43
56
|
def set_guest_token
|
44
57
|
unless cookies.signed[:guest_token].present?
|
45
|
-
cookies.permanent.signed[:guest_token] =
|
58
|
+
cookies.permanent.signed[:guest_token] = Spree::Config[:guest_token_cookie_options].merge(
|
46
59
|
value: SecureRandom.urlsafe_base64(nil, false),
|
47
60
|
httponly: true
|
48
|
-
|
61
|
+
)
|
49
62
|
end
|
50
63
|
end
|
51
64
|
|
52
65
|
def store_location
|
53
|
-
|
54
|
-
authentication_routes = [:spree_signup_path, :spree_login_path, :spree_logout_path]
|
55
|
-
disallowed_urls = []
|
56
|
-
authentication_routes.each do |route|
|
57
|
-
if respond_to?(route)
|
58
|
-
disallowed_urls << send(route)
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
disallowed_urls.map!{ |url| url[/\/\w+$/] }
|
63
|
-
unless disallowed_urls.include?(request.fullpath)
|
64
|
-
session['spree_user_return_to'] = request.fullpath.gsub('//', '/')
|
65
|
-
end
|
66
|
+
Spree::UserLastUrlStorer.new(self).store_location
|
66
67
|
end
|
67
68
|
|
68
69
|
# proxy method to *possible* spree_current_user method
|