solidus_core 1.0.7 → 1.1.0.beta1
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/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
@@ -0,0 +1,20 @@
|
|
1
|
+
class DropSpreeGateways < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
drop_table :spree_gateways
|
4
|
+
end
|
5
|
+
|
6
|
+
def down
|
7
|
+
create_table "spree_gateways" do |t|
|
8
|
+
t.string "type"
|
9
|
+
t.string "name"
|
10
|
+
t.text "description"
|
11
|
+
t.boolean "active", default: true
|
12
|
+
t.string "environment", default: "development"
|
13
|
+
t.string "server", default: "test"
|
14
|
+
t.boolean "test_mode", default: true
|
15
|
+
t.datetime "created_at"
|
16
|
+
t.datetime "updated_at"
|
17
|
+
t.text "preferences"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class CreateVariantPropertiesAndRules < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :spree_variant_property_rules do |t|
|
4
|
+
t.references :product
|
5
|
+
t.timestamps null: false
|
6
|
+
end
|
7
|
+
|
8
|
+
add_index :spree_variant_property_rules, :product_id
|
9
|
+
|
10
|
+
create_table :spree_variant_property_rule_conditions do |t|
|
11
|
+
t.references :option_value
|
12
|
+
t.references :variant_property_rule
|
13
|
+
t.timestamps null: false
|
14
|
+
end
|
15
|
+
|
16
|
+
add_index :spree_variant_property_rule_conditions, [:variant_property_rule_id, :option_value_id], name: "index_spree_variant_prop_rule_conditions_on_rule_and_optval"
|
17
|
+
|
18
|
+
create_table :spree_variant_property_rule_values do |t|
|
19
|
+
t.text :value
|
20
|
+
t.integer :position, default: 0
|
21
|
+
t.references :property
|
22
|
+
t.references :variant_property_rule
|
23
|
+
end
|
24
|
+
|
25
|
+
add_index :spree_variant_property_rule_values, :property_id
|
26
|
+
add_index :spree_variant_property_rule_values, :variant_property_rule_id, name: "index_spree_variant_property_rule_values_on_rule"
|
27
|
+
end
|
28
|
+
end
|
@@ -18,9 +18,10 @@ Spree.config do |config|
|
|
18
18
|
# Uncomment to stop tracking inventory levels in the application
|
19
19
|
# config.track_inventory_levels = false
|
20
20
|
|
21
|
-
# When
|
22
|
-
#
|
23
|
-
#
|
21
|
+
# When set, product caches are only invalidated when they fall below or rise
|
22
|
+
# above the inventory_cache_threshold that is set. Default is to invalidate cache on
|
23
|
+
# any inventory changes.
|
24
|
+
# config.inventory_cache_threshold = 3
|
24
25
|
|
25
26
|
|
26
27
|
# Frontend:
|
data/lib/spree/core.rb
CHANGED
@@ -85,9 +85,13 @@ require 'spree/core/current_store'
|
|
85
85
|
require 'spree/core/controller_helpers/auth'
|
86
86
|
require 'spree/core/controller_helpers/common'
|
87
87
|
require 'spree/core/controller_helpers/order'
|
88
|
+
require 'spree/core/controller_helpers/payment_parameters'
|
88
89
|
require 'spree/core/controller_helpers/respond_with'
|
89
90
|
require 'spree/core/controller_helpers/search'
|
90
91
|
require 'spree/core/controller_helpers/store'
|
91
92
|
require 'spree/core/controller_helpers/strong_parameters'
|
92
93
|
require 'spree/core/unreturned_item_charger'
|
93
94
|
require 'spree/core/role_configuration'
|
95
|
+
|
96
|
+
require 'spree/mailer_previews/order_preview'
|
97
|
+
require 'spree/mailer_previews/carton_preview'
|
@@ -0,0 +1,67 @@
|
|
1
|
+
module Spree
|
2
|
+
module Core::ControllerHelpers::PaymentParameters
|
3
|
+
# This method handles the awkwardness of how the html forms are currently
|
4
|
+
# set up for frontend and admin.
|
5
|
+
#
|
6
|
+
# This method expects a params hash in the format of:
|
7
|
+
#
|
8
|
+
# {
|
9
|
+
# payment_source: {
|
10
|
+
# # The keys here are spree_payment_method.id's
|
11
|
+
# '1' => {...source attributes for payment method 1...},
|
12
|
+
# '2' => {...source attributes for payment method 2...},
|
13
|
+
# },
|
14
|
+
# order: {
|
15
|
+
# # Note that only a single entry is expected/handled in this array
|
16
|
+
# payments_attributes: [
|
17
|
+
# {
|
18
|
+
# payment_method_id: '1',
|
19
|
+
# },
|
20
|
+
# ],
|
21
|
+
# ...other params...
|
22
|
+
# },
|
23
|
+
# ...other params...
|
24
|
+
# }
|
25
|
+
#
|
26
|
+
# And this method returns a new params hash in the format of:
|
27
|
+
#
|
28
|
+
# {
|
29
|
+
# order: {
|
30
|
+
# payments_attributes: [
|
31
|
+
# {
|
32
|
+
# payment_method_id: '1',
|
33
|
+
# source_attributes: {...source attributes for payment method 1...}
|
34
|
+
# },
|
35
|
+
# ],
|
36
|
+
# ...other params...
|
37
|
+
# },
|
38
|
+
# ...other params...
|
39
|
+
# }
|
40
|
+
#
|
41
|
+
def move_payment_source_into_payments_attributes(original_params)
|
42
|
+
params = original_params.deep_dup
|
43
|
+
|
44
|
+
# Step 1: Gather all the information and ensure all the pieces are there.
|
45
|
+
|
46
|
+
return params if params[:payment_source].blank?
|
47
|
+
|
48
|
+
payment_params = params[:order] &&
|
49
|
+
params[:order][:payments_attributes] &&
|
50
|
+
params[:order][:payments_attributes].first
|
51
|
+
return params if payment_params.blank?
|
52
|
+
|
53
|
+
payment_method_id = payment_params[:payment_method_id]
|
54
|
+
return params if payment_method_id.blank?
|
55
|
+
|
56
|
+
source_params = params[:payment_source][payment_method_id]
|
57
|
+
return params if source_params.blank?
|
58
|
+
|
59
|
+
# Step 2: Perform the modifications.
|
60
|
+
|
61
|
+
payment_params[:source_attributes] = source_params
|
62
|
+
params.delete(:payment_source)
|
63
|
+
|
64
|
+
params
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -32,6 +32,7 @@ module DelegateBelongsTo
|
|
32
32
|
# delegate_belongs_to :contact, [:defaults, :address, :fullname], :class_name => 'VCard'
|
33
33
|
##
|
34
34
|
def delegate_belongs_to(association, *attrs)
|
35
|
+
ActiveSupport::Deprecation.warn "delegate_belongs_to is deprecated. Instead use rails built in delegates.", caller
|
35
36
|
opts = attrs.extract_options!
|
36
37
|
initialize_association :belongs_to, association, opts
|
37
38
|
attrs = get_association_column_names(association) if attrs.empty?
|
data/lib/spree/core/engine.rb
CHANGED
@@ -13,6 +13,13 @@ module Spree
|
|
13
13
|
Spree::Config = app.config.spree.preferences #legacy access
|
14
14
|
end
|
15
15
|
|
16
|
+
initializer "spree.default_permissions" do |app|
|
17
|
+
Spree::RoleConfiguration.configure do |config|
|
18
|
+
config.assign_permissions :default, [Spree::PermissionSets::DefaultCustomer]
|
19
|
+
config.assign_permissions :admin, [Spree::PermissionSets::SuperUser]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
16
23
|
initializer "spree.register.calculators" do |app|
|
17
24
|
app.config.spree.calculators.shipping_methods = [
|
18
25
|
Spree::Calculator::Shipping::FlatPercentItemTotal,
|
@@ -85,7 +92,8 @@ module Spree
|
|
85
92
|
Spree::Promotion::Rules::UserLoggedIn,
|
86
93
|
Spree::Promotion::Rules::OneUsePerUser,
|
87
94
|
Spree::Promotion::Rules::Taxon,
|
88
|
-
Spree::Promotion::Rules::NthOrder
|
95
|
+
Spree::Promotion::Rules::NthOrder,
|
96
|
+
Spree::Promotion::Rules::OptionValue
|
89
97
|
]
|
90
98
|
end
|
91
99
|
|
@@ -36,7 +36,7 @@ module Spree
|
|
36
36
|
# @param ability [CanCan::Ability] the ability to invoke declarations on
|
37
37
|
# @param user [#spree_roles] the user that holds the spree_roles association.
|
38
38
|
def activate_permissions! ability, user
|
39
|
-
spree_roles = user.spree_roles.
|
39
|
+
spree_roles = ['default'] | user.spree_roles.map(&:name)
|
40
40
|
applicable_permissions = Set.new
|
41
41
|
|
42
42
|
spree_roles.each do |role_name|
|
@@ -1,6 +1,12 @@
|
|
1
1
|
module Spree
|
2
2
|
module Core
|
3
3
|
module Search
|
4
|
+
|
5
|
+
#
|
6
|
+
# NOTE: Use Spree::Config.variant_search_class rather than referencing this
|
7
|
+
# directly.
|
8
|
+
#
|
9
|
+
|
4
10
|
class Variant
|
5
11
|
|
6
12
|
class_attribute :search_terms
|
@@ -28,7 +34,7 @@ module Spree
|
|
28
34
|
return @scope if @query_string.blank?
|
29
35
|
|
30
36
|
matches = @query_string.split.map do |word|
|
31
|
-
@scope.ransack(
|
37
|
+
@scope.ransack(search_term_params(word)).result.pluck(:id)
|
32
38
|
end
|
33
39
|
|
34
40
|
Spree::Variant.where(id: matches.inject(:&))
|
@@ -36,8 +42,20 @@ module Spree
|
|
36
42
|
|
37
43
|
private
|
38
44
|
|
45
|
+
# Returns an array of search term symbols that will be passed to Ransack
|
46
|
+
# to query the DB for the given word.
|
47
|
+
# Subclasses may override this to allow conditional filtering, etc.
|
48
|
+
#
|
49
|
+
# @api public
|
50
|
+
# @param word [String] One of the search words provided by the user.
|
51
|
+
# e.g. a SKU
|
52
|
+
# @return [Array<Symbol>] the list of search terms to use for this word
|
39
53
|
def search_terms(word)
|
40
|
-
|
54
|
+
self.class.search_terms
|
55
|
+
end
|
56
|
+
|
57
|
+
def search_term_params(word)
|
58
|
+
terms = Hash[search_terms(word).map { |t| [t, word] }]
|
41
59
|
terms.merge(m: 'or')
|
42
60
|
end
|
43
61
|
end
|
@@ -22,18 +22,24 @@ module Spree
|
|
22
22
|
new_order.associate_user!(@original_order.user) if @original_order.user
|
23
23
|
|
24
24
|
add_exchange_variants_to_order
|
25
|
+
set_shipment_for_new_order
|
25
26
|
|
26
|
-
new_order.
|
27
|
-
while new_order.state != new_order.checkout_steps[-2] && new_order.next; end
|
28
|
-
|
27
|
+
new_order.update!
|
29
28
|
set_order_payment
|
30
29
|
|
31
|
-
#
|
32
|
-
#
|
33
|
-
|
30
|
+
# There are several checks in the order state machine to skip
|
31
|
+
# certain transitions when an order is an unreturned exchange
|
32
|
+
if !new_order.unreturned_exchange?
|
33
|
+
raise ChargeFailure.new('order is not an unreturned exchange', new_order)
|
34
|
+
end
|
35
|
+
|
36
|
+
# Transitions will call update_totals on the order
|
37
|
+
until new_order.can_complete?
|
38
|
+
new_order.next!
|
39
|
+
end
|
34
40
|
|
35
41
|
new_order.contents.approve(name: self.class.name)
|
36
|
-
new_order.
|
42
|
+
new_order.complete!
|
37
43
|
Spree::OrderCapturing.new(new_order).capture_payments if (Spree::Config[:auto_capture_exchanges] && !Spree::Config[:auto_capture])
|
38
44
|
|
39
45
|
@return_items.each(&:expired!)
|
@@ -62,19 +68,19 @@ module Spree
|
|
62
68
|
end
|
63
69
|
|
64
70
|
def set_shipment_for_new_order
|
65
|
-
new_order.shipments.destroy_all
|
66
71
|
@shipment.update_attributes!(order_id: new_order.id)
|
67
|
-
new_order.
|
72
|
+
new_order.shipments.reset
|
68
73
|
end
|
69
74
|
|
70
75
|
def set_order_payment
|
71
76
|
unless new_order.payments.present?
|
72
77
|
card_to_reuse = @original_order.valid_credit_cards.first
|
73
78
|
card_to_reuse = @original_order.user.credit_cards.default.first if !card_to_reuse && @original_order.user
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
79
|
+
new_order.payments.create!(
|
80
|
+
payment_method_id: card_to_reuse.try(:payment_method_id),
|
81
|
+
source: card_to_reuse,
|
82
|
+
amount: new_order.total
|
83
|
+
)
|
78
84
|
end
|
79
85
|
end
|
80
86
|
|
@@ -89,14 +95,13 @@ module Spree
|
|
89
95
|
end
|
90
96
|
|
91
97
|
def exchange_order_attributes
|
92
|
-
|
98
|
+
{
|
93
99
|
bill_address: @original_order.bill_address,
|
94
100
|
ship_address: @original_order.ship_address,
|
95
101
|
email: @original_order.email,
|
102
|
+
store_id: @original_order.store_id,
|
96
103
|
frontend_viewable: false
|
97
104
|
}
|
98
|
-
order_attributes[:store_id] = @original_order.store_id if @original_order.respond_to?(:store_id)
|
99
|
-
order_attributes
|
100
105
|
end
|
101
106
|
end
|
102
107
|
end
|
data/lib/spree/i18n.rb
CHANGED
@@ -1,37 +1,19 @@
|
|
1
1
|
require 'i18n'
|
2
2
|
require 'active_support/core_ext/array/extract_options'
|
3
|
-
require 'spree/i18n/base'
|
4
3
|
|
5
4
|
module Spree
|
6
|
-
|
7
|
-
|
5
|
+
class TranslationHelperWrapper # :nodoc:
|
6
|
+
include ActionView::Helpers::TranslationHelper
|
7
|
+
end
|
8
8
|
|
9
9
|
class << self
|
10
10
|
# Add spree namespace and delegate to Rails TranslationHelper for some nice
|
11
11
|
# extra functionality. e.g return reasonable strings for missing translations
|
12
|
-
def translate(
|
13
|
-
|
14
|
-
|
15
|
-
options = args.extract_options!
|
16
|
-
options[:scope] = [*options[:scope]].unshift(:spree)
|
17
|
-
args << options
|
18
|
-
super(*args)
|
12
|
+
def translate(key, options={})
|
13
|
+
options[:scope] = [:spree, *options[:scope]]
|
14
|
+
TranslationHelperWrapper.new.translate(key, options)
|
19
15
|
end
|
20
16
|
|
21
17
|
alias_method :t, :translate
|
22
|
-
|
23
|
-
def context
|
24
|
-
Spree::ViewContext.context
|
25
|
-
end
|
26
|
-
|
27
|
-
def virtual_path
|
28
|
-
if context
|
29
|
-
path = context.instance_variable_get("@virtual_path")
|
30
|
-
|
31
|
-
if path
|
32
|
-
path.gsub(/spree/, '')
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
18
|
end
|
37
19
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Spree
|
2
|
+
class MailerPreviews
|
3
|
+
class OrderPreview < ActionMailer::Preview
|
4
|
+
def confirm
|
5
|
+
OrderMailer.confirm_email(Order.first)
|
6
|
+
end
|
7
|
+
|
8
|
+
def cancel
|
9
|
+
OrderMailer.cancel_email(Order.first)
|
10
|
+
end
|
11
|
+
|
12
|
+
def inventory_cancellation
|
13
|
+
order = Order.first
|
14
|
+
OrderMailer.inventory_cancellation_email(order, [order.inventory_units.first])
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -5,6 +5,7 @@ module Spree
|
|
5
5
|
module PermittedAttributes
|
6
6
|
ATTRIBUTES = [
|
7
7
|
:address_attributes,
|
8
|
+
:address_book_attributes,
|
8
9
|
:checkout_attributes,
|
9
10
|
:credit_card_update_attributes,
|
10
11
|
:customer_return_attributes,
|
@@ -36,11 +37,13 @@ module Spree
|
|
36
37
|
@@address_attributes = [
|
37
38
|
:id, :firstname, :lastname, :first_name, :last_name,
|
38
39
|
:address1, :address2, :city, :country_id, :state_id,
|
39
|
-
:zipcode, :phone, :state_name, :alternative_phone, :company,
|
40
|
+
:zipcode, :phone, :state_name, :country_iso, :alternative_phone, :company,
|
40
41
|
country: [:iso, :name, :iso3, :iso_name],
|
41
42
|
state: [:name, :abbr]
|
42
43
|
]
|
43
44
|
|
45
|
+
@@address_book_attributes = address_attributes + [:default]
|
46
|
+
|
44
47
|
@@checkout_attributes = [
|
45
48
|
:coupon_code, :email, :shipping_method_id, :special_instructions, :use_billing
|
46
49
|
]
|
@@ -51,7 +51,8 @@ module CapybaraExt
|
|
51
51
|
find("#{options[:from]}:not(.select2-container-disabled)").click
|
52
52
|
|
53
53
|
within_entire_page do
|
54
|
-
|
54
|
+
select2input = first("#select2-drop input.select2-input") || find("input.select2-input")
|
55
|
+
select2input.set(value)
|
55
56
|
end
|
56
57
|
|
57
58
|
select_select2_result(value)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
FactoryGirl.define do
|
2
|
-
factory :address,
|
2
|
+
factory :address, class: Spree::Address do
|
3
3
|
firstname 'John'
|
4
4
|
lastname 'Doe'
|
5
5
|
company 'Company'
|
@@ -19,4 +19,12 @@ FactoryGirl.define do
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
22
|
+
|
23
|
+
factory :ship_address, parent: :address do
|
24
|
+
address1 'A Different Road'
|
25
|
+
end
|
26
|
+
|
27
|
+
factory :bill_address, parent: :address do
|
28
|
+
address1 'PO Box 1337'
|
29
|
+
end
|
22
30
|
end
|