solidus_core 4.6.1 → 4.7.0
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/Rakefile +13 -13
- data/app/controllers/spree/base_controller.rb +2 -2
- data/app/helpers/spree/base_helper.rb +24 -24
- data/app/helpers/spree/checkout_helper.rb +7 -7
- data/app/helpers/spree/core/controller_helpers/auth.rb +1 -1
- data/app/helpers/spree/core/controller_helpers/common.rb +3 -2
- data/app/helpers/spree/core/controller_helpers/order.rb +3 -5
- data/app/helpers/spree/core/controller_helpers/payment_parameters.rb +1 -2
- data/app/helpers/spree/core/controller_helpers/strong_parameters.rb +10 -10
- data/app/helpers/spree/products_helper.rb +5 -5
- data/app/helpers/spree/store_helper.rb +1 -1
- data/app/mailers/spree/carton_mailer.rb +3 -3
- data/app/mailers/spree/order_mailer.rb +4 -4
- data/app/mailers/spree/reimbursement_mailer.rb +2 -2
- data/app/models/concerns/spree/active_storage_adapter/attachment.rb +5 -5
- data/app/models/concerns/spree/active_storage_adapter/normalization.rb +5 -5
- data/app/models/concerns/spree/active_storage_adapter.rb +2 -2
- data/app/models/concerns/spree/adjustment_source.rb +4 -4
- data/app/models/concerns/spree/display_money.rb +2 -2
- data/app/models/concerns/spree/named_type.rb +1 -1
- data/app/models/concerns/spree/ordered_property_value_list.rb +2 -2
- data/app/models/concerns/spree/preferences/persistable.rb +1 -1
- data/app/models/concerns/spree/ransackable_attributes.rb +1 -0
- data/app/models/concerns/spree/soft_deletable.rb +2 -1
- data/app/models/concerns/spree/state_change_tracking.rb +11 -7
- data/app/models/concerns/spree/user_address_book.rb +12 -12
- data/app/models/concerns/spree/user_methods.rb +9 -9
- data/app/models/concerns/spree/user_reporting.rb +1 -0
- data/app/models/spree/ability.rb +1 -1
- data/app/models/spree/address/name.rb +1 -1
- data/app/models/spree/address.rb +7 -7
- data/app/models/spree/adjustment.rb +11 -10
- data/app/models/spree/adjustment_reason.rb +2 -2
- data/app/models/spree/billing_integration.rb +2 -2
- data/app/models/spree/calculator/default_tax.rb +2 -2
- data/app/models/spree/calculator/flat_fee.rb +1 -1
- data/app/models/spree/calculator/flat_rate.rb +2 -2
- data/app/models/spree/calculator/returns/default_refund_amount.rb +3 -3
- data/app/models/spree/calculator/shipping/flat_percent_item_total.rb +2 -2
- data/app/models/spree/calculator/shipping/flat_rate.rb +3 -3
- data/app/models/spree/calculator/shipping/flexi_rate.rb +8 -8
- data/app/models/spree/calculator/shipping/per_item.rb +3 -3
- data/app/models/spree/calculator/shipping/price_sack.rb +3 -3
- data/app/models/spree/calculator.rb +31 -6
- data/app/models/spree/carton.rb +4 -4
- data/app/models/spree/classification.rb +2 -2
- data/app/models/spree/core/state_machines/order/class_methods.rb +3 -3
- data/app/models/spree/core/state_machines/return_item/acceptance_status.rb +1 -1
- data/app/models/spree/country.rb +1 -1
- data/app/models/spree/credit_card.rb +27 -27
- data/app/models/spree/customer_return.rb +5 -4
- data/app/models/spree/distributed_amounts_handler.rb +1 -1
- data/app/models/spree/fulfilment_changer.rb +22 -22
- data/app/models/spree/image/active_storage_attachment.rb +2 -2
- data/app/models/spree/image/paperclip_attachment.rb +8 -8
- data/app/models/spree/in_memory_order_updater.rb +262 -0
- data/app/models/spree/inventory_unit.rb +11 -11
- data/app/models/spree/item_total.rb +1 -1
- data/app/models/spree/legacy_user.rb +2 -2
- data/app/models/spree/line_item.rb +21 -11
- data/app/models/spree/log_entry.rb +3 -3
- data/app/models/spree/mergeable_orders_finder.rb +44 -0
- data/app/models/spree/money.rb +2 -1
- data/app/models/spree/null_promotion_adjuster.rb +1 -1
- data/app/models/spree/option_type.rb +1 -1
- data/app/models/spree/option_value.rb +2 -2
- data/app/models/spree/order/number_generator.rb +1 -1
- data/app/models/spree/order.rb +66 -64
- data/app/models/spree/order_cancellations.rb +1 -3
- data/app/models/spree/order_inventory.rb +5 -8
- data/app/models/spree/order_mutex.rb +1 -1
- data/app/models/spree/order_shipping.rb +1 -1
- data/app/models/spree/order_updater.rb +59 -37
- data/app/models/spree/payment/cancellation.rb +2 -2
- data/app/models/spree/payment/processing.rb +22 -22
- data/app/models/spree/payment.rb +26 -26
- data/app/models/spree/payment_capture_event.rb +2 -2
- data/app/models/spree/payment_create.rb +1 -1
- data/app/models/spree/payment_method/bogus_credit_card.rb +18 -18
- data/app/models/spree/payment_method/check.rb +3 -3
- data/app/models/spree/payment_method/credit_card.rb +1 -1
- data/app/models/spree/payment_method/simple_bogus_credit_card.rb +3 -3
- data/app/models/spree/payment_method/store_credit.rb +13 -13
- data/app/models/spree/payment_method.rb +12 -11
- data/app/models/spree/payment_source.rb +2 -2
- data/app/models/spree/permission_sets/dashboard_display.rb +3 -3
- data/app/models/spree/permission_sets/default_customer.rb +1 -1
- data/app/models/spree/preference.rb +1 -1
- data/app/models/spree/price.rb +7 -6
- data/app/models/spree/product/scopes.rb +23 -23
- data/app/models/spree/product.rb +37 -41
- data/app/models/spree/product_option_type.rb +2 -2
- data/app/models/spree/product_property.rb +3 -3
- data/app/models/spree/refund.rb +10 -10
- data/app/models/spree/refund_reason.rb +2 -2
- data/app/models/spree/reimbursement/credit.rb +1 -1
- data/app/models/spree/reimbursement.rb +8 -8
- data/app/models/spree/reimbursement_tax_calculator.rb +1 -1
- data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +1 -1
- data/app/models/spree/reimbursement_type.rb +2 -2
- data/app/models/spree/return_authorization.rb +7 -6
- data/app/models/spree/return_item/eligibility_validator/base_validator.rb +2 -2
- data/app/models/spree/return_item/eligibility_validator/default.rb +1 -1
- data/app/models/spree/return_item/eligibility_validator/inventory_shipped.rb +1 -1
- data/app/models/spree/return_item/eligibility_validator/no_reimbursements.rb +1 -1
- data/app/models/spree/return_item/eligibility_validator/order_completed.rb +1 -1
- data/app/models/spree/return_item/eligibility_validator/rma_required.rb +1 -1
- data/app/models/spree/return_item/eligibility_validator/time_since_purchase.rb +1 -1
- data/app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb +6 -6
- data/app/models/spree/return_item.rb +31 -30
- data/app/models/spree/return_reason.rb +1 -1
- data/app/models/spree/role.rb +1 -1
- data/app/models/spree/role_user.rb +1 -1
- data/app/models/spree/shipment.rb +37 -29
- data/app/models/spree/shipping_method.rb +9 -9
- data/app/models/spree/shipping_method_category.rb +2 -2
- data/app/models/spree/shipping_rate.rb +12 -10
- data/app/models/spree/shipping_rate_tax.rb +5 -4
- data/app/models/spree/simple_order_contents.rb +2 -2
- data/app/models/spree/state.rb +1 -1
- data/app/models/spree/state_change_tracker.rb +31 -0
- data/app/models/spree/stock/availability.rb +9 -9
- data/app/models/spree/stock/availability_validator.rb +3 -3
- data/app/models/spree/stock/differentiator.rb +2 -2
- data/app/models/spree/stock/estimator.rb +4 -4
- data/app/models/spree/stock/inventory_validator.rb +1 -1
- data/app/models/spree/stock/package.rb +3 -3
- data/app/models/spree/stock_item.rb +5 -5
- data/app/models/spree/stock_location.rb +6 -6
- data/app/models/spree/stock_movement.rb +2 -2
- data/app/models/spree/stock_quantities.rb +2 -2
- data/app/models/spree/store.rb +3 -3
- data/app/models/spree/store_credit.rb +30 -29
- data/app/models/spree/store_credit_category.rb +2 -2
- data/app/models/spree/store_credit_event.rb +6 -6
- data/app/models/spree/store_credit_reason.rb +1 -1
- data/app/models/spree/store_credit_type.rb +3 -3
- data/app/models/spree/store_selector/by_server_name.rb +1 -1
- data/app/models/spree/store_selector/legacy.rb +1 -1
- data/app/models/spree/tax/item_tax.rb +1 -0
- data/app/models/spree/tax/order_tax.rb +1 -0
- data/app/models/spree/tax_category.rb +3 -3
- data/app/models/spree/tax_rate.rb +5 -5
- data/app/models/spree/tax_rate_tax_category.rb +2 -2
- data/app/models/spree/taxon/active_storage_attachment.rb +2 -2
- data/app/models/spree/taxon/paperclip_attachment.rb +4 -4
- data/app/models/spree/taxon.rb +16 -17
- data/app/models/spree/taxon_brand_selector.rb +3 -3
- data/app/models/spree/unauthorized_redirect_handler.rb +1 -1
- data/app/models/spree/unit_cancel.rb +4 -4
- data/app/models/spree/user_address.rb +3 -3
- data/app/models/spree/user_last_url_storer/rules/authentication_rule.rb +6 -8
- data/app/models/spree/user_last_url_storer.rb +1 -1
- data/app/models/spree/variant/price_selector.rb +1 -1
- data/app/models/spree/variant/scopes.rb +9 -9
- data/app/models/spree/variant.rb +25 -25
- data/app/models/spree/variant_property_rule.rb +2 -2
- data/app/models/spree/variant_property_rule_condition.rb +1 -1
- data/app/models/spree/wallet/add_payment_sources_to_wallet.rb +4 -4
- data/app/models/spree/wallet/default_payment_builder.rb +1 -1
- data/app/models/spree/wallet_payment_source.rb +2 -2
- data/app/models/spree/zone.rb +18 -18
- data/app/models/spree/zone_member.rb +1 -1
- data/app/subscribers/spree/carton_shipped_mailer_subscriber.rb +2 -2
- data/app/subscribers/spree/order_cancel_mailer_subscriber.rb +2 -2
- data/app/subscribers/spree/order_confirmation_mailer_subscriber.rb +2 -2
- data/app/subscribers/spree/order_inventory_cancellation_mailer_subscriber.rb +2 -2
- data/app/subscribers/spree/reimbursement_mailer_subscriber.rb +2 -2
- data/config/initializers/assets.rb +1 -1
- data/config/initializers/db_query_matchers.rb +9 -0
- data/config/initializers/friendly_id.rb +2 -2
- data/config/initializers/inflections.rb +1 -1
- data/config/initializers/money.rb +1 -1
- data/config/locales/en.yml +1 -0
- data/db/default/spree/countries.rb +7 -7
- data/db/default/spree/return_reasons.rb +11 -11
- data/db/default/spree/stock_locations.rb +1 -1
- data/db/default/spree/store_credit.rb +3 -4
- data/db/default/spree/stores.rb +1 -1
- data/db/default/spree/zones.rb +5 -5
- data/db/migrate/20160101010000_solidus_one_four.rb +16 -16
- data/db/migrate/20160420044191_create_spree_wallet_payment_sources.rb +3 -3
- data/db/migrate/20160420181916_migrate_credit_cards_to_wallet_payment_sources.rb +7 -6
- data/db/migrate/20161014221052_add_available_to_columns_and_remove_display_on_from_payment_methods.rb +10 -10
- data/db/migrate/20161123154034_add_available_to_users_and_remove_display_on_from_shipping_methods.rb +6 -6
- data/db/migrate/20161129035810_add_index_to_spree_payments_number.rb +1 -1
- data/db/migrate/20170319191942_remove_order_id_from_inventory_units.rb +4 -4
- data/db/migrate/20180322142651_add_amount_remaining_to_store_credit_events.rb +9 -16
- data/db/migrate/20200320144521_add_default_billng_flag_to_user_addresses.rb +1 -0
- data/db/migrate/20210815004823_add_unique_index_to_option_values_variants.rb +3 -3
- data/db/migrate/20250207104016_add_primary_taxon_to_products.rb +1 -1
- data/db/migrate/20250214094207_add_reverse_charge_status_to_store.rb +1 -1
- data/db/migrate/20250225051308_add_vat_id_email_and_reverse_charge_status_to_addresses.rb +1 -1
- data/db/migrate/20250605105424_add_shipping_category_foreign_keys.rb +3 -3
- data/db/seeds.rb +3 -3
- data/lib/generators/solidus/install/app_templates/authentication/custom.rb +2 -2
- data/lib/generators/solidus/install/app_templates/authentication/devise.rb +3 -3
- data/lib/generators/solidus/install/app_templates/authentication/existing.rb +3 -1
- data/lib/generators/solidus/install/app_templates/frontend/starter.rb +1 -1
- data/lib/generators/solidus/install/app_templates/payment_method/braintree.rb +1 -1
- data/lib/generators/solidus/install/app_templates/payment_method/paypal.rb +1 -1
- data/lib/generators/solidus/install/app_templates/payment_method/stripe.rb +2 -2
- data/lib/generators/solidus/install/install_generator.rb +51 -51
- data/lib/generators/solidus/install/templates/config/initializers/spree.rb.tt +3 -0
- data/lib/generators/solidus/update/update_generator.rb +29 -29
- data/lib/generators/spree/custom_user/custom_user_generator.rb +6 -6
- data/lib/generators/spree/dummy/dummy_generator.rb +22 -24
- data/lib/generators/spree/dummy/templates/rails/boot.rb +3 -3
- data/lib/generators/spree/dummy/templates/rails/test.rb +4 -4
- data/lib/solidus_core.rb +1 -1
- data/lib/spree/app_configuration.rb +66 -47
- data/lib/spree/bus.rb +1 -1
- data/lib/spree/config.rb +1 -1
- data/lib/spree/core/active_merchant_dependencies.rb +8 -8
- data/lib/spree/core/class_constantizer.rb +1 -1
- data/lib/spree/core/engine.rb +15 -15
- data/lib/spree/core/environment.rb +1 -1
- data/lib/spree/core/environment_extension.rb +2 -2
- data/lib/spree/core/importer/order.rb +15 -15
- data/lib/spree/core/importer/product.rb +4 -4
- data/lib/spree/core/importer.rb +2 -2
- data/lib/spree/core/null_promotion_configuration.rb +7 -7
- data/lib/spree/core/permalinks.rb +1 -1
- data/lib/spree/core/product_filters.rb +94 -93
- data/lib/spree/core/role_configuration.rb +3 -3
- data/lib/spree/core/search/base.rb +5 -6
- data/lib/spree/core/search/variant.rb +3 -3
- data/lib/spree/core/stock_configuration.rb +10 -49
- data/lib/spree/core/validators/email.rb +1 -1
- data/lib/spree/core/version.rb +3 -3
- data/lib/spree/core/versioned_value.rb +4 -6
- data/lib/spree/core.rb +49 -49
- data/lib/spree/deprecated_instance_variable_proxy.rb +1 -1
- data/lib/spree/deprecation.rb +1 -1
- data/lib/spree/deprecator.rb +2 -2
- data/lib/spree/i18n.rb +2 -2
- data/lib/spree/localized_number.rb +3 -3
- data/lib/spree/manipulative_query_monitor.rb +19 -0
- data/lib/spree/migrations.rb +2 -2
- data/lib/spree/permitted_attributes.rb +10 -10
- data/lib/spree/preferences/configuration.rb +5 -5
- data/lib/spree/preferences/preferable.rb +8 -10
- data/lib/spree/preferences/preferable_class_methods.rb +16 -16
- data/lib/spree/preferences/preference_differentiator.rb +1 -1
- data/lib/spree/preferences/scoped_store.rb +2 -2
- data/lib/spree/preferences/static_model_preferences.rb +2 -2
- data/lib/spree/preferences/store.rb +6 -6
- data/lib/spree/testing_support/ability_helpers.rb +30 -30
- data/lib/spree/testing_support/authorization_helpers.rb +6 -5
- data/lib/spree/testing_support/blacklist_urls.rb +1 -1
- data/lib/spree/testing_support/bus_helpers.rb +1 -1
- data/lib/spree/testing_support/capybara_driver.rb +1 -1
- data/lib/spree/testing_support/capybara_ext.rb +12 -12
- data/lib/spree/testing_support/common_rake.rb +17 -16
- data/lib/spree/testing_support/dummy_ability.rb +1 -1
- data/lib/spree/testing_support/dummy_app/migrations.rb +1 -1
- data/lib/spree/testing_support/dummy_app/rake_tasks.rb +5 -5
- data/lib/spree/testing_support/dummy_app/routes.rb +1 -1
- data/lib/spree/testing_support/dummy_app.rb +34 -34
- data/lib/spree/testing_support/extension_rake.rb +2 -2
- data/lib/spree/testing_support/factories/address_factory.rb +12 -12
- data/lib/spree/testing_support/factories/adjustment_factory.rb +7 -7
- data/lib/spree/testing_support/factories/adjustment_reason_factory.rb +1 -1
- data/lib/spree/testing_support/factories/calculator_factory.rb +6 -6
- data/lib/spree/testing_support/factories/carton_factory.rb +1 -1
- data/lib/spree/testing_support/factories/country_factory.rb +3 -3
- data/lib/spree/testing_support/factories/credit_card_factory.rb +3 -3
- data/lib/spree/testing_support/factories/customer_return_factory.rb +2 -2
- data/lib/spree/testing_support/factories/image_factory.rb +2 -2
- data/lib/spree/testing_support/factories/inventory_unit_factory.rb +4 -4
- data/lib/spree/testing_support/factories/line_item_factory.rb +2 -2
- data/lib/spree/testing_support/factories/option_type_factory.rb +2 -2
- data/lib/spree/testing_support/factories/option_value_factory.rb +2 -2
- data/lib/spree/testing_support/factories/order_factory.rb +16 -16
- data/lib/spree/testing_support/factories/payment_factory.rb +9 -9
- data/lib/spree/testing_support/factories/payment_method_factory.rb +10 -10
- data/lib/spree/testing_support/factories/price_factory.rb +2 -2
- data/lib/spree/testing_support/factories/product_factory.rb +2 -2
- data/lib/spree/testing_support/factories/product_option_type_factory.rb +1 -1
- data/lib/spree/testing_support/factories/product_property_factory.rb +1 -1
- data/lib/spree/testing_support/factories/property_factory.rb +3 -3
- data/lib/spree/testing_support/factories/refund_factory.rb +2 -2
- data/lib/spree/testing_support/factories/refund_reason_factory.rb +1 -1
- data/lib/spree/testing_support/factories/reimbursement_factory.rb +1 -1
- data/lib/spree/testing_support/factories/reimbursement_type_factory.rb +1 -1
- data/lib/spree/testing_support/factories/return_authorization_factory.rb +3 -3
- data/lib/spree/testing_support/factories/return_item_factory.rb +1 -1
- data/lib/spree/testing_support/factories/return_reason_factory.rb +1 -1
- data/lib/spree/testing_support/factories/role_factory.rb +2 -2
- data/lib/spree/testing_support/factories/shipment_factory.rb +3 -3
- data/lib/spree/testing_support/factories/shipping_category_factory.rb +1 -1
- data/lib/spree/testing_support/factories/shipping_method_factory.rb +7 -7
- data/lib/spree/testing_support/factories/shipping_rate_factory.rb +1 -1
- data/lib/spree/testing_support/factories/state_factory.rb +4 -4
- data/lib/spree/testing_support/factories/stock_item_factory.rb +1 -1
- data/lib/spree/testing_support/factories/stock_location_factory.rb +7 -7
- data/lib/spree/testing_support/factories/stock_movement_factory.rb +3 -3
- data/lib/spree/testing_support/factories/stock_package_factory.rb +3 -3
- data/lib/spree/testing_support/factories/store_credit_category_factory.rb +1 -1
- data/lib/spree/testing_support/factories/store_credit_event_factory.rb +8 -8
- data/lib/spree/testing_support/factories/store_credit_factory.rb +1 -1
- data/lib/spree/testing_support/factories/store_credit_reason_factory.rb +1 -1
- data/lib/spree/testing_support/factories/store_credit_type_factory.rb +6 -6
- data/lib/spree/testing_support/factories/store_factory.rb +2 -2
- data/lib/spree/testing_support/factories/tax_category_factory.rb +1 -1
- data/lib/spree/testing_support/factories/tax_rate_factory.rb +1 -1
- data/lib/spree/testing_support/factories/taxon_factory.rb +3 -3
- data/lib/spree/testing_support/factories/taxonomy_factory.rb +1 -1
- data/lib/spree/testing_support/factories/user_factory.rb +2 -2
- data/lib/spree/testing_support/factories/variant_factory.rb +2 -2
- data/lib/spree/testing_support/factories/variant_property_rule_condition_factory.rb +1 -1
- data/lib/spree/testing_support/factories/variant_property_rule_factory.rb +1 -1
- data/lib/spree/testing_support/factories/variant_property_rule_value_factory.rb +1 -1
- data/lib/spree/testing_support/factories/zone_factory.rb +3 -3
- data/lib/spree/testing_support/factory_bot.rb +1 -1
- data/lib/spree/testing_support/flaky.rb +3 -2
- data/lib/spree/testing_support/flash.rb +2 -2
- data/lib/spree/testing_support/order_walkthrough.rb +7 -7
- data/lib/spree/testing_support/preferences.rb +1 -1
- data/lib/spree/testing_support/rake.rb +1 -1
- data/lib/spree/testing_support/shared_examples/calculator.rb +1 -1
- data/lib/spree/testing_support/shared_examples/gallery.rb +7 -7
- data/lib/spree/testing_support/shared_examples/order_factory.rb +9 -9
- data/lib/spree/testing_support/shared_examples/state_change_tracking.rb +25 -0
- data/lib/spree/testing_support/shared_examples/working_factory.rb +1 -1
- data/lib/spree/testing_support/translations.rb +1 -1
- data/lib/spree_core.rb +1 -1
- data/lib/tasks/payment_method.rake +2 -2
- data/solidus_core.gemspec +49 -49
- metadata +62 -54
data/app/models/spree/zone.rb
CHANGED
|
@@ -13,7 +13,7 @@ module Spree
|
|
|
13
13
|
has_many :shipping_method_zones, dependent: :destroy
|
|
14
14
|
has_many :shipping_methods, through: :shipping_method_zones
|
|
15
15
|
|
|
16
|
-
validates :name, presence: true, uniqueness: {
|
|
16
|
+
validates :name, presence: true, uniqueness: {allow_blank: true, case_sensitive: true}
|
|
17
17
|
after_save :remove_defunct_members
|
|
18
18
|
|
|
19
19
|
scope :with_member_ids, ->(state_ids, country_ids) do
|
|
@@ -22,11 +22,11 @@ module Spree
|
|
|
22
22
|
else
|
|
23
23
|
spree_zone_members_table = Spree::ZoneMember.arel_table
|
|
24
24
|
matching_state =
|
|
25
|
-
spree_zone_members_table[:zoneable_type].eq("Spree::State")
|
|
26
|
-
|
|
25
|
+
spree_zone_members_table[:zoneable_type].eq("Spree::State")
|
|
26
|
+
.and(spree_zone_members_table[:zoneable_id].in(state_ids))
|
|
27
27
|
matching_country =
|
|
28
|
-
spree_zone_members_table[:zoneable_type].eq("Spree::Country")
|
|
29
|
-
|
|
28
|
+
spree_zone_members_table[:zoneable_type].eq("Spree::Country")
|
|
29
|
+
.and(spree_zone_members_table[:zoneable_id].in(country_ids))
|
|
30
30
|
joins(:zone_members).where(matching_state.or(matching_country)).distinct
|
|
31
31
|
end
|
|
32
32
|
end
|
|
@@ -39,8 +39,8 @@ module Spree
|
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
accepts_nested_attributes_for :zone_members, allow_destroy: true, reject_if: proc { |member| member[
|
|
42
|
+
alias_method :members, :zone_members
|
|
43
|
+
accepts_nested_attributes_for :zone_members, allow_destroy: true, reject_if: proc { |member| member["zoneable_id"].blank? }
|
|
44
44
|
|
|
45
45
|
self.allowed_ransackable_attributes = %w[name description]
|
|
46
46
|
|
|
@@ -74,9 +74,9 @@ module Spree
|
|
|
74
74
|
|
|
75
75
|
members.any? do |zone_member|
|
|
76
76
|
case zone_member.zoneable_type
|
|
77
|
-
when
|
|
77
|
+
when "Spree::Country"
|
|
78
78
|
zone_member.zoneable_id == address.country_id
|
|
79
|
-
when
|
|
79
|
+
when "Spree::State"
|
|
80
80
|
zone_member.zoneable_id == address.state_id
|
|
81
81
|
else
|
|
82
82
|
false
|
|
@@ -87,10 +87,10 @@ module Spree
|
|
|
87
87
|
# convenience method for returning the countries contained within a zone
|
|
88
88
|
def country_list
|
|
89
89
|
@countries ||= case kind
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
when "country" then zoneables
|
|
91
|
+
when "state" then zoneables.collect(&:country)
|
|
92
|
+
else []
|
|
93
|
+
end.flatten.compact.uniq
|
|
94
94
|
end
|
|
95
95
|
|
|
96
96
|
def <=>(other)
|
|
@@ -104,7 +104,7 @@ module Spree
|
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
def country_ids
|
|
107
|
-
if kind ==
|
|
107
|
+
if kind == "country"
|
|
108
108
|
members.pluck(:zoneable_id)
|
|
109
109
|
else
|
|
110
110
|
[]
|
|
@@ -112,7 +112,7 @@ module Spree
|
|
|
112
112
|
end
|
|
113
113
|
|
|
114
114
|
def state_ids
|
|
115
|
-
if kind ==
|
|
115
|
+
if kind == "state"
|
|
116
116
|
members.pluck(:zoneable_id)
|
|
117
117
|
else
|
|
118
118
|
[]
|
|
@@ -120,18 +120,18 @@ module Spree
|
|
|
120
120
|
end
|
|
121
121
|
|
|
122
122
|
def country_ids=(ids)
|
|
123
|
-
set_zone_members(ids,
|
|
123
|
+
set_zone_members(ids, "Spree::Country")
|
|
124
124
|
end
|
|
125
125
|
|
|
126
126
|
def state_ids=(ids)
|
|
127
|
-
set_zone_members(ids,
|
|
127
|
+
set_zone_members(ids, "Spree::State")
|
|
128
128
|
end
|
|
129
129
|
|
|
130
130
|
private
|
|
131
131
|
|
|
132
132
|
def remove_defunct_members
|
|
133
133
|
if zone_members.any?
|
|
134
|
-
zone_members.where(
|
|
134
|
+
zone_members.where("zoneable_id IS NULL OR zoneable_type != ?", "Spree::#{kind.classify}").destroy_all
|
|
135
135
|
end
|
|
136
136
|
end
|
|
137
137
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module Spree
|
|
4
4
|
class ZoneMember < Spree::Base
|
|
5
|
-
belongs_to :zone, class_name:
|
|
5
|
+
belongs_to :zone, class_name: "Spree::Zone", counter_cache: true, inverse_of: :zone_members, optional: true
|
|
6
6
|
belongs_to :zoneable, polymorphic: true, optional: true
|
|
7
7
|
|
|
8
8
|
delegate :name, to: :zoneable, allow_nil: true
|
|
@@ -6,8 +6,8 @@ module Spree
|
|
|
6
6
|
include Omnes::Subscriber
|
|
7
7
|
|
|
8
8
|
handle :carton_shipped,
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
with: :send_carton_shipped_emails,
|
|
10
|
+
id: :spree_carton_mailer_send_carton_shipped_email
|
|
11
11
|
|
|
12
12
|
# Sends carton shipped emails to users.
|
|
13
13
|
#
|
|
@@ -6,8 +6,8 @@ module Spree
|
|
|
6
6
|
include Omnes::Subscriber
|
|
7
7
|
|
|
8
8
|
handle :order_canceled,
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
with: :send_cancel_email,
|
|
10
|
+
id: :spree_order_mailer_send_cancel_email
|
|
11
11
|
|
|
12
12
|
# Sends cancellation email to the user.
|
|
13
13
|
#
|
|
@@ -6,8 +6,8 @@ module Spree
|
|
|
6
6
|
include Omnes::Subscriber
|
|
7
7
|
|
|
8
8
|
handle :order_finalized,
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
with: :send_confirmation_email,
|
|
10
|
+
id: :spree_order_mailer_send_confirmation_email
|
|
11
11
|
|
|
12
12
|
# Sends confirmation email to the user.
|
|
13
13
|
#
|
|
@@ -6,8 +6,8 @@ module Spree
|
|
|
6
6
|
include Omnes::Subscriber
|
|
7
7
|
|
|
8
8
|
handle :order_short_shipped,
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
with: :send_inventory_cancellation_email,
|
|
10
|
+
id: :spree_order_mailer_send_inventory_cancellation_email
|
|
11
11
|
|
|
12
12
|
# Sends inventory cancellation email to the user.
|
|
13
13
|
#
|
|
@@ -6,8 +6,8 @@ module Spree
|
|
|
6
6
|
include Omnes::Subscriber
|
|
7
7
|
|
|
8
8
|
handle :reimbursement_reimbursed,
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
with: :send_reimbursement_email,
|
|
10
|
+
id: :spree_order_mailer_send_reimbursement_email
|
|
11
11
|
|
|
12
12
|
# Sends reimbursement email to the user
|
|
13
13
|
#
|
|
@@ -18,8 +18,8 @@ FriendlyId.defaults do |config|
|
|
|
18
18
|
# undesirable to allow as slugs. Edit this list as needed for your app.
|
|
19
19
|
config.use :reserved
|
|
20
20
|
|
|
21
|
-
config.reserved_words = %w
|
|
22
|
-
|
|
21
|
+
config.reserved_words = %w[new edit index session login logout users admin
|
|
22
|
+
stylesheets assets javascripts images]
|
|
23
23
|
|
|
24
24
|
# ## Friendly Finders
|
|
25
25
|
#
|
data/config/locales/en.yml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
3
|
+
require "carmen"
|
|
4
4
|
|
|
5
5
|
# Insert Countries into the spree_countries table, checking to ensure that no
|
|
6
6
|
# duplicates are created, using as few SQL statements as possible (2)
|
|
@@ -8,11 +8,11 @@ require 'carmen'
|
|
|
8
8
|
connection = Spree::Base.connection
|
|
9
9
|
|
|
10
10
|
country_mapper = ->(country) do
|
|
11
|
-
name
|
|
12
|
-
iso3
|
|
13
|
-
iso
|
|
14
|
-
iso_name
|
|
15
|
-
numcode
|
|
11
|
+
name = connection.quote country.name
|
|
12
|
+
iso3 = connection.quote country.alpha_3_code
|
|
13
|
+
iso = connection.quote country.alpha_2_code
|
|
14
|
+
iso_name = connection.quote country.name.upcase
|
|
15
|
+
numcode = connection.quote country.numeric_code
|
|
16
16
|
states_required = connection.quote country.subregions?
|
|
17
17
|
|
|
18
18
|
[name, iso3, iso, iso_name, numcode, states_required].join(", ")
|
|
@@ -32,7 +32,7 @@ country_values = -> do
|
|
|
32
32
|
.join("), (")
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
country_columns = %w
|
|
35
|
+
country_columns = %w[name iso3 iso iso_name numcode states_required].join(", ")
|
|
36
36
|
country_vals = country_values.call
|
|
37
37
|
|
|
38
38
|
if country_vals.present?
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
Spree::ReturnReason.find_or_create_by(name:
|
|
4
|
-
Spree::ReturnReason.find_or_create_by(name:
|
|
5
|
-
Spree::ReturnReason.find_or_create_by(name:
|
|
6
|
-
Spree::ReturnReason.find_or_create_by(name:
|
|
7
|
-
Spree::ReturnReason.find_or_create_by(name:
|
|
8
|
-
Spree::ReturnReason.find_or_create_by(name:
|
|
9
|
-
Spree::ReturnReason.find_or_create_by(name:
|
|
10
|
-
Spree::ReturnReason.find_or_create_by(name:
|
|
11
|
-
Spree::ReturnReason.find_or_create_by(name:
|
|
12
|
-
Spree::ReturnReason.find_or_create_by(name:
|
|
13
|
-
Spree::ReturnReason.find_or_create_by(name:
|
|
3
|
+
Spree::ReturnReason.find_or_create_by(name: "Better price available")
|
|
4
|
+
Spree::ReturnReason.find_or_create_by(name: "Missed estimated delivery date")
|
|
5
|
+
Spree::ReturnReason.find_or_create_by(name: "Missing parts or accessories")
|
|
6
|
+
Spree::ReturnReason.find_or_create_by(name: "Damaged during transport")
|
|
7
|
+
Spree::ReturnReason.find_or_create_by(name: "Defective within warranty period")
|
|
8
|
+
Spree::ReturnReason.find_or_create_by(name: "Other defects or damages")
|
|
9
|
+
Spree::ReturnReason.find_or_create_by(name: "Different from what was ordered")
|
|
10
|
+
Spree::ReturnReason.find_or_create_by(name: "Different from description")
|
|
11
|
+
Spree::ReturnReason.find_or_create_by(name: "No longer needed/wanted")
|
|
12
|
+
Spree::ReturnReason.find_or_create_by(name: "Accidental order")
|
|
13
|
+
Spree::ReturnReason.find_or_create_by(name: "Unauthorized purchase")
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
Spree::PaymentMethod.create_with(
|
|
5
4
|
name: "Store Credit",
|
|
6
5
|
description: "Store credit",
|
|
@@ -14,10 +13,10 @@ Spree::PaymentMethod.create_with(
|
|
|
14
13
|
Spree::StoreCreditType.create_with(priority: 1).find_or_create_by!(name: Spree::StoreCreditType::EXPIRING)
|
|
15
14
|
Spree::StoreCreditType.create_with(priority: 2).find_or_create_by!(name: Spree::StoreCreditType::NON_EXPIRING)
|
|
16
15
|
|
|
17
|
-
Spree::ReimbursementType.create_with(name: "Store Credit").find_or_create_by!(type:
|
|
18
|
-
Spree::ReimbursementType.create_with(name: "Original").find_or_create_by!(type:
|
|
16
|
+
Spree::ReimbursementType.create_with(name: "Store Credit").find_or_create_by!(type: "Spree::ReimbursementType::StoreCredit")
|
|
17
|
+
Spree::ReimbursementType.create_with(name: "Original").find_or_create_by!(type: "Spree::ReimbursementType::OriginalPayment")
|
|
19
18
|
|
|
20
19
|
Spree::StoreCreditCategory.find_or_create_by!(name: Spree::StoreCreditCategory::GIFT_CARD)
|
|
21
20
|
Spree::StoreCreditCategory.find_or_create_by!(name: Spree::StoreCreditCategory::REIMBURSEMENT)
|
|
22
21
|
|
|
23
|
-
Spree::StoreCreditReason.find_or_create_by!(name:
|
|
22
|
+
Spree::StoreCreditReason.find_or_create_by!(name: "Credit Given In Error")
|
data/db/default/spree/stores.rb
CHANGED
data/db/default/spree/zones.rb
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
eu_vat = Spree::Zone.find_or_create_by!(name: "EU_VAT", description: "Countries that make up the EU VAT zone.")
|
|
4
4
|
north_america = Spree::Zone.find_or_create_by!(name: "North America", description: "USA + Canada")
|
|
5
5
|
|
|
6
|
-
%w
|
|
7
|
-
each do |symbol|
|
|
8
|
-
|
|
9
|
-
end
|
|
6
|
+
%w[PL FI PT RO DE FR SK HU SI IE AT ES IT BE SE LV BG GB LT CY LU MT DK NL EE HR CZ GR]
|
|
7
|
+
.each do |symbol|
|
|
8
|
+
eu_vat.zone_members.find_or_create_by!(zoneable: Spree::Country.find_by!(iso: symbol))
|
|
9
|
+
end
|
|
10
10
|
|
|
11
|
-
%w
|
|
11
|
+
%w[US CA].each do |symbol|
|
|
12
12
|
north_america.zone_members.find_or_create_by!(zoneable: Spree::Country.find_by!(iso: symbol))
|
|
13
13
|
end
|
|
@@ -11,27 +11,27 @@ class SolidusOneFour < ActiveRecord::Migration[5.0]
|
|
|
11
11
|
# but spree_api depends on it existing. This defininition comes from solidus_auth_devise's first migration,
|
|
12
12
|
# and creates a table equivolent to it
|
|
13
13
|
create_table "spree_users", force: true do |t|
|
|
14
|
-
t.string
|
|
15
|
-
t.string
|
|
16
|
-
t.string
|
|
17
|
-
t.string
|
|
18
|
-
t.string
|
|
19
|
-
t.string
|
|
20
|
-
t.string
|
|
21
|
-
t.string
|
|
22
|
-
t.integer
|
|
23
|
-
t.integer
|
|
14
|
+
t.string "crypted_password", limit: 128
|
|
15
|
+
t.string "salt", limit: 128
|
|
16
|
+
t.string "email"
|
|
17
|
+
t.string "remember_token"
|
|
18
|
+
t.string "remember_token_expires_at"
|
|
19
|
+
t.string "persistence_token"
|
|
20
|
+
t.string "single_access_token"
|
|
21
|
+
t.string "perishable_token"
|
|
22
|
+
t.integer "login_count", default: 0, null: false
|
|
23
|
+
t.integer "failed_login_count", default: 0, null: false
|
|
24
24
|
t.datetime "last_request_at"
|
|
25
25
|
t.datetime "current_login_at"
|
|
26
26
|
t.datetime "last_login_at"
|
|
27
|
-
t.string
|
|
28
|
-
t.string
|
|
29
|
-
t.string
|
|
30
|
-
t.integer
|
|
31
|
-
t.integer
|
|
27
|
+
t.string "current_login_ip"
|
|
28
|
+
t.string "last_login_ip"
|
|
29
|
+
t.string "login"
|
|
30
|
+
t.integer "ship_address_id"
|
|
31
|
+
t.integer "bill_address_id"
|
|
32
32
|
t.datetime "created_at", null: false, precision: 6
|
|
33
33
|
t.datetime "updated_at", null: false, precision: 6
|
|
34
|
-
t.string
|
|
34
|
+
t.string "openid_identifier"
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
create_table "friendly_id_slugs", force: :cascade do |t|
|
|
@@ -7,9 +7,9 @@ class CreateSpreeWalletPaymentSources < ActiveRecord::Migration[4.2]
|
|
|
7
7
|
create_table :spree_wallet_payment_sources do |t|
|
|
8
8
|
t.references(
|
|
9
9
|
:user,
|
|
10
|
-
foreign_key: {
|
|
10
|
+
foreign_key: {to_table: Spree.user_class.table_name},
|
|
11
11
|
index: true,
|
|
12
|
-
null: false
|
|
12
|
+
null: false
|
|
13
13
|
)
|
|
14
14
|
t.references :payment_source, polymorphic: true, null: false
|
|
15
15
|
t.boolean :default, default: false, null: false
|
|
@@ -21,7 +21,7 @@ class CreateSpreeWalletPaymentSources < ActiveRecord::Migration[4.2]
|
|
|
21
21
|
:spree_wallet_payment_sources,
|
|
22
22
|
[:user_id, :payment_source_id, :payment_source_type],
|
|
23
23
|
unique: true,
|
|
24
|
-
name:
|
|
24
|
+
name: "index_spree_wallet_payment_sources_on_source_and_user"
|
|
25
25
|
)
|
|
26
26
|
end
|
|
27
27
|
end
|
|
@@ -2,22 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
class MigrateCreditCardsToWalletPaymentSources < ActiveRecord::Migration[4.2]
|
|
4
4
|
class CreditCard < ActiveRecord::Base
|
|
5
|
-
self.table_name =
|
|
5
|
+
self.table_name = "spree_credit_cards"
|
|
6
6
|
end
|
|
7
|
+
|
|
7
8
|
class WalletPaymentSource < ActiveRecord::Base
|
|
8
|
-
self.table_name =
|
|
9
|
+
self.table_name = "spree_wallet_payment_sources"
|
|
9
10
|
end
|
|
10
11
|
|
|
11
12
|
def up
|
|
12
|
-
credit_cards = CreditCard
|
|
13
|
-
where.not(gateway_customer_profile_id: nil)
|
|
14
|
-
where.not(user_id: nil)
|
|
13
|
+
credit_cards = CreditCard
|
|
14
|
+
.where.not(gateway_customer_profile_id: nil)
|
|
15
|
+
.where.not(user_id: nil)
|
|
15
16
|
|
|
16
17
|
credit_cards.find_each do |credit_card|
|
|
17
18
|
WalletPaymentSource.find_or_create_by!(
|
|
18
19
|
user_id: credit_card.user_id,
|
|
19
20
|
payment_source_id: credit_card.id,
|
|
20
|
-
payment_source_type:
|
|
21
|
+
payment_source_type: "Spree::CreditCard"
|
|
21
22
|
) do |wallet_source|
|
|
22
23
|
wallet_source.default = credit_card.default
|
|
23
24
|
end
|
|
@@ -4,25 +4,25 @@ class AddAvailableToColumnsAndRemoveDisplayOnFromPaymentMethods < ActiveRecord::
|
|
|
4
4
|
def up
|
|
5
5
|
add_column(:spree_payment_methods, :available_to_users, :boolean, default: true)
|
|
6
6
|
add_column(:spree_payment_methods, :available_to_admin, :boolean, default: true)
|
|
7
|
-
execute("UPDATE spree_payment_methods "\
|
|
8
|
-
"SET available_to_users=#{quoted_false} "\
|
|
7
|
+
execute("UPDATE spree_payment_methods " \
|
|
8
|
+
"SET available_to_users=#{quoted_false} " \
|
|
9
9
|
"WHERE NOT (display_on='front_end' OR display_on='' OR display_on IS NULL)")
|
|
10
|
-
execute("UPDATE spree_payment_methods "\
|
|
11
|
-
"SET available_to_admin=#{quoted_false} "\
|
|
10
|
+
execute("UPDATE spree_payment_methods " \
|
|
11
|
+
"SET available_to_admin=#{quoted_false} " \
|
|
12
12
|
"WHERE NOT (display_on='back_end' OR display_on='' OR display_on IS NULL)")
|
|
13
13
|
remove_column(:spree_payment_methods, :display_on)
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def down
|
|
17
17
|
add_column(:spree_payment_methods, :display_on, :string)
|
|
18
|
-
execute("UPDATE spree_payment_methods "\
|
|
19
|
-
"SET display_on='' "\
|
|
18
|
+
execute("UPDATE spree_payment_methods " \
|
|
19
|
+
"SET display_on='' " \
|
|
20
20
|
"WHERE (available_to_users=#{quoted_true} AND available_to_admin=#{quoted_true})")
|
|
21
|
-
execute("UPDATE spree_payment_methods "\
|
|
22
|
-
"SET display_on='front_end' "\
|
|
21
|
+
execute("UPDATE spree_payment_methods " \
|
|
22
|
+
"SET display_on='front_end' " \
|
|
23
23
|
"WHERE (available_to_users=#{quoted_true} AND NOT available_to_admin=#{quoted_true})")
|
|
24
|
-
execute("UPDATE spree_payment_methods "\
|
|
25
|
-
"SET display_on='back_end' "\
|
|
24
|
+
execute("UPDATE spree_payment_methods " \
|
|
25
|
+
"SET display_on='back_end' " \
|
|
26
26
|
"WHERE (available_to_admin=#{quoted_true} AND NOT available_to_users=#{quoted_true})")
|
|
27
27
|
remove_column(:spree_payment_methods, :available_to_users)
|
|
28
28
|
remove_column(:spree_payment_methods, :available_to_admin)
|
data/db/migrate/20161123154034_add_available_to_users_and_remove_display_on_from_shipping_methods.rb
CHANGED
|
@@ -3,19 +3,19 @@
|
|
|
3
3
|
class AddAvailableToUsersAndRemoveDisplayOnFromShippingMethods < ActiveRecord::Migration[5.0]
|
|
4
4
|
def up
|
|
5
5
|
add_column(:spree_shipping_methods, :available_to_users, :boolean, default: true)
|
|
6
|
-
execute("UPDATE spree_shipping_methods "\
|
|
7
|
-
"SET available_to_users=#{quoted_false} "\
|
|
6
|
+
execute("UPDATE spree_shipping_methods " \
|
|
7
|
+
"SET available_to_users=#{quoted_false} " \
|
|
8
8
|
"WHERE display_on='back_end'")
|
|
9
9
|
remove_column(:spree_shipping_methods, :display_on)
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def down
|
|
13
13
|
add_column(:spree_shipping_methods, :display_on, :string)
|
|
14
|
-
execute("UPDATE spree_shipping_methods "\
|
|
15
|
-
"SET display_on='both' "\
|
|
14
|
+
execute("UPDATE spree_shipping_methods " \
|
|
15
|
+
"SET display_on='both' " \
|
|
16
16
|
"WHERE (available_to_users=#{quoted_true})")
|
|
17
|
-
execute("UPDATE spree_shipping_methods "\
|
|
18
|
-
"SET display_on='back_end' "\
|
|
17
|
+
execute("UPDATE spree_shipping_methods " \
|
|
18
|
+
"SET display_on='back_end' " \
|
|
19
19
|
"WHERE (available_to_users=#{quoted_false})")
|
|
20
20
|
remove_column(:spree_shipping_methods, :available_to_users)
|
|
21
21
|
end
|
|
@@ -14,10 +14,10 @@ class RemoveOrderIdFromInventoryUnits < ActiveRecord::Migration[5.0]
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def up
|
|
17
|
-
if InventoryUnit
|
|
18
|
-
joins(:shipment)
|
|
19
|
-
where.not(
|
|
20
|
-
|
|
17
|
+
if InventoryUnit
|
|
18
|
+
.joins(:shipment)
|
|
19
|
+
.where.not(
|
|
20
|
+
"spree_inventory_units.order_id = spree_shipments.order_id"
|
|
21
21
|
).exists?
|
|
22
22
|
raise InconsistentInventoryUnitError, "You have inventory units with inconsistent order references. Please fix those before running this migration"
|
|
23
23
|
end
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
class AddAmountRemainingToStoreCreditEvents < ActiveRecord::Migration[5.0]
|
|
4
4
|
class StoreCredit < ActiveRecord::Base
|
|
5
|
-
self.table_name =
|
|
5
|
+
self.table_name = "spree_store_credits"
|
|
6
6
|
has_many :store_credit_events
|
|
7
7
|
|
|
8
|
-
VOID_ACTION
|
|
9
|
-
CREDIT_ACTION
|
|
10
|
-
CAPTURE_ACTION
|
|
11
|
-
ELIGIBLE_ACTION
|
|
12
|
-
AUTHORIZE_ACTION
|
|
13
|
-
ALLOCATION_ACTION =
|
|
14
|
-
ADJUSTMENT_ACTION =
|
|
15
|
-
INVALIDATE_ACTION =
|
|
8
|
+
VOID_ACTION = "void"
|
|
9
|
+
CREDIT_ACTION = "credit"
|
|
10
|
+
CAPTURE_ACTION = "capture"
|
|
11
|
+
ELIGIBLE_ACTION = "eligible"
|
|
12
|
+
AUTHORIZE_ACTION = "authorize"
|
|
13
|
+
ALLOCATION_ACTION = "allocation"
|
|
14
|
+
ADJUSTMENT_ACTION = "adjustment"
|
|
15
|
+
INVALIDATE_ACTION = "invalidate"
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
class StoreCreditEvent < ActiveRecord::Base
|
|
@@ -30,13 +30,6 @@ class AddAmountRemainingToStoreCreditEvents < ActiveRecord::Migration[5.0]
|
|
|
30
30
|
|
|
31
31
|
credit.store_credit_events.chronological.each do |event|
|
|
32
32
|
case event.action
|
|
33
|
-
when StoreCredit::ALLOCATION_ACTION,
|
|
34
|
-
StoreCredit::ELIGIBLE_ACTION,
|
|
35
|
-
StoreCredit::CAPTURE_ACTION
|
|
36
|
-
# These actions do not change the amount_remaining so the previous
|
|
37
|
-
# amount available is used (either the credit's amount or the
|
|
38
|
-
# amount_remaining coming from the event right before this one).
|
|
39
|
-
credit_amount
|
|
40
33
|
when StoreCredit::AUTHORIZE_ACTION,
|
|
41
34
|
StoreCredit::INVALIDATE_ACTION
|
|
42
35
|
# These actions remove the amount from the available credit amount.
|
|
@@ -4,13 +4,13 @@ class AddUniqueIndexToOptionValuesVariants < ActiveRecord::Migration[5.2]
|
|
|
4
4
|
def up
|
|
5
5
|
remove_index :spree_option_values_variants, [:variant_id, :option_value_id]
|
|
6
6
|
add_index :spree_option_values_variants, [:variant_id, :option_value_id],
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
name: "index_option_values_variants_on_variant_id_and_option_value_id",
|
|
8
|
+
unique: true
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
def down
|
|
12
12
|
remove_index :spree_option_values_variants, [:variant_id, :option_value_id]
|
|
13
13
|
add_index :spree_option_values_variants, [:variant_id, :option_value_id],
|
|
14
|
-
|
|
14
|
+
name: "index_option_values_variants_on_variant_id_and_option_value_id"
|
|
15
15
|
end
|
|
16
16
|
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
class AddPrimaryTaxonToProducts < ActiveRecord::Migration[7.0]
|
|
2
2
|
def change
|
|
3
3
|
change_table :spree_products do |t|
|
|
4
|
-
t.references :primary_taxon, type: :integer, foreign_key: {
|
|
4
|
+
t.references :primary_taxon, type: :integer, foreign_key: {to_table: :spree_taxons}
|
|
5
5
|
end
|
|
6
6
|
end
|
|
7
7
|
end
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
class AddReverseChargeStatusToStore < ActiveRecord::Migration[7.0]
|
|
4
4
|
def change
|
|
5
5
|
add_column :spree_stores, :reverse_charge_status, :integer, default: 0, null: false,
|
|
6
|
-
|
|
6
|
+
comment: "Enum values: 0 = disabled, 1 = enabled, 2 = not_validated"
|
|
7
7
|
end
|
|
8
8
|
end
|
|
@@ -5,6 +5,6 @@ class AddVatIdEmailAndReverseChargeStatusToAddresses < ActiveRecord::Migration[7
|
|
|
5
5
|
add_column :spree_addresses, :vat_id, :string
|
|
6
6
|
add_column :spree_addresses, :email, :string
|
|
7
7
|
add_column :spree_addresses, :reverse_charge_status, :integer, default: 0, null: false,
|
|
8
|
-
|
|
8
|
+
comment: "Enum values: 0 = disabled, 1 = enabled, 2 = not_validated"
|
|
9
9
|
end
|
|
10
10
|
end
|