solidus_core 1.0.7 → 1.1.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/spree/base_controller.rb +1 -2
- data/app/helpers/spree/base_helper.rb +4 -5
- data/app/helpers/spree/products_helper.rb +0 -8
- data/app/mailers/spree/carton_mailer.rb +17 -5
- data/app/mailers/spree/order_mailer.rb +12 -4
- data/app/models/concerns/spree/adjustment_source.rb +7 -8
- data/app/models/concerns/spree/default_price.rb +8 -2
- data/app/models/concerns/spree/named_type.rb +1 -1
- data/app/models/concerns/spree/ordered_property_value_list.rb +28 -0
- data/app/models/concerns/spree/user_address_book.rb +125 -0
- data/app/models/concerns/spree/user_api_authentication.rb +6 -2
- data/app/models/concerns/spree/user_methods.rb +5 -6
- data/app/models/spree/ability.rb +1 -38
- data/app/models/spree/address.rb +79 -36
- data/app/models/spree/adjustment.rb +74 -25
- data/app/models/spree/adjustment_reason.rb +1 -1
- data/app/models/spree/app_configuration.rb +35 -0
- data/app/models/spree/carton.rb +3 -3
- data/app/models/spree/country.rb +7 -1
- data/app/models/spree/credit_card.rb +5 -1
- data/app/models/spree/gateway.rb +0 -8
- data/app/models/spree/inventory_unit.rb +1 -1
- data/app/models/spree/item_adjustments.rb +1 -1
- data/app/models/spree/line_item_action.rb +1 -1
- data/app/models/spree/option_type.rb +3 -2
- data/app/models/spree/option_value.rb +1 -1
- data/app/models/spree/option_values_variant.rb +1 -1
- data/app/models/spree/order.rb +28 -56
- data/app/models/spree/order/checkout.rb +18 -20
- data/app/models/spree/order_mutex.rb +1 -1
- data/app/models/spree/order_promotion.rb +1 -1
- data/app/models/spree/order_shipping.rb +6 -12
- data/app/models/spree/order_stock_location.rb +1 -1
- data/app/models/spree/payment.rb +3 -14
- data/app/models/spree/payment/processing.rb +7 -14
- data/app/models/spree/payment_method.rb +5 -5
- data/app/models/spree/permission_sets/default_customer.rb +31 -0
- data/app/models/spree/permission_sets/order_display.rb +4 -0
- data/app/models/spree/permission_sets/order_management.rb +3 -0
- data/app/models/spree/permission_sets/promotion_display.rb +2 -1
- data/app/models/spree/permission_sets/restricted_stock_display.rb +16 -0
- data/app/models/spree/permission_sets/restricted_stock_management.rb +16 -0
- data/app/models/spree/permission_sets/restricted_stock_transfer_display.rb +17 -0
- data/app/models/spree/permission_sets/restricted_stock_transfer_management.rb +51 -0
- data/app/models/spree/permission_sets/stock_display.rb +1 -1
- data/app/models/spree/permission_sets/stock_management.rb +1 -2
- data/app/models/spree/permission_sets/stock_transfer_display.rb +10 -0
- data/app/models/spree/permission_sets/stock_transfer_management.rb +11 -0
- data/app/models/spree/permission_sets/super_user.rb +9 -0
- data/app/models/spree/product.rb +66 -28
- data/app/models/spree/product/scopes.rb +7 -22
- data/app/models/spree/product_option_type.rb +1 -1
- data/app/models/spree/product_promotion_rule.rb +6 -0
- data/app/models/spree/product_property.rb +2 -20
- data/app/models/spree/promotion/rules/product.rb +2 -1
- data/app/models/spree/refund.rb +0 -10
- data/app/models/spree/reimbursement.rb +1 -1
- data/app/models/spree/return_item.rb +5 -3
- data/app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb +13 -4
- data/app/models/spree/return_item/exchange_variant_eligibility/same_product.rb +2 -2
- 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 +13 -4
- data/app/models/spree/shipping_manifest.rb +9 -3
- data/app/models/spree/shipping_method.rb +2 -3
- data/app/models/spree/shipping_method_zone.rb +6 -0
- data/app/models/spree/state.rb +1 -1
- data/app/models/spree/stock_item.rb +15 -3
- data/app/models/spree/stock_movement.rb +1 -1
- data/app/models/spree/store.rb +3 -0
- data/app/models/spree/store_credit.rb +1 -1
- data/app/models/spree/store_credit_category.rb +1 -1
- data/app/models/spree/store_credit_event.rb +1 -1
- data/app/models/spree/store_credit_type.rb +1 -1
- data/app/models/spree/store_credit_update_reason.rb +1 -1
- data/app/models/spree/store_payment_method.rb +6 -0
- data/app/models/spree/tax_rate.rb +3 -10
- data/app/models/spree/taxonomy.rb +1 -1
- data/app/models/spree/transfer_item.rb +1 -1
- data/app/models/spree/unit_cancel.rb +2 -2
- data/app/models/spree/user_address.rb +21 -0
- data/app/models/spree/user_stock_location.rb +1 -1
- data/app/models/spree/variant.rb +28 -13
- data/app/models/spree/variant_property_rule.rb +42 -0
- data/app/models/spree/variant_property_rule_condition.rb +8 -0
- data/app/models/spree/variant_property_rule_value.rb +8 -0
- data/app/models/spree/zone.rb +4 -2
- data/app/views/spree/carton_mailer/shipped_email.text.erb +1 -1
- data/config/locales/en.yml +13 -0
- data/db/default/spree/store_credit.rb +0 -1
- data/db/default/spree/zones.rb +1 -1
- data/db/migrate/20130228210442_create_shipping_method_zone.rb +1 -1
- data/db/migrate/20150121022521_remove_environment_from_payment_method.rb +6 -0
- data/db/migrate/20150506181611_create_spree_store_credit_payment_method.rb +9 -5
- data/db/migrate/20150731201146_add_spree_user_addresses.rb +16 -0
- data/db/migrate/20150811210350_remove_mandatory_from_adjustments.rb +5 -0
- data/db/migrate/20150811211025_add_finalized_to_spree_adjustments.rb +11 -0
- data/db/migrate/20150820160821_add_store_payment_methods.rb +10 -0
- data/db/migrate/20150824213633_convert_habtm_to_hmt_for_shipping_methods_zones.rb +17 -0
- data/db/migrate/20150824214129_convert_habtm_to_hmt_for_products_promotion_rules.rb +17 -0
- data/db/migrate/20150825204216_drop_spree_gateways.rb +20 -0
- data/db/migrate/20150909123605_create_variant_properties_and_rules.rb +28 -0
- data/lib/generators/spree/dummy/dummy_generator.rb +1 -1
- data/lib/generators/spree/install/templates/config/initializers/spree.rb +4 -3
- data/lib/spree/core.rb +4 -0
- data/lib/spree/core/controller_helpers/payment_parameters.rb +67 -0
- data/lib/spree/core/delegate_belongs_to.rb +1 -0
- data/lib/spree/core/engine.rb +9 -1
- data/lib/spree/core/importer/order.rb +1 -1
- data/lib/spree/core/role_configuration.rb +1 -1
- data/lib/spree/core/search/variant.rb +20 -2
- data/lib/spree/core/unreturned_item_charger.rb +21 -16
- data/lib/spree/i18n.rb +6 -24
- data/lib/spree/mailer_previews/carton_preview.rb +10 -0
- data/lib/spree/mailer_previews/order_preview.rb +18 -0
- data/lib/spree/permitted_attributes.rb +4 -1
- data/lib/spree/testing_support/capybara_ext.rb +2 -1
- data/lib/spree/testing_support/factories/address_factory.rb +9 -1
- data/lib/spree/testing_support/factories/credit_card_factory.rb +1 -0
- data/lib/spree/testing_support/factories/image_factory.rb +5 -0
- data/lib/spree/testing_support/factories/payment_method_factory.rb +4 -8
- data/lib/spree/testing_support/factories/user_factory.rb +8 -2
- data/lib/spree/testing_support/factories/variant_property_rule_condition_factory.rb +6 -0
- data/lib/spree/testing_support/factories/variant_property_rule_factory.rb +16 -0
- data/lib/spree/testing_support/factories/variant_property_rule_value_factory.rb +6 -0
- data/lib/tasks/migrations/migrate_user_addresses.rake +29 -0
- data/vendor/assets/javascripts/jquery-migrate-1.0.0.js +498 -0
- metadata +40 -238
- data/CHANGELOG.md +0 -1
- data/Gemfile +0 -3
- data/Rakefile +0 -16
- data/app/models/concerns/spree/user_address.rb +0 -30
- data/app/models/spree/permission_sets/restricted_transfer_management.rb +0 -35
- data/app/views/spree/admin/orders/customer_details/_autocomplete.js.erb +0 -19
- data/lib/spree/i18n/base.rb +0 -17
- data/lib/spree/i18n/initializer.rb +0 -1
- data/lib/spree/testing_support/mail.rb +0 -20
- data/script/rails +0 -9
- data/solidus_core.gemspec +0 -48
- data/spec/fixtures/thinking-cat.jpg +0 -0
- data/spec/helpers/base_helper_spec.rb +0 -173
- data/spec/helpers/order_helper_spec.rb +0 -12
- data/spec/helpers/products_helper_spec.rb +0 -220
- data/spec/helpers/taxons_helper_spec.rb +0 -17
- data/spec/lib/calculated_adjustments_spec.rb +0 -7
- data/spec/lib/i18n_spec.rb +0 -123
- data/spec/lib/search/base_spec.rb +0 -86
- data/spec/lib/search/variant_spec.rb +0 -92
- data/spec/lib/spree/core/controller_helpers/auth_spec.rb +0 -66
- data/spec/lib/spree/core/controller_helpers/order_spec.rb +0 -92
- data/spec/lib/spree/core/controller_helpers/search_spec.rb +0 -17
- data/spec/lib/spree/core/controller_helpers/store_spec.rb +0 -16
- data/spec/lib/spree/core/controller_helpers/strong_parameters_spec.rb +0 -39
- data/spec/lib/spree/core/current_store_spec.rb +0 -36
- data/spec/lib/spree/core/delegate_belongs_to_spec.rb +0 -22
- data/spec/lib/spree/core/importer/order_spec.rb +0 -431
- data/spec/lib/spree/core/role_configuration_spec.rb +0 -138
- data/spec/lib/spree/core/validators/email_spec.rb +0 -48
- data/spec/lib/spree/localized_number_spec.rb +0 -38
- data/spec/lib/spree/migrations_spec.rb +0 -36
- data/spec/lib/spree/money_spec.rb +0 -127
- data/spec/lib/tasks/exchanges_spec.rb +0 -231
- data/spec/lib/tasks/migrations/copy_shipped_shipments_to_cartons_spec.rb +0 -115
- data/spec/lib/tasks/order_capturing_spec.rb +0 -56
- data/spec/mailers/carton_mailer_spec.rb +0 -43
- data/spec/mailers/order_mailer_spec.rb +0 -122
- data/spec/mailers/reimbursement_mailer_spec.rb +0 -40
- data/spec/mailers/test_mailer_spec.rb +0 -15
- data/spec/models/spree/ability_spec.rb +0 -276
- data/spec/models/spree/address_spec.rb +0 -250
- data/spec/models/spree/adjustment_reason_spec.rb +0 -13
- data/spec/models/spree/adjustment_spec.rb +0 -177
- data/spec/models/spree/app_configuration_spec.rb +0 -20
- data/spec/models/spree/asset_spec.rb +0 -24
- data/spec/models/spree/calculator/default_tax_spec.rb +0 -127
- data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +0 -25
- data/spec/models/spree/calculator/flat_rate_spec.rb +0 -47
- data/spec/models/spree/calculator/flexi_rate_spec.rb +0 -41
- data/spec/models/spree/calculator/percent_on_line_item_spec.rb +0 -15
- data/spec/models/spree/calculator/price_sack_spec.rb +0 -30
- data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +0 -51
- data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +0 -23
- data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +0 -13
- data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +0 -52
- data/spec/models/spree/calculator/shipping/per_item_spec.rb +0 -20
- data/spec/models/spree/calculator/shipping/price_sack_spec.rb +0 -30
- data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +0 -36
- data/spec/models/spree/calculator/tiered_percent_spec.rb +0 -47
- data/spec/models/spree/calculator_spec.rb +0 -36
- data/spec/models/spree/carton_spec.rb +0 -133
- data/spec/models/spree/classification_spec.rb +0 -15
- data/spec/models/spree/concerns/display_money_spec.rb +0 -43
- data/spec/models/spree/concerns/user_methods_spec.rb +0 -41
- data/spec/models/spree/credit_card_spec.rb +0 -334
- data/spec/models/spree/customer_return_spec.rb +0 -276
- data/spec/models/spree/exchange_spec.rb +0 -79
- data/spec/models/spree/gateway/bogus_simple.rb +0 -20
- data/spec/models/spree/gateway/bogus_spec.rb +0 -13
- data/spec/models/spree/gateway_spec.rb +0 -82
- data/spec/models/spree/inventory_unit_spec.rb +0 -307
- data/spec/models/spree/item_adjustments_spec.rb +0 -256
- data/spec/models/spree/line_item_spec.rb +0 -191
- data/spec/models/spree/option_type_spec.rb +0 -14
- data/spec/models/spree/option_value_spec.rb +0 -22
- data/spec/models/spree/order/address_spec.rb +0 -50
- data/spec/models/spree/order/adjustments_spec.rb +0 -39
- data/spec/models/spree/order/callbacks_spec.rb +0 -42
- data/spec/models/spree/order/checkout_spec.rb +0 -902
- data/spec/models/spree/order/currency_updater_spec.rb +0 -32
- data/spec/models/spree/order/finalizing_spec.rb +0 -111
- data/spec/models/spree/order/payment_spec.rb +0 -210
- data/spec/models/spree/order/risk_assessment_spec.rb +0 -68
- data/spec/models/spree/order/state_machine_spec.rb +0 -221
- data/spec/models/spree/order/tax_spec.rb +0 -84
- data/spec/models/spree/order/totals_spec.rb +0 -24
- data/spec/models/spree/order/updating_spec.rb +0 -18
- data/spec/models/spree/order/validations_spec.rb +0 -15
- data/spec/models/spree/order_cancellations_spec.rb +0 -120
- data/spec/models/spree/order_capturing_spec.rb +0 -116
- data/spec/models/spree/order_contents_spec.rb +0 -265
- data/spec/models/spree/order_inventory_spec.rb +0 -228
- data/spec/models/spree/order_mutex_spec.rb +0 -85
- data/spec/models/spree/order_promotion_spec.rb +0 -31
- data/spec/models/spree/order_shipping_spec.rb +0 -247
- data/spec/models/spree/order_spec.rb +0 -1464
- data/spec/models/spree/order_stock_location_spec.rb +0 -18
- data/spec/models/spree/order_updater_spec.rb +0 -299
- data/spec/models/spree/payment_method/store_credit_spec.rb +0 -294
- data/spec/models/spree/payment_method_spec.rb +0 -96
- data/spec/models/spree/payment_spec.rb +0 -1045
- data/spec/models/spree/permission_sets/base_spec.rb +0 -12
- data/spec/models/spree/permission_sets/configuration_display.rb +0 -82
- data/spec/models/spree/permission_sets/configuration_management_spec.rb +0 -50
- data/spec/models/spree/permission_sets/dashboard_display_spec.rb +0 -22
- data/spec/models/spree/permission_sets/order_display_spec.rb +0 -49
- data/spec/models/spree/permission_sets/order_management_spec.rb +0 -36
- data/spec/models/spree/permission_sets/product_display_spec.rb +0 -60
- data/spec/models/spree/permission_sets/product_management_spec.rb +0 -40
- data/spec/models/spree/permission_sets/promotion_display_spec.rb +0 -34
- data/spec/models/spree/permission_sets/promotion_management_spec.rb +0 -26
- data/spec/models/spree/permission_sets/report_display_spec.rb +0 -24
- data/spec/models/spree/permission_sets/restricted_transfer_management_spec.rb +0 -132
- data/spec/models/spree/permission_sets/stock_display_spec.rb +0 -26
- data/spec/models/spree/permission_sets/stock_management_spec.rb +0 -24
- data/spec/models/spree/permission_sets/user_display_spec.rb +0 -36
- data/spec/models/spree/permission_sets/user_management_spec.rb +0 -28
- data/spec/models/spree/preference_spec.rb +0 -80
- data/spec/models/spree/preferences/configuration_spec.rb +0 -30
- data/spec/models/spree/preferences/preferable_spec.rb +0 -294
- data/spec/models/spree/preferences/scoped_store_spec.rb +0 -58
- data/spec/models/spree/preferences/static_model_preferences_spec.rb +0 -78
- data/spec/models/spree/preferences/statically_configurable_spec.rb +0 -60
- data/spec/models/spree/preferences/store_spec.rb +0 -39
- data/spec/models/spree/price_spec.rb +0 -42
- data/spec/models/spree/product/scopes_spec.rb +0 -148
- data/spec/models/spree/product_duplicator_spec.rb +0 -103
- data/spec/models/spree/product_filter_spec.rb +0 -26
- data/spec/models/spree/product_property_spec.rb +0 -20
- data/spec/models/spree/product_spec.rb +0 -437
- data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +0 -96
- data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +0 -165
- data/spec/models/spree/promotion/actions/create_quantity_adjustments_spec.rb +0 -115
- data/spec/models/spree/promotion/actions/free_shipping_spec.rb +0 -40
- data/spec/models/spree/promotion/rules/first_order_spec.rb +0 -75
- data/spec/models/spree/promotion/rules/item_total_spec.rb +0 -67
- data/spec/models/spree/promotion/rules/nth_order_spec.rb +0 -70
- data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +0 -42
- data/spec/models/spree/promotion/rules/option_value_spec.rb +0 -94
- data/spec/models/spree/promotion/rules/product_spec.rb +0 -143
- data/spec/models/spree/promotion/rules/taxon_spec.rb +0 -102
- data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +0 -27
- data/spec/models/spree/promotion/rules/user_spec.rb +0 -37
- data/spec/models/spree/promotion_builder_spec.rb +0 -118
- data/spec/models/spree/promotion_category_spec.rb +0 -17
- data/spec/models/spree/promotion_code/code_builder_spec.rb +0 -79
- data/spec/models/spree/promotion_code_spec.rb +0 -187
- data/spec/models/spree/promotion_handler/cart_spec.rb +0 -114
- data/spec/models/spree/promotion_handler/coupon_spec.rb +0 -335
- data/spec/models/spree/promotion_handler/free_shipping_spec.rb +0 -47
- data/spec/models/spree/promotion_handler/page_spec.rb +0 -44
- data/spec/models/spree/promotion_rule_spec.rb +0 -28
- data/spec/models/spree/promotion_spec.rb +0 -767
- data/spec/models/spree/refund_spec.rb +0 -204
- data/spec/models/spree/reimbursement/credit_spec.rb +0 -36
- data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +0 -140
- data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +0 -83
- data/spec/models/spree/reimbursement_performer_spec.rb +0 -30
- data/spec/models/spree/reimbursement_spec.rb +0 -231
- data/spec/models/spree/reimbursement_tax_calculator_spec.rb +0 -51
- data/spec/models/spree/reimbursement_type/credit_spec.rb +0 -53
- data/spec/models/spree/reimbursement_type/exchange_spec.rb +0 -46
- data/spec/models/spree/reimbursement_type/original_payment_spec.rb +0 -107
- data/spec/models/spree/reimbursement_type/store_credit_spec.rb +0 -97
- data/spec/models/spree/return_authorization_spec.rb +0 -290
- data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +0 -77
- data/spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb +0 -58
- data/spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb +0 -85
- data/spec/models/spree/return_item/eligibility_validator/order_completed_spec.rb +0 -32
- data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +0 -29
- data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +0 -35
- data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +0 -65
- data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +0 -43
- data/spec/models/spree/return_item_spec.rb +0 -775
- data/spec/models/spree/returns_calculator_spec.rb +0 -14
- data/spec/models/spree/shipment_spec.rb +0 -709
- data/spec/models/spree/shipping_calculator_spec.rb +0 -45
- data/spec/models/spree/shipping_method_spec.rb +0 -88
- data/spec/models/spree/shipping_rate_spec.rb +0 -142
- data/spec/models/spree/state_spec.rb +0 -14
- data/spec/models/spree/stock/availability_validator_spec.rb +0 -83
- data/spec/models/spree/stock/coordinator_spec.rb +0 -116
- data/spec/models/spree/stock/differentiator_spec.rb +0 -39
- data/spec/models/spree/stock/estimator_spec.rb +0 -146
- data/spec/models/spree/stock/inventory_unit_builder_spec.rb +0 -38
- data/spec/models/spree/stock/package_spec.rb +0 -163
- data/spec/models/spree/stock/packer_spec.rb +0 -91
- data/spec/models/spree/stock/prioritizer_spec.rb +0 -125
- data/spec/models/spree/stock/quantifier_spec.rb +0 -115
- data/spec/models/spree/stock/splitter/backordered_spec.rb +0 -29
- data/spec/models/spree/stock/splitter/base_spec.rb +0 -21
- data/spec/models/spree/stock/splitter/shipping_category_spec.rb +0 -50
- data/spec/models/spree/stock/splitter/weight_spec.rb +0 -29
- data/spec/models/spree/stock_item_spec.rb +0 -426
- data/spec/models/spree/stock_location_spec.rb +0 -279
- data/spec/models/spree/stock_movement_spec.rb +0 -56
- data/spec/models/spree/stock_transfer_spec.rb +0 -290
- data/spec/models/spree/store_credit_category_spec.rb +0 -17
- data/spec/models/spree/store_credit_event_spec.rb +0 -314
- data/spec/models/spree/store_credit_spec.rb +0 -876
- data/spec/models/spree/store_spec.rb +0 -55
- data/spec/models/spree/tax_category_spec.rb +0 -27
- data/spec/models/spree/tax_rate_spec.rb +0 -378
- data/spec/models/spree/taxon_spec.rb +0 -74
- data/spec/models/spree/taxonomy_spec.rb +0 -18
- data/spec/models/spree/tracker_spec.rb +0 -21
- data/spec/models/spree/transfer_item_spec.rb +0 -264
- data/spec/models/spree/unit_cancel_spec.rb +0 -148
- data/spec/models/spree/user_spec.rb +0 -223
- data/spec/models/spree/validations/db_maximum_length_validator_spec.rb +0 -23
- data/spec/models/spree/variant/scopes_spec.rb +0 -55
- data/spec/models/spree/variant_spec.rb +0 -546
- data/spec/models/spree/zone_spec.rb +0 -305
- data/spec/spec_helper.rb +0 -78
- data/spec/support/big_decimal.rb +0 -5
- data/spec/support/concerns/default_price.rb +0 -34
- data/spec/support/dummy_ability.rb +0 -4
- data/spec/support/test_gateway.rb +0 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# This represents an inventory unit that has been canceled from an order after it has already been completed
|
|
2
2
|
# The reason specifies why it was canceled.
|
|
3
3
|
# This class should encapsulate logic related to canceling inventory after order complete
|
|
4
|
-
class Spree::UnitCancel <
|
|
4
|
+
class Spree::UnitCancel < Spree::Base
|
|
5
5
|
SHORT_SHIP = 'Short Ship'
|
|
6
6
|
belongs_to :inventory_unit
|
|
7
7
|
has_one :adjustment, as: :source, dependent: :destroy
|
|
@@ -20,7 +20,7 @@ class Spree::UnitCancel < ActiveRecord::Base
|
|
|
20
20
|
order: inventory_unit.order,
|
|
21
21
|
label: "#{Spree.t(:cancellation)} - #{reason}",
|
|
22
22
|
eligible: true,
|
|
23
|
-
|
|
23
|
+
finalized: true
|
|
24
24
|
)
|
|
25
25
|
end
|
|
26
26
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Spree
|
|
2
|
+
class UserAddress < Spree::Base
|
|
3
|
+
belongs_to :user, class_name: UserClassHandle.new, foreign_key: "user_id"
|
|
4
|
+
belongs_to :address, class_name: "Spree::Address"
|
|
5
|
+
|
|
6
|
+
validates_uniqueness_of :address_id, scope: :user_id
|
|
7
|
+
validates_uniqueness_of :user_id, conditions: -> { active.default }, message: :default_address_exists, if: :default?
|
|
8
|
+
|
|
9
|
+
scope :with_address_values, ->(address_attributes) do
|
|
10
|
+
joins(:address).merge(
|
|
11
|
+
Spree::Address.with_values(address_attributes)
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
scope :all_historical, -> { unscope(where: :archived) }
|
|
16
|
+
scope :default, -> { where(default: true) }
|
|
17
|
+
scope :active, -> { where(archived: false) }
|
|
18
|
+
|
|
19
|
+
default_scope -> { order([default: :desc, updated_at: :desc]) }
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module Spree
|
|
2
|
-
class UserStockLocation <
|
|
2
|
+
class UserStockLocation < Spree::Base
|
|
3
3
|
belongs_to :user, class_name: Spree::UserClassHandle.new, inverse_of: :user_stock_locations
|
|
4
4
|
belongs_to :stock_location, class_name: "Spree::StockLocation", inverse_of: :user_stock_locations
|
|
5
5
|
end
|
data/app/models/spree/variant.rb
CHANGED
|
@@ -21,9 +21,9 @@ module Spree
|
|
|
21
21
|
belongs_to :product, touch: true, class_name: 'Spree::Product', inverse_of: :variants
|
|
22
22
|
belongs_to :tax_category, class_name: 'Spree::TaxCategory'
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
delegate :name, :description, :slug, :available_on, :shipping_category_id,
|
|
25
|
+
:meta_description, :meta_keywords, :shipping_category,
|
|
26
|
+
to: :product
|
|
27
27
|
|
|
28
28
|
has_many :inventory_units, inverse_of: :variant
|
|
29
29
|
has_many :line_items, inverse_of: :variant
|
|
@@ -38,13 +38,6 @@ module Spree
|
|
|
38
38
|
|
|
39
39
|
has_many :images, -> { order(:position) }, as: :viewable, dependent: :destroy, class_name: "Spree::Image"
|
|
40
40
|
|
|
41
|
-
has_one :default_price,
|
|
42
|
-
-> { where(currency: Spree::Config[:currency], is_default: true) },
|
|
43
|
-
class_name: 'Spree::Price',
|
|
44
|
-
dependent: :destroy
|
|
45
|
-
|
|
46
|
-
delegate_belongs_to :default_price, :display_price, :display_amount, :price, :price=, :currency
|
|
47
|
-
|
|
48
41
|
has_many :prices,
|
|
49
42
|
class_name: 'Spree::Price',
|
|
50
43
|
dependent: :destroy,
|
|
@@ -64,7 +57,19 @@ module Spree
|
|
|
64
57
|
|
|
65
58
|
after_touch :clear_in_stock_cache
|
|
66
59
|
|
|
67
|
-
|
|
60
|
+
# Returns variants that are in stock. When stock locations are provided as
|
|
61
|
+
# a parameter, the scope is limited to variants that are in stock in the
|
|
62
|
+
# provided stock locations.
|
|
63
|
+
#
|
|
64
|
+
# @param stock_locations [Array<Spree::StockLocation>] the stock locations to check
|
|
65
|
+
# @return [ActiveRecord::Relation]
|
|
66
|
+
def self.in_stock(stock_locations = nil)
|
|
67
|
+
in_stock_variants = joins(:stock_items).where(Spree::StockItem.arel_table[:count_on_hand].gt(0).or(arel_table[:track_inventory].eq(false)))
|
|
68
|
+
if stock_locations.present?
|
|
69
|
+
in_stock_variants = in_stock_variants.where(spree_stock_items: { stock_location_id: stock_locations.map(&:id) })
|
|
70
|
+
end
|
|
71
|
+
in_stock_variants
|
|
72
|
+
end
|
|
68
73
|
|
|
69
74
|
self.whitelisted_ransackable_associations = %w[option_values product prices default_price]
|
|
70
75
|
self.whitelisted_ransackable_attributes = %w[weight sku]
|
|
@@ -119,8 +124,8 @@ module Spree
|
|
|
119
124
|
#
|
|
120
125
|
# @return [String] a sentence-ified string of option values.
|
|
121
126
|
def options_text
|
|
122
|
-
values = self.option_values.
|
|
123
|
-
|
|
127
|
+
values = self.option_values.includes(:option_type).sort_by do |option_value|
|
|
128
|
+
option_value.option_type.position
|
|
124
129
|
end
|
|
125
130
|
|
|
126
131
|
values.to_a.map! do |ov|
|
|
@@ -319,6 +324,16 @@ module Spree
|
|
|
319
324
|
images.first || (fallback && product.variant_images.first) || Spree::Image.new
|
|
320
325
|
end
|
|
321
326
|
|
|
327
|
+
# Determines the variant's property values by verifying which of the product's
|
|
328
|
+
# variant property rules apply to itself.
|
|
329
|
+
#
|
|
330
|
+
# @return [Array<Spree::VariantPropertyRuleValue>] variant_properties
|
|
331
|
+
def variant_properties
|
|
332
|
+
self.product.variant_property_rules.map do |rule|
|
|
333
|
+
rule.values if rule.applies_to_variant?(self)
|
|
334
|
+
end.flatten.compact
|
|
335
|
+
end
|
|
336
|
+
|
|
322
337
|
private
|
|
323
338
|
|
|
324
339
|
def set_master_out_of_stock
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# The reason for variant properties not being associated with variants
|
|
2
|
+
# (either directly or through an association table) is performance.
|
|
3
|
+
#
|
|
4
|
+
# Variant properties are intended to be applied to a group of variants based
|
|
5
|
+
# on their option values. If there were thousands of variants that shared the
|
|
6
|
+
# same option value, attempting to associate a variant property with that
|
|
7
|
+
# group of variants would be problematic in terms of performance.
|
|
8
|
+
#
|
|
9
|
+
# An added benefit to this approach is not having to associate existing variant
|
|
10
|
+
# properties with newly created variants. If the variant has the option values
|
|
11
|
+
# targeted by the rule, the properties will automatically apply to the variant.
|
|
12
|
+
module Spree
|
|
13
|
+
class VariantPropertyRule < Spree::Base
|
|
14
|
+
belongs_to :product, touch: true
|
|
15
|
+
|
|
16
|
+
has_many :values, class_name: 'Spree::VariantPropertyRuleValue', dependent: :destroy
|
|
17
|
+
has_many :properties, through: :values
|
|
18
|
+
has_many :conditions, class_name: 'Spree::VariantPropertyRuleCondition', dependent: :destroy
|
|
19
|
+
has_many :option_values, through: :conditions
|
|
20
|
+
|
|
21
|
+
accepts_nested_attributes_for :values, allow_destroy: true, reject_if: lambda { |val| val[:property_name].blank? }
|
|
22
|
+
|
|
23
|
+
# Checks whether the provided ids are the same as the rule's
|
|
24
|
+
# condition's option value ids.
|
|
25
|
+
#
|
|
26
|
+
# @param option_value_ids [Array<Integer>] list of option value ids
|
|
27
|
+
# @return [Boolean]
|
|
28
|
+
def matches_option_value_ids?(option_value_ids)
|
|
29
|
+
self.option_value_ids.sort == option_value_ids.sort
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Checks whether the rule applies to the variant by
|
|
33
|
+
# checking the rule's conditions against the variant's
|
|
34
|
+
# option values.
|
|
35
|
+
#
|
|
36
|
+
# @param variant [Spree::Variant] variant to check
|
|
37
|
+
# @return [Boolean]
|
|
38
|
+
def applies_to_variant?(variant)
|
|
39
|
+
(self.option_value_ids & variant.option_value_ids).present?
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
data/app/models/spree/zone.rb
CHANGED
|
@@ -2,7 +2,9 @@ module Spree
|
|
|
2
2
|
class Zone < Spree::Base
|
|
3
3
|
has_many :zone_members, dependent: :destroy, class_name: "Spree::ZoneMember", inverse_of: :zone
|
|
4
4
|
has_many :tax_rates, dependent: :destroy, inverse_of: :zone
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
has_many :shipping_method_zones
|
|
7
|
+
has_many :shipping_methods, through: :shipping_method_zones
|
|
6
8
|
|
|
7
9
|
validates :name, presence: true, uniqueness: { allow_blank: true }
|
|
8
10
|
after_save :remove_defunct_members
|
|
@@ -21,7 +23,7 @@ module Spree
|
|
|
21
23
|
# Returns nil in the case of no matches.
|
|
22
24
|
def self.match(address)
|
|
23
25
|
return unless address and matches = self.includes(:zone_members).
|
|
24
|
-
order(
|
|
26
|
+
order(:zone_members_count, :created_at, :id).
|
|
25
27
|
where("(spree_zone_members.zoneable_type = 'Spree::Country' AND spree_zone_members.zoneable_id = ?) OR (spree_zone_members.zoneable_type = 'Spree::State' AND spree_zone_members.zoneable_id = ?)", address.country_id, address.state_id).
|
|
26
28
|
references(:zones)
|
|
27
29
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
============================================================
|
|
6
6
|
<%= Spree.t('shipment_mailer.shipped_email.shipment_summary') %>
|
|
7
7
|
============================================================
|
|
8
|
-
<% @
|
|
8
|
+
<% @manifest.each do |item| %>
|
|
9
9
|
<%= item.variant.sku %> <%= item.variant.product.name %> <%= item.variant.options_text %>
|
|
10
10
|
<% end %>
|
|
11
11
|
============================================================
|
data/config/locales/en.yml
CHANGED
|
@@ -228,6 +228,7 @@ en:
|
|
|
228
228
|
spree/state:
|
|
229
229
|
one: State
|
|
230
230
|
other: States
|
|
231
|
+
spree/stock: stock
|
|
231
232
|
spree/stock_movement:
|
|
232
233
|
one: Stock Movement
|
|
233
234
|
other: Stock Movements
|
|
@@ -322,6 +323,10 @@ en:
|
|
|
322
323
|
attributes:
|
|
323
324
|
base:
|
|
324
325
|
cannot_destroy_default_store: Cannot destroy the default Store.
|
|
326
|
+
spree/user_address:
|
|
327
|
+
attributes:
|
|
328
|
+
user_id:
|
|
329
|
+
default_address_exists: "already has a default address"
|
|
325
330
|
|
|
326
331
|
devise:
|
|
327
332
|
confirmations:
|
|
@@ -404,6 +409,7 @@ en:
|
|
|
404
409
|
add_option_value: Add Option Value
|
|
405
410
|
add_product: Add Product
|
|
406
411
|
add_product_properties: Add Product Properties
|
|
412
|
+
add_variant_properties: Add Variant Properties
|
|
407
413
|
add_rule_of_type: Add rule of type
|
|
408
414
|
add_state: Add State
|
|
409
415
|
add_stock: Add Stock
|
|
@@ -808,6 +814,8 @@ en:
|
|
|
808
814
|
no_longer_change_items: You will no longer be able to add or edit any transfer items
|
|
809
815
|
find_a_taxon: Find a Taxon
|
|
810
816
|
finalized: Finalized
|
|
817
|
+
finalized_at: Finalized at
|
|
818
|
+
finalized_by: Finalized by
|
|
811
819
|
close_stock_transfer:
|
|
812
820
|
will_cause: Closing a stock transfer will cause the following
|
|
813
821
|
no_longer_edit: You will no longer be able to edit the stock transfer in any way
|
|
@@ -1201,6 +1209,9 @@ en:
|
|
|
1201
1209
|
one_use_per_user:
|
|
1202
1210
|
description: Only One Use Per User
|
|
1203
1211
|
name: One Use Per User
|
|
1212
|
+
option_value:
|
|
1213
|
+
description: Order includes specified product(s) with matching option value(s)
|
|
1214
|
+
name: Option Value(s)
|
|
1204
1215
|
product:
|
|
1205
1216
|
description: Order includes specified product(s)
|
|
1206
1217
|
name: Product(s)
|
|
@@ -1353,6 +1364,7 @@ en:
|
|
|
1353
1364
|
track_information: ! 'Tracking Information: %{tracking}'
|
|
1354
1365
|
track_link: ! 'Tracking Link: %{url}'
|
|
1355
1366
|
shipment_date: Shipment date
|
|
1367
|
+
shipment_number: Shipment Number
|
|
1356
1368
|
shipment_numbers: Shipment numbers
|
|
1357
1369
|
shipment_state: Shipment State
|
|
1358
1370
|
shipment_states:
|
|
@@ -1556,6 +1568,7 @@ en:
|
|
|
1556
1568
|
value: Value
|
|
1557
1569
|
variant: Variant
|
|
1558
1570
|
variant_placeholder: Choose a variant
|
|
1571
|
+
variant_properties: Variant Properties
|
|
1559
1572
|
variant_search: Variant Search
|
|
1560
1573
|
variant_search_placeholder: "SKU or Option Value"
|
|
1561
1574
|
variant_to_add: Variant to add
|
data/db/default/spree/zones.rb
CHANGED
|
@@ -5,7 +5,7 @@ north_america = Spree::Zone.create!(name: "North America", description: "USA + C
|
|
|
5
5
|
"Slovakia", "Hungary", "Slovenia", "Ireland", "Austria", "Spain",
|
|
6
6
|
"Italy", "Belgium", "Sweden", "Latvia", "Bulgaria", "United Kingdom",
|
|
7
7
|
"Lithuania", "Cyprus", "Luxembourg", "Malta", "Denmark", "Netherlands",
|
|
8
|
-
"Estonia"].
|
|
8
|
+
"Estonia", "Croatia", "Czech Republic", "Greece"].
|
|
9
9
|
each do |name|
|
|
10
10
|
eu_vat.zone_members.create!(zoneable: Spree::Country.find_by!(name: name))
|
|
11
11
|
end
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
class CreateSpreeStoreCreditPaymentMethod < ActiveRecord::Migration
|
|
2
|
-
class PaymentMethod <
|
|
2
|
+
class PaymentMethod < Spree::Base
|
|
3
3
|
self.table_name = 'spree_payment_methods'
|
|
4
4
|
self.inheritance_column = :_type_disabled
|
|
5
5
|
end
|
|
6
6
|
def up
|
|
7
|
+
# If migrating from Spree 3.0, the environment column is already gone.
|
|
8
|
+
# We remove it in a later migration if upgrading from spree <= 2.4 to soldius
|
|
9
|
+
if column_exists?(:spree_payment_methods, :environment)
|
|
10
|
+
attributes = {type: "Spree::PaymentMethod::StoreCredit", environment: Rails.env}
|
|
11
|
+
else
|
|
12
|
+
attributes = {type: "Spree::PaymentMethod::StoreCredit"}
|
|
13
|
+
end
|
|
7
14
|
PaymentMethod.create_with(
|
|
8
15
|
name: Spree.t("store_credit.store_credit"),
|
|
9
16
|
description: Spree.t("store_credit.store_credit"),
|
|
10
17
|
active: true,
|
|
11
18
|
display_on: 'none',
|
|
12
|
-
).find_or_create_by!(
|
|
13
|
-
type: "Spree::PaymentMethod::StoreCredit",
|
|
14
|
-
environment: Rails.env,
|
|
15
|
-
)
|
|
19
|
+
).find_or_create_by!(attributes)
|
|
16
20
|
end
|
|
17
21
|
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
class AddSpreeUserAddresses < ActiveRecord::Migration
|
|
2
|
+
def change
|
|
3
|
+
create_table :spree_user_addresses do |t|
|
|
4
|
+
t.integer :user_id, null: false
|
|
5
|
+
t.integer :address_id, null: false
|
|
6
|
+
t.boolean :default, default: false
|
|
7
|
+
t.boolean :archived, default: false
|
|
8
|
+
t.timestamps null: false
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
add_index :spree_user_addresses, :user_id
|
|
12
|
+
add_index :spree_user_addresses, :address_id
|
|
13
|
+
add_index :spree_user_addresses, [:user_id, :address_id], unique: true
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
class AddFinalizedToSpreeAdjustments < ActiveRecord::Migration
|
|
2
|
+
# This migration replaces the open/closed state column of spree_adjustments
|
|
3
|
+
# with a finalized boolean.
|
|
4
|
+
# This may cause a few minutes of downtime on very large stores as the
|
|
5
|
+
# adjustments table can become quite large.
|
|
6
|
+
def change
|
|
7
|
+
add_column :spree_adjustments, :finalized, :boolean
|
|
8
|
+
execute %q(UPDATE spree_adjustments SET finalized=('closed' = state))
|
|
9
|
+
remove_column :spree_adjustments, :state, :string
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
class AddStorePaymentMethods < ActiveRecord::Migration
|
|
2
|
+
def change
|
|
3
|
+
create_table :spree_store_payment_methods do |t|
|
|
4
|
+
t.references :store, null: false, index: true
|
|
5
|
+
t.references :payment_method, null: false, index: true
|
|
6
|
+
|
|
7
|
+
t.timestamps null: false
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
class ConvertHabtmToHmtForShippingMethodsZones < ActiveRecord::Migration
|
|
2
|
+
def up
|
|
3
|
+
add_column :spree_shipping_methods_zones, :id, :primary_key
|
|
4
|
+
add_column :spree_shipping_methods_zones, :created_at, :datetime
|
|
5
|
+
add_column :spree_shipping_methods_zones, :updated_at, :datetime
|
|
6
|
+
|
|
7
|
+
rename_table :spree_shipping_methods_zones, :spree_shipping_method_zones
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def down
|
|
11
|
+
rename_table :spree_shipping_method_zones, :spree_shipping_methods_zones
|
|
12
|
+
|
|
13
|
+
remove_column :spree_shipping_methods_zones, :updated_at
|
|
14
|
+
remove_column :spree_shipping_methods_zones, :created_at
|
|
15
|
+
remove_column :spree_shipping_methods_zones, :id
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
class ConvertHabtmToHmtForProductsPromotionRules < ActiveRecord::Migration
|
|
2
|
+
def up
|
|
3
|
+
add_column :spree_products_promotion_rules, :id, :primary_key
|
|
4
|
+
add_column :spree_products_promotion_rules, :created_at, :datetime
|
|
5
|
+
add_column :spree_products_promotion_rules, :updated_at, :datetime
|
|
6
|
+
|
|
7
|
+
rename_table :spree_products_promotion_rules, :spree_product_promotion_rules
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def down
|
|
11
|
+
rename_table :spree_product_promotion_rules, :spree_products_promotion_rules
|
|
12
|
+
|
|
13
|
+
remove_column :spree_products_promotion_rules, :id, :primary_key
|
|
14
|
+
remove_column :spree_products_promotion_rules, :created_at, :datetime
|
|
15
|
+
remove_column :spree_products_promotion_rules, :updated_at, :datetime
|
|
16
|
+
end
|
|
17
|
+
end
|