spree_core 1.2.5 → 1.3.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/javascripts/admin/address_states.js +5 -4
- data/app/assets/javascripts/admin/admin.js.erb +106 -58
- data/app/assets/javascripts/admin/calculator.js +2 -2
- data/app/assets/javascripts/admin/checkouts/edit.js +5 -5
- data/app/assets/javascripts/admin/image_settings.js.erb +62 -0
- data/app/assets/javascripts/admin/images/index.js.coffee +3 -0
- data/app/assets/javascripts/admin/images/new.js.coffee +3 -0
- data/app/assets/javascripts/admin/orders/edit.js +1 -1
- data/app/assets/javascripts/admin/progress.coffee +27 -0
- data/app/assets/javascripts/admin/shipping_methods.js.coffee +1 -1
- data/app/assets/javascripts/admin/spree-select2.js.erb +24 -0
- data/app/assets/javascripts/admin/spree_core.js +10 -0
- data/app/assets/javascripts/admin/taxon_autocomplete.js.erb +1 -1
- data/app/assets/javascripts/admin/taxonomy.js +9 -9
- data/app/assets/javascripts/admin/variant_autocomplete.js.erb +40 -0
- data/app/assets/javascripts/store/checkout.js.coffee +23 -5
- data/app/assets/javascripts/store/product.js.coffee +15 -8
- data/app/assets/javascripts/store/spree_core.js +0 -1
- data/app/assets/stylesheets/admin/components/_actions.scss +31 -0
- data/app/assets/stylesheets/admin/components/_date-picker.scss +154 -0
- data/app/assets/stylesheets/admin/components/_messages.scss +43 -0
- data/app/assets/stylesheets/admin/components/_navigation.scss +150 -0
- data/app/assets/stylesheets/admin/components/_pagination.scss +17 -0
- data/app/assets/stylesheets/admin/components/_product_autocomplete.scss +29 -0
- data/app/assets/stylesheets/admin/components/_progress.scss +35 -0
- data/app/assets/stylesheets/admin/components/_sidebar.scss +23 -0
- data/app/assets/stylesheets/admin/components/_states.scss +30 -0
- data/app/assets/stylesheets/admin/components/_table-filter.scss +14 -0
- data/app/assets/stylesheets/admin/globals/_functions.scss +25 -0
- data/app/assets/stylesheets/admin/globals/_mixins.scss +25 -0
- data/app/assets/stylesheets/admin/globals/_variables.scss +134 -0
- data/app/assets/stylesheets/admin/globals/_variables_override.scss +7 -0
- data/app/assets/stylesheets/admin/hacks/_ie.scss +73 -0
- data/app/assets/stylesheets/admin/hacks/_mozilla.scss +32 -0
- data/app/assets/stylesheets/admin/hacks/_opera.scss +17 -0
- data/app/assets/stylesheets/admin/plugins/_jstree.scss +132 -0
- data/app/assets/stylesheets/admin/plugins/_powertip.scss +86 -0
- data/app/assets/stylesheets/admin/plugins/_select2.scss +176 -0
- data/app/assets/stylesheets/admin/{token-input.css → plugins/_token-input.scss} +9 -8
- data/app/assets/stylesheets/admin/plugins/font-awesome.scss +303 -0
- data/app/assets/stylesheets/admin/{edit_checkouts.css → sections/_edit_checkouts.scss} +1 -1
- data/app/assets/stylesheets/admin/sections/_image_settings.scss +3 -0
- data/app/assets/stylesheets/admin/sections/_orders.scss +38 -0
- data/app/assets/stylesheets/admin/sections/_overview.scss +86 -0
- data/app/assets/stylesheets/admin/sections/_products.scss +26 -0
- data/app/assets/stylesheets/admin/sections/_promotions.scss +100 -0
- data/app/assets/stylesheets/admin/shared/_forms.scss +250 -0
- data/app/assets/stylesheets/admin/shared/_icons.scss +21 -0
- data/app/assets/stylesheets/admin/shared/_layout.scss +84 -0
- data/app/assets/stylesheets/admin/shared/_tables.scss +180 -0
- data/app/assets/stylesheets/admin/shared/_typography.scss +132 -0
- data/app/assets/stylesheets/admin/spree_admin.scss +38 -0
- data/app/assets/stylesheets/admin/spree_core.css +7 -7
- data/app/assets/stylesheets/store/screen.css.scss +57 -49
- data/app/assets/stylesheets/store/spree_core.css +2 -3
- data/app/assets/stylesheets/store/variables.css.scss +2 -0
- data/app/controllers/spree/admin/adjustments_controller.rb +3 -7
- data/app/controllers/spree/admin/base_controller.rb +1 -1
- data/app/controllers/spree/admin/countries_controller.rb +11 -0
- data/app/controllers/spree/admin/general_settings_controller.rb +7 -8
- data/app/controllers/spree/admin/image_settings_controller.rb +2 -7
- data/app/controllers/spree/admin/inventory_settings_controller.rb +2 -6
- data/app/controllers/spree/admin/mail_methods_controller.rb +1 -1
- data/app/controllers/spree/admin/orders/customer_details_controller.rb +3 -4
- data/app/controllers/spree/admin/orders_controller.rb +3 -9
- data/app/controllers/spree/admin/payment_methods_controller.rb +5 -2
- data/app/controllers/spree/admin/payments_controller.rb +4 -4
- data/app/controllers/spree/admin/product_properties_controller.rb +0 -12
- data/app/controllers/spree/admin/products_controller.rb +19 -42
- data/app/controllers/spree/admin/properties_controller.rb +2 -2
- data/app/controllers/spree/admin/prototypes_controller.rb +0 -8
- data/app/controllers/spree/admin/reports_controller.rb +7 -4
- data/app/controllers/spree/admin/resource_controller.rb +3 -3
- data/app/controllers/spree/admin/return_authorizations_controller.rb +1 -1
- data/app/controllers/spree/admin/shipments_controller.rb +3 -3
- data/app/controllers/spree/admin/shipping_methods_controller.rb +1 -1
- data/app/controllers/spree/admin/tax_categories_controller.rb +1 -1
- data/app/controllers/spree/admin/taxons_controller.rb +4 -4
- data/app/controllers/spree/admin/variants_controller.rb +11 -15
- data/app/controllers/spree/base_controller.rb +4 -1
- data/app/controllers/spree/checkout_controller.rb +3 -3
- data/app/controllers/spree/content_controller.rb +1 -1
- data/app/controllers/spree/countries_controller.rb +12 -0
- data/app/controllers/spree/home_controller.rb +2 -1
- data/app/controllers/spree/locale_controller.rb +3 -3
- data/app/controllers/spree/orders_controller.rb +7 -9
- data/app/controllers/spree/products_controller.rb +5 -4
- data/app/controllers/spree/states_controller.rb +1 -1
- data/app/controllers/spree/store_controller.rb +11 -0
- data/app/controllers/spree/taxons_controller.rb +2 -1
- data/app/helpers/spree/admin/base_helper.rb +16 -15
- data/app/helpers/spree/admin/navigation_helper.rb +38 -28
- data/app/helpers/spree/admin/orders_helper.rb +1 -7
- data/app/helpers/spree/admin/tables_helper.rb +15 -0
- data/app/helpers/spree/admin/taxons_helper.rb +0 -13
- data/app/helpers/spree/base_helper.rb +14 -28
- data/app/helpers/spree/checkout_helper.rb +0 -15
- data/app/helpers/spree/products_helper.rb +23 -10
- data/app/mailers/spree/order_mailer.rb +6 -17
- data/app/mailers/spree/shipment_mailer.rb +3 -8
- data/app/mailers/spree/test_mailer.rb +0 -5
- data/app/models/spree/address.rb +2 -1
- data/app/models/spree/adjustment.rb +5 -1
- data/app/models/spree/app_configuration.rb +2 -7
- data/app/models/spree/calculator/default_tax.rb +2 -6
- data/app/models/spree/calculator/flat_rate.rb +3 -1
- data/app/models/spree/calculator/flexi_rate.rb +2 -1
- data/app/models/spree/calculator/per_item.rb +3 -4
- data/app/models/spree/calculator/price_sack.rb +3 -1
- data/app/models/spree/country.rb +11 -0
- data/app/models/spree/credit_card.rb +5 -1
- data/app/models/spree/gateway.rb +2 -8
- data/app/models/spree/image.rb +1 -1
- data/app/models/spree/inventory_unit.rb +7 -3
- data/app/models/spree/line_item.rb +16 -2
- data/app/models/spree/order.rb +64 -137
- data/app/models/spree/order/checkout.rb +1 -8
- data/app/models/spree/order_updater.rb +134 -0
- data/app/models/spree/payment.rb +8 -19
- data/app/models/spree/payment/processing.rb +3 -3
- data/app/models/spree/payment_method.rb +6 -4
- data/app/models/spree/preference.rb +1 -1
- data/app/models/spree/preferences/preferable_class_methods.rb +9 -6
- data/app/models/spree/preferences/store.rb +11 -26
- data/app/models/spree/price.rb +51 -0
- data/app/models/spree/product.rb +22 -14
- data/app/models/spree/product/scopes.rb +20 -28
- data/app/models/spree/prototype.rb +1 -1
- data/app/models/spree/return_authorization.rb +8 -0
- data/app/models/spree/shipment.rb +13 -5
- data/app/models/spree/shipping_method.rb +10 -1
- data/app/models/spree/shipping_rate.rb +2 -2
- data/app/models/spree/taxon.rb +0 -5
- data/app/models/spree/variant.rb +75 -25
- data/app/models/spree/zone.rb +1 -1
- data/app/views/spree/address/_form.html.erb +75 -0
- data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +23 -22
- data/app/views/spree/admin/adjustments/_form.html.erb +15 -12
- data/app/views/spree/admin/adjustments/edit.html.erb +15 -6
- data/app/views/spree/admin/adjustments/index.html.erb +12 -2
- data/app/views/spree/admin/adjustments/new.html.erb +15 -6
- data/app/views/spree/admin/banners/_gateway.html.erb +3 -1
- data/app/views/spree/admin/countries/_form.html.erb +22 -0
- data/app/views/spree/admin/countries/edit.html.erb +21 -0
- data/app/views/spree/admin/countries/index.html.erb +33 -0
- data/app/views/spree/admin/general_settings/edit.html.erb +75 -27
- data/app/views/spree/admin/image_settings/edit.html.erb +112 -99
- data/app/views/spree/admin/images/_form.html.erb +16 -12
- data/app/views/spree/admin/images/edit.html.erb +20 -11
- data/app/views/spree/admin/images/index.html.erb +70 -46
- data/app/views/spree/admin/images/new.html.erb +11 -8
- data/app/views/spree/admin/inventory_settings/edit.html.erb +16 -18
- data/app/views/spree/admin/inventory_settings/show.html.erb +14 -4
- data/app/views/spree/admin/line_items/create.js.erb +0 -3
- data/app/views/spree/admin/mail_methods/_form.html.erb +46 -47
- data/app/views/spree/admin/mail_methods/edit.html.erb +12 -3
- data/app/views/spree/admin/mail_methods/index.html.erb +37 -33
- data/app/views/spree/admin/mail_methods/new.html.erb +16 -4
- data/app/views/spree/admin/option_types/_form.html.erb +16 -12
- data/app/views/spree/admin/option_types/_option_value_fields.html.erb +7 -3
- data/app/views/spree/admin/option_types/edit.html.erb +45 -27
- data/app/views/spree/admin/option_types/index.html.erb +31 -26
- data/app/views/spree/admin/option_types/new.html.erb +1 -1
- data/app/views/spree/admin/orders/_add_product.html.erb +13 -10
- data/app/views/spree/admin/orders/_form.html.erb +53 -42
- data/app/views/spree/admin/orders/_line_item.html.erb +7 -9
- data/app/views/spree/admin/orders/customer_details/_form.html.erb +59 -41
- data/app/views/spree/admin/orders/customer_details/edit.html.erb +11 -2
- data/app/views/spree/admin/orders/edit.html.erb +5 -8
- data/app/views/spree/admin/orders/index.html.erb +105 -67
- data/app/views/spree/admin/orders/new.html.erb +16 -5
- data/app/views/spree/admin/orders/show.html.erb +23 -14
- data/app/views/spree/admin/payment_methods/_form.html.erb +46 -45
- data/app/views/spree/admin/payment_methods/edit.html.erb +19 -6
- data/app/views/spree/admin/payment_methods/index.html.erb +33 -27
- data/app/views/spree/admin/payment_methods/new.html.erb +16 -5
- data/app/views/spree/admin/payments/_form.html.erb +27 -16
- data/app/views/spree/admin/payments/_list.html.erb +23 -19
- data/app/views/spree/admin/payments/credit.html.erb +4 -0
- data/app/views/spree/admin/payments/index.html.erb +12 -11
- data/app/views/spree/admin/payments/new.html.erb +13 -7
- data/app/views/spree/admin/payments/show.html.erb +13 -5
- data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +36 -26
- data/app/views/spree/admin/payments/source_views/_gateway.html.erb +26 -31
- data/app/views/spree/admin/product_properties/_product_property_fields.html.erb +3 -1
- data/app/views/spree/admin/product_properties/index.html.erb +37 -30
- data/app/views/spree/admin/products/_form.html.erb +115 -87
- data/app/views/spree/admin/products/_properties_form.erb +6 -3
- data/app/views/spree/admin/products/edit.html.erb +8 -2
- data/app/views/spree/admin/products/index.html.erb +88 -55
- data/app/views/spree/admin/products/new.html.erb +24 -20
- data/app/views/spree/admin/products/new.js.erb +4 -0
- data/app/views/spree/admin/properties/_form.html.erb +15 -12
- data/app/views/spree/admin/properties/edit.html.erb +11 -3
- data/app/views/spree/admin/properties/index.html.erb +18 -17
- data/app/views/spree/admin/properties/new.html.erb +4 -2
- data/app/views/spree/admin/prototypes/_form.html.erb +22 -43
- data/app/views/spree/admin/prototypes/_prototypes.html.erb +7 -3
- data/app/views/spree/admin/prototypes/edit.html.erb +14 -3
- data/app/views/spree/admin/prototypes/index.html.erb +19 -16
- data/app/views/spree/admin/prototypes/new.html.erb +1 -1
- data/app/views/spree/admin/prototypes/new.js.erb +3 -0
- data/app/views/spree/admin/reports/index.html.erb +3 -1
- data/app/views/spree/admin/reports/sales_total.html.erb +31 -17
- data/app/views/spree/admin/return_authorizations/_form.html.erb +36 -27
- data/app/views/spree/admin/return_authorizations/edit.html.erb +16 -17
- data/app/views/spree/admin/return_authorizations/index.html.erb +47 -40
- data/app/views/spree/admin/return_authorizations/new.html.erb +5 -3
- data/app/views/spree/admin/shared/_address.html.erb +2 -2
- data/app/views/spree/admin/shared/_address_form.html.erb +58 -78
- data/app/views/spree/admin/shared/_calculator_fields.html.erb +16 -13
- data/app/views/spree/admin/shared/_configuration_menu.html.erb +23 -19
- data/app/views/spree/admin/shared/_edit_resource_links.html.erb +5 -4
- data/app/views/spree/admin/shared/_head.html.erb +10 -2
- data/app/views/spree/admin/shared/_new_resource_links.html.erb +5 -4
- data/app/views/spree/admin/shared/_order_details.html.erb +16 -15
- data/app/views/spree/admin/shared/_order_tabs.html.erb +65 -51
- data/app/views/spree/admin/shared/_product_sub_menu.html.erb +2 -2
- data/app/views/spree/admin/shared/_product_tabs.html.erb +23 -20
- data/app/views/spree/admin/shared/_report_criteria.html.erb +13 -11
- data/app/views/spree/admin/shared/_routes.html.erb +1 -2
- data/app/views/spree/admin/shared/_tabs.html.erb +5 -4
- data/app/views/spree/admin/shared/_translations.html.erb +22 -18
- data/app/views/spree/admin/shipments/_form.html.erb +54 -58
- data/app/views/spree/admin/shipments/edit.html.erb +20 -15
- data/app/views/spree/admin/shipments/index.html.erb +40 -33
- data/app/views/spree/admin/shipments/new.html.erb +4 -0
- data/app/views/spree/admin/shipping_categories/_form.html.erb +4 -6
- data/app/views/spree/admin/shipping_categories/edit.html.erb +17 -3
- data/app/views/spree/admin/shipping_categories/index.html.erb +18 -14
- data/app/views/spree/admin/shipping_categories/new.html.erb +15 -3
- data/app/views/spree/admin/shipping_methods/_form.html.erb +36 -24
- data/app/views/spree/admin/shipping_methods/edit.html.erb +18 -5
- data/app/views/spree/admin/shipping_methods/index.html.erb +21 -15
- data/app/views/spree/admin/shipping_methods/new.html.erb +18 -6
- data/app/views/spree/admin/states/_form.html.erb +13 -10
- data/app/views/spree/admin/states/_state_list.html.erb +10 -14
- data/app/views/spree/admin/states/edit.html.erb +13 -3
- data/app/views/spree/admin/states/index.html.erb +12 -4
- data/app/views/spree/admin/states/new.html.erb +9 -3
- data/app/views/spree/admin/tax_categories/_form.html.erb +23 -15
- data/app/views/spree/admin/tax_categories/edit.html.erb +11 -3
- data/app/views/spree/admin/tax_categories/index.html.erb +20 -15
- data/app/views/spree/admin/tax_categories/new.html.erb +12 -3
- data/app/views/spree/admin/tax_rates/_form.html.erb +38 -27
- data/app/views/spree/admin/tax_rates/edit.html.erb +18 -3
- data/app/views/spree/admin/tax_rates/index.html.erb +59 -40
- data/app/views/spree/admin/tax_rates/new.html.erb +20 -3
- data/app/views/spree/admin/tax_settings/edit.html.erb +10 -9
- data/app/views/spree/admin/taxonomies/_form.html.erb +1 -1
- data/app/views/spree/admin/taxonomies/_list.html.erb +24 -18
- data/app/views/spree/admin/taxonomies/edit.erb +24 -10
- data/app/views/spree/admin/taxonomies/get_children.json.erb +1 -1
- data/app/views/spree/admin/taxonomies/index.html.erb +8 -9
- data/app/views/spree/admin/taxonomies/new.html.erb +15 -5
- data/app/views/spree/admin/taxons/_form.html.erb +23 -18
- data/app/views/spree/admin/taxons/_taxon_table.html.erb +1 -1
- data/app/views/spree/admin/taxons/edit.html.erb +13 -5
- data/app/views/spree/admin/trackers/_form.html.erb +29 -24
- data/app/views/spree/admin/trackers/edit.html.erb +15 -3
- data/app/views/spree/admin/trackers/index.html.erb +43 -31
- data/app/views/spree/admin/trackers/new.html.erb +14 -3
- data/app/views/spree/admin/variants/_autocomplete.js.erb +30 -0
- data/app/views/spree/admin/variants/_form.html.erb +50 -31
- data/app/views/spree/admin/variants/index.html.erb +64 -46
- data/app/views/spree/admin/variants/new.html.erb +1 -0
- data/app/views/spree/admin/variants/new.js.erb +1 -0
- data/app/views/spree/admin/variants/search.rabl +15 -0
- data/app/views/spree/admin/zones/_country_member.html.erb +1 -1
- data/app/views/spree/admin/zones/_form.html.erb +30 -27
- data/app/views/spree/admin/zones/_member_type.html.erb +12 -9
- data/app/views/spree/admin/zones/_state_member.html.erb +2 -2
- data/app/views/spree/admin/zones/edit.html.erb +16 -3
- data/app/views/spree/admin/zones/index.html.erb +45 -36
- data/app/views/spree/admin/zones/new.html.erb +12 -1
- data/app/views/spree/checkout/_address.html.erb +17 -165
- data/app/views/spree/checkout/_confirm.html.erb +1 -1
- data/app/views/spree/checkout/_delivery.html.erb +1 -1
- data/app/views/spree/checkout/_payment.html.erb +1 -1
- data/app/views/spree/checkout/_summary.html.erb +4 -4
- data/app/views/spree/checkout/edit.html.erb +2 -0
- data/app/views/spree/checkout/payment/_gateway.html.erb +2 -2
- data/app/views/spree/checkout/registration.html.erb +1 -1
- data/app/views/spree/countries/index.js.erb +1 -0
- data/app/views/spree/layouts/admin.html.erb +125 -61
- data/app/views/spree/layouts/spree_application.html.erb +17 -6
- data/app/views/spree/order_mailer/cancel_email.text.erb +4 -4
- data/app/views/spree/order_mailer/confirm_email.text.erb +3 -3
- data/app/views/spree/orders/_adjustments.html.erb +1 -1
- data/app/views/spree/orders/_line_item.html.erb +3 -3
- data/app/views/spree/orders/show.html.erb +15 -15
- data/app/views/spree/products/_cart_form.html.erb +5 -5
- data/app/views/spree/products/_properties.html.erb +4 -3
- data/app/views/spree/products/_thumbnails.html.erb +15 -17
- data/app/views/spree/products/index.html.erb +1 -1
- data/app/views/spree/products/show.html.erb +1 -1
- data/app/views/spree/shared/_google_analytics.html.erb +9 -9
- data/app/views/spree/shared/_order_details.html.erb +14 -14
- data/app/views/spree/shared/_products.html.erb +1 -2
- data/app/views/spree/taxons/show.html.erb +1 -1
- data/config/locales/en.yml +43 -4
- data/config/routes.rb +4 -5
- data/db/migrate/20120831092320_spree_one_two.rb +481 -0
- data/db/migrate/20120929093553_remove_unused_preference_columns.rb +8 -0
- data/db/migrate/20121010142909_add_states_required_to_countries.rb +5 -0
- data/db/migrate/20121012071449_add_on_demand_to_product_and_variant.rb +6 -0
- data/db/migrate/20121031162139_split_prices_from_variants.rb +30 -0
- data/db/migrate/20121107003422_remove_not_null_from_spree_prices_amount.rb +9 -0
- data/db/migrate/20121107184631_add_currency_to_line_items.rb +5 -0
- data/db/migrate/20121107194006_add_currency_to_orders.rb +5 -0
- data/db/migrate/20121109173623_add_cost_currency_to_variants.rb +5 -0
- data/db/migrate/20121111231553_remove_display_on_from_payment_methods.rb +5 -0
- data/lib/generators/spree/custom_user/custom_user_generator.rb +1 -1
- data/lib/generators/spree/dummy/templates/rails/database.yml +6 -9
- data/lib/generators/spree/install/templates/config/initializers/spree.rb +2 -2
- data/lib/spree/core.rb +0 -7
- data/lib/spree/core/action_callbacks.rb +4 -4
- data/lib/spree/core/calculated_adjustments.rb +2 -2
- data/lib/spree/core/controller_helpers/auth.rb +65 -0
- data/lib/spree/core/controller_helpers/common.rb +90 -0
- data/lib/spree/core/controller_helpers/order.rb +71 -0
- data/lib/spree/core/{respond_with.rb → controller_helpers/respond_with.rb} +27 -25
- data/lib/spree/core/engine.rb +6 -5
- data/lib/spree/core/search/base.rb +3 -1
- data/lib/spree/core/testing_support/factories/payment_factory.rb +24 -0
- data/lib/spree/core/testing_support/factories/payment_method_factory.rb +0 -3
- data/lib/spree/core/testing_support/factories/price_factory.rb +8 -0
- data/lib/spree/core/testing_support/factories/zone_factory.rb +1 -1
- data/lib/spree/core/testing_support/flash.rb +17 -5
- data/lib/spree/core/testing_support/preferences.rb +6 -12
- data/lib/spree/core/validators/email.rb +1 -1
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/money.rb +3 -12
- data/lib/spree/product_filters.rb +8 -8
- data/lib/tasks/core.rake +3 -3
- data/lib/tasks/taxon.rake +1 -1
- data/vendor/assets/fonts/fontawesome-webfont.eot +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.svg +255 -0
- data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
- data/vendor/assets/images/flags/ad.png +0 -0
- data/vendor/assets/images/flags/ae.png +0 -0
- data/vendor/assets/images/flags/af.png +0 -0
- data/vendor/assets/images/flags/ag.png +0 -0
- data/vendor/assets/images/flags/ai.png +0 -0
- data/vendor/assets/images/flags/al.png +0 -0
- data/vendor/assets/images/flags/am.png +0 -0
- data/vendor/assets/images/flags/an.png +0 -0
- data/vendor/assets/images/flags/ao.png +0 -0
- data/vendor/assets/images/flags/ar.png +0 -0
- data/vendor/assets/images/flags/as.png +0 -0
- data/vendor/assets/images/flags/at.png +0 -0
- data/vendor/assets/images/flags/au.png +0 -0
- data/vendor/assets/images/flags/aw.png +0 -0
- data/vendor/assets/images/flags/ax.png +0 -0
- data/vendor/assets/images/flags/az.png +0 -0
- data/vendor/assets/images/flags/ba.png +0 -0
- data/vendor/assets/images/flags/bb.png +0 -0
- data/vendor/assets/images/flags/bd.png +0 -0
- data/vendor/assets/images/flags/be.png +0 -0
- data/vendor/assets/images/flags/bf.png +0 -0
- data/vendor/assets/images/flags/bg.png +0 -0
- data/vendor/assets/images/flags/bh.png +0 -0
- data/vendor/assets/images/flags/bi.png +0 -0
- data/vendor/assets/images/flags/bj.png +0 -0
- data/vendor/assets/images/flags/bm.png +0 -0
- data/vendor/assets/images/flags/bn.png +0 -0
- data/vendor/assets/images/flags/bo.png +0 -0
- data/vendor/assets/images/flags/br.png +0 -0
- data/vendor/assets/images/flags/bs.png +0 -0
- data/vendor/assets/images/flags/bt.png +0 -0
- data/vendor/assets/images/flags/bv.png +0 -0
- data/vendor/assets/images/flags/bw.png +0 -0
- data/vendor/assets/images/flags/by.png +0 -0
- data/vendor/assets/images/flags/bz.png +0 -0
- data/vendor/assets/images/flags/ca.png +0 -0
- data/vendor/assets/images/flags/catalonia.png +0 -0
- data/vendor/assets/images/flags/cc.png +0 -0
- data/vendor/assets/images/flags/cd.png +0 -0
- data/vendor/assets/images/flags/cf.png +0 -0
- data/vendor/assets/images/flags/cg.png +0 -0
- data/vendor/assets/images/flags/ch.png +0 -0
- data/vendor/assets/images/flags/ci.png +0 -0
- data/vendor/assets/images/flags/ck.png +0 -0
- data/vendor/assets/images/flags/cl.png +0 -0
- data/vendor/assets/images/flags/cm.png +0 -0
- data/vendor/assets/images/flags/cn.png +0 -0
- data/vendor/assets/images/flags/co.png +0 -0
- data/vendor/assets/images/flags/cr.png +0 -0
- data/vendor/assets/images/flags/cs.png +0 -0
- data/vendor/assets/images/flags/cu.png +0 -0
- data/vendor/assets/images/flags/cv.png +0 -0
- data/vendor/assets/images/flags/cx.png +0 -0
- data/vendor/assets/images/flags/cy.png +0 -0
- data/vendor/assets/images/flags/cz.png +0 -0
- data/vendor/assets/images/flags/de.png +0 -0
- data/vendor/assets/images/flags/dj.png +0 -0
- data/vendor/assets/images/flags/dk.png +0 -0
- data/vendor/assets/images/flags/dm.png +0 -0
- data/vendor/assets/images/flags/do.png +0 -0
- data/vendor/assets/images/flags/dz.png +0 -0
- data/vendor/assets/images/flags/ec.png +0 -0
- data/vendor/assets/images/flags/ee.png +0 -0
- data/vendor/assets/images/flags/eg.png +0 -0
- data/vendor/assets/images/flags/eh.png +0 -0
- data/vendor/assets/images/flags/england.png +0 -0
- data/vendor/assets/images/flags/er.png +0 -0
- data/vendor/assets/images/flags/es.png +0 -0
- data/vendor/assets/images/flags/et.png +0 -0
- data/vendor/assets/images/flags/europeanunion.png +0 -0
- data/vendor/assets/images/flags/fam.png +0 -0
- data/vendor/assets/images/flags/fi.png +0 -0
- data/vendor/assets/images/flags/fj.png +0 -0
- data/vendor/assets/images/flags/fk.png +0 -0
- data/vendor/assets/images/flags/fm.png +0 -0
- data/vendor/assets/images/flags/fo.png +0 -0
- data/vendor/assets/images/flags/fr.png +0 -0
- data/vendor/assets/images/flags/ga.png +0 -0
- data/vendor/assets/images/flags/gb.png +0 -0
- data/vendor/assets/images/flags/gd.png +0 -0
- data/vendor/assets/images/flags/ge.png +0 -0
- data/vendor/assets/images/flags/gf.png +0 -0
- data/vendor/assets/images/flags/gh.png +0 -0
- data/vendor/assets/images/flags/gi.png +0 -0
- data/vendor/assets/images/flags/gl.png +0 -0
- data/vendor/assets/images/flags/gm.png +0 -0
- data/vendor/assets/images/flags/gn.png +0 -0
- data/vendor/assets/images/flags/gp.png +0 -0
- data/vendor/assets/images/flags/gq.png +0 -0
- data/vendor/assets/images/flags/gr.png +0 -0
- data/vendor/assets/images/flags/gs.png +0 -0
- data/vendor/assets/images/flags/gt.png +0 -0
- data/vendor/assets/images/flags/gu.png +0 -0
- data/vendor/assets/images/flags/gw.png +0 -0
- data/vendor/assets/images/flags/gy.png +0 -0
- data/vendor/assets/images/flags/hk.png +0 -0
- data/vendor/assets/images/flags/hm.png +0 -0
- data/vendor/assets/images/flags/hn.png +0 -0
- data/vendor/assets/images/flags/hr.png +0 -0
- data/vendor/assets/images/flags/ht.png +0 -0
- data/vendor/assets/images/flags/hu.png +0 -0
- data/vendor/assets/images/flags/id.png +0 -0
- data/vendor/assets/images/flags/ie.png +0 -0
- data/vendor/assets/images/flags/il.png +0 -0
- data/vendor/assets/images/flags/in.png +0 -0
- data/vendor/assets/images/flags/io.png +0 -0
- data/vendor/assets/images/flags/iq.png +0 -0
- data/vendor/assets/images/flags/ir.png +0 -0
- data/vendor/assets/images/flags/is.png +0 -0
- data/vendor/assets/images/flags/it.png +0 -0
- data/vendor/assets/images/flags/ja.png +0 -0
- data/vendor/assets/images/flags/jm.png +0 -0
- data/vendor/assets/images/flags/jo.png +0 -0
- data/vendor/assets/images/flags/ke.png +0 -0
- data/vendor/assets/images/flags/kg.png +0 -0
- data/vendor/assets/images/flags/kh.png +0 -0
- data/vendor/assets/images/flags/ki.png +0 -0
- data/vendor/assets/images/flags/km.png +0 -0
- data/vendor/assets/images/flags/kn.png +0 -0
- data/vendor/assets/images/flags/kp.png +0 -0
- data/vendor/assets/images/flags/kr.png +0 -0
- data/vendor/assets/images/flags/kw.png +0 -0
- data/vendor/assets/images/flags/ky.png +0 -0
- data/vendor/assets/images/flags/kz.png +0 -0
- data/vendor/assets/images/flags/la.png +0 -0
- data/vendor/assets/images/flags/lb.png +0 -0
- data/vendor/assets/images/flags/lc.png +0 -0
- data/vendor/assets/images/flags/li.png +0 -0
- data/vendor/assets/images/flags/lk.png +0 -0
- data/vendor/assets/images/flags/lr.png +0 -0
- data/vendor/assets/images/flags/ls.png +0 -0
- data/vendor/assets/images/flags/lt.png +0 -0
- data/vendor/assets/images/flags/lu.png +0 -0
- data/vendor/assets/images/flags/lv.png +0 -0
- data/vendor/assets/images/flags/ly.png +0 -0
- data/vendor/assets/images/flags/ma.png +0 -0
- data/vendor/assets/images/flags/mc.png +0 -0
- data/vendor/assets/images/flags/md.png +0 -0
- data/vendor/assets/images/flags/me.png +0 -0
- data/vendor/assets/images/flags/mg.png +0 -0
- data/vendor/assets/images/flags/mh.png +0 -0
- data/vendor/assets/images/flags/mk.png +0 -0
- data/vendor/assets/images/flags/ml.png +0 -0
- data/vendor/assets/images/flags/mm.png +0 -0
- data/vendor/assets/images/flags/mn.png +0 -0
- data/vendor/assets/images/flags/mo.png +0 -0
- data/vendor/assets/images/flags/mp.png +0 -0
- data/vendor/assets/images/flags/mq.png +0 -0
- data/vendor/assets/images/flags/mr.png +0 -0
- data/vendor/assets/images/flags/ms.png +0 -0
- data/vendor/assets/images/flags/mt.png +0 -0
- data/vendor/assets/images/flags/mu.png +0 -0
- data/vendor/assets/images/flags/mv.png +0 -0
- data/vendor/assets/images/flags/mw.png +0 -0
- data/vendor/assets/images/flags/mx.png +0 -0
- data/vendor/assets/images/flags/my.png +0 -0
- data/vendor/assets/images/flags/mz.png +0 -0
- data/vendor/assets/images/flags/na.png +0 -0
- data/vendor/assets/images/flags/nc.png +0 -0
- data/vendor/assets/images/flags/ne.png +0 -0
- data/vendor/assets/images/flags/nf.png +0 -0
- data/vendor/assets/images/flags/ng.png +0 -0
- data/vendor/assets/images/flags/ni.png +0 -0
- data/vendor/assets/images/flags/nl.png +0 -0
- data/vendor/assets/images/flags/no.png +0 -0
- data/vendor/assets/images/flags/np.png +0 -0
- data/vendor/assets/images/flags/nr.png +0 -0
- data/vendor/assets/images/flags/nu.png +0 -0
- data/vendor/assets/images/flags/nz.png +0 -0
- data/vendor/assets/images/flags/om.png +0 -0
- data/vendor/assets/images/flags/pa.png +0 -0
- data/vendor/assets/images/flags/pe.png +0 -0
- data/vendor/assets/images/flags/pf.png +0 -0
- data/vendor/assets/images/flags/pg.png +0 -0
- data/vendor/assets/images/flags/ph.png +0 -0
- data/vendor/assets/images/flags/pk.png +0 -0
- data/vendor/assets/images/flags/pl.png +0 -0
- data/vendor/assets/images/flags/pm.png +0 -0
- data/vendor/assets/images/flags/pn.png +0 -0
- data/vendor/assets/images/flags/pr.png +0 -0
- data/vendor/assets/images/flags/ps.png +0 -0
- data/vendor/assets/images/flags/pt.png +0 -0
- data/vendor/assets/images/flags/pw.png +0 -0
- data/vendor/assets/images/flags/py.png +0 -0
- data/vendor/assets/images/flags/qa.png +0 -0
- data/vendor/assets/images/flags/re.png +0 -0
- data/vendor/assets/images/flags/ro.png +0 -0
- data/vendor/assets/images/flags/rs.png +0 -0
- data/vendor/assets/images/flags/ru.png +0 -0
- data/vendor/assets/images/flags/rw.png +0 -0
- data/vendor/assets/images/flags/sa.png +0 -0
- data/vendor/assets/images/flags/sb.png +0 -0
- data/vendor/assets/images/flags/sc.png +0 -0
- data/vendor/assets/images/flags/scotland.png +0 -0
- data/vendor/assets/images/flags/sd.png +0 -0
- data/vendor/assets/images/flags/se.png +0 -0
- data/vendor/assets/images/flags/sg.png +0 -0
- data/vendor/assets/images/flags/sh.png +0 -0
- data/vendor/assets/images/flags/si.png +0 -0
- data/vendor/assets/images/flags/sj.png +0 -0
- data/vendor/assets/images/flags/sk.png +0 -0
- data/vendor/assets/images/flags/sl.png +0 -0
- data/vendor/assets/images/flags/sm.png +0 -0
- data/vendor/assets/images/flags/sn.png +0 -0
- data/vendor/assets/images/flags/so.png +0 -0
- data/vendor/assets/images/flags/sr.png +0 -0
- data/vendor/assets/images/flags/st.png +0 -0
- data/vendor/assets/images/flags/sv.png +0 -0
- data/vendor/assets/images/flags/sy.png +0 -0
- data/vendor/assets/images/flags/sz.png +0 -0
- data/vendor/assets/images/flags/tc.png +0 -0
- data/vendor/assets/images/flags/td.png +0 -0
- data/vendor/assets/images/flags/tf.png +0 -0
- data/vendor/assets/images/flags/tg.png +0 -0
- data/vendor/assets/images/flags/th.png +0 -0
- data/vendor/assets/images/flags/tj.png +0 -0
- data/vendor/assets/images/flags/tk.png +0 -0
- data/vendor/assets/images/flags/tl.png +0 -0
- data/vendor/assets/images/flags/tm.png +0 -0
- data/vendor/assets/images/flags/tn.png +0 -0
- data/vendor/assets/images/flags/to.png +0 -0
- data/vendor/assets/images/flags/tr.png +0 -0
- data/vendor/assets/images/flags/tt.png +0 -0
- data/vendor/assets/images/flags/tv.png +0 -0
- data/vendor/assets/images/flags/tw.png +0 -0
- data/vendor/assets/images/flags/tz.png +0 -0
- data/vendor/assets/images/flags/ua.png +0 -0
- data/vendor/assets/images/flags/ug.png +0 -0
- data/vendor/assets/images/flags/um.png +0 -0
- data/vendor/assets/images/flags/us.png +0 -0
- data/vendor/assets/images/flags/uy.png +0 -0
- data/vendor/assets/images/flags/uz.png +0 -0
- data/vendor/assets/images/flags/va.png +0 -0
- data/vendor/assets/images/flags/vc.png +0 -0
- data/vendor/assets/images/flags/ve.png +0 -0
- data/vendor/assets/images/flags/vg.png +0 -0
- data/vendor/assets/images/flags/vi.png +0 -0
- data/vendor/assets/images/flags/vn.png +0 -0
- data/vendor/assets/images/flags/vu.png +0 -0
- data/vendor/assets/images/flags/wales.png +0 -0
- data/vendor/assets/images/flags/wf.png +0 -0
- data/vendor/assets/images/flags/ws.png +0 -0
- data/vendor/assets/images/flags/ye.png +0 -0
- data/vendor/assets/images/flags/yt.png +0 -0
- data/vendor/assets/images/flags/za.png +0 -0
- data/vendor/assets/images/flags/zm.png +0 -0
- data/vendor/assets/images/flags/zw.png +0 -0
- data/vendor/assets/javascripts/css_browser_selector_dev.js +156 -0
- data/vendor/assets/javascripts/equalize.js +41 -0
- data/vendor/assets/javascripts/handlebars.js +1920 -0
- data/vendor/assets/javascripts/jquery.adaptivemenu.js +60 -0
- data/vendor/assets/javascripts/jquery.horizontalNav.js +141 -0
- data/vendor/assets/javascripts/jquery.jstree/themes/apple/style.css +3 -3
- data/vendor/assets/javascripts/jquery.powertip.js +796 -0
- data/vendor/assets/javascripts/jquery.vAlign.js +11 -0
- data/vendor/assets/javascripts/modernizr.js +4 -0
- data/vendor/assets/javascripts/responsive-tables.js +42 -0
- data/vendor/assets/javascripts/spin.js +319 -0
- data/vendor/assets/javascripts/trunk8.js +233 -0
- data/vendor/assets/stylesheets/font-awesome-ie7.css +645 -0
- data/vendor/assets/stylesheets/jquery.powertip.css +85 -0
- data/vendor/assets/stylesheets/normalize.css +375 -0
- data/vendor/assets/stylesheets/responsive-tables.css +21 -0
- data/vendor/assets/stylesheets/skeleton.css +4 -4
- metadata +394 -281
- checksums.yaml +0 -7
- data/app/assets/images/admin/bg/active-tab.png +0 -0
- data/app/assets/images/admin/bg/admin_tab_back.png +0 -0
- data/app/assets/images/admin/bg/admin_tab_selected_back.png +0 -0
- data/app/assets/images/admin/bg/content-back-blue.png +0 -0
- data/app/assets/images/admin/bg/content-back-green.png +0 -0
- data/app/assets/images/admin/bg/content-back.png +0 -0
- data/app/assets/images/admin/bg/flash-error.png +0 -0
- data/app/assets/images/admin/bg/flash-notice.png +0 -0
- data/app/assets/images/admin/bg/green-stripes.gif +0 -0
- data/app/assets/images/admin/bg/green-stripes.png +0 -0
- data/app/assets/images/admin/bg/grid_header_back.png +0 -0
- data/app/assets/images/admin/bg/grid_header_back_green.png +0 -0
- data/app/assets/images/admin/bg/header-bg.png +0 -0
- data/app/assets/images/admin/bg/header.png +0 -0
- data/app/assets/images/admin/bg/header_bg.jpg +0 -0
- data/app/assets/images/admin/bg/menu-current.png +0 -0
- data/app/assets/images/admin/bg/red-stripes.gif +0 -0
- data/app/assets/images/admin/bg/red-stripes.png +0 -0
- data/app/assets/images/admin/bg/subnav-divider.png +0 -0
- data/app/assets/images/admin/bg/subnav.png +0 -0
- data/app/assets/images/admin/bg/tab-back.png +0 -0
- data/app/assets/images/admin/buttons/blue/left_01.png +0 -0
- data/app/assets/images/admin/buttons/blue/right_01.png +0 -0
- data/app/assets/images/admin/buttons/drag-handle-green.png +0 -0
- data/app/assets/images/admin/buttons/green/left_01.png +0 -0
- data/app/assets/images/admin/buttons/green/right_01.png +0 -0
- data/app/assets/images/admin/buttons/left_01.png +0 -0
- data/app/assets/images/admin/buttons/left_01_small.png +0 -0
- data/app/assets/images/admin/buttons/orange/left_03.png +0 -0
- data/app/assets/images/admin/buttons/orange/right_03.png +0 -0
- data/app/assets/images/admin/buttons/right_01.png +0 -0
- data/app/assets/images/admin/buttons/right_01_small.png +0 -0
- data/app/assets/images/admin/icons/16x16/1.png +0 -0
- data/app/assets/images/admin/icons/16x16/10.png +0 -0
- data/app/assets/images/admin/icons/16x16/2.png +0 -0
- data/app/assets/images/admin/icons/16x16/3.png +0 -0
- data/app/assets/images/admin/icons/16x16/4.png +0 -0
- data/app/assets/images/admin/icons/16x16/5.png +0 -0
- data/app/assets/images/admin/icons/16x16/6.png +0 -0
- data/app/assets/images/admin/icons/16x16/7.png +0 -0
- data/app/assets/images/admin/icons/16x16/8.png +0 -0
- data/app/assets/images/admin/icons/16x16/9.png +0 -0
- data/app/assets/images/admin/icons/32x32/1.png +0 -0
- data/app/assets/images/admin/icons/32x32/10.png +0 -0
- data/app/assets/images/admin/icons/32x32/11.png +0 -0
- data/app/assets/images/admin/icons/32x32/2.png +0 -0
- data/app/assets/images/admin/icons/32x32/3.png +0 -0
- data/app/assets/images/admin/icons/32x32/4.png +0 -0
- data/app/assets/images/admin/icons/32x32/5.png +0 -0
- data/app/assets/images/admin/icons/32x32/6.png +0 -0
- data/app/assets/images/admin/icons/32x32/7.png +0 -0
- data/app/assets/images/admin/icons/32x32/8.png +0 -0
- data/app/assets/images/admin/icons/32x32/9.png +0 -0
- data/app/assets/images/admin/icons/accept.png +0 -0
- data/app/assets/images/admin/icons/add.gif +0 -0
- data/app/assets/images/admin/icons/add.png +0 -0
- data/app/assets/images/admin/icons/arrow-down.gif +0 -0
- data/app/assets/images/admin/icons/cross.png +0 -0
- data/app/assets/images/admin/icons/delete.gif +0 -0
- data/app/assets/images/admin/icons/delete.png +0 -0
- data/app/assets/images/admin/icons/drag.gif +0 -0
- data/app/assets/images/admin/icons/edit.gif +0 -0
- data/app/assets/images/admin/icons/edit.png +0 -0
- data/app/assets/images/admin/icons/email.png +0 -0
- data/app/assets/images/admin/icons/error.png +0 -0
- data/app/assets/images/admin/icons/exclamation.png +0 -0
- data/app/assets/images/admin/icons/feed.png +0 -0
- data/app/assets/images/admin/icons/pdf.png +0 -0
- data/app/assets/images/admin/icons/reorder.gif +0 -0
- data/app/assets/images/admin/icons/search.gif +0 -0
- data/app/assets/images/admin/icons/send-email.png +0 -0
- data/app/assets/images/admin/icons/stop.png +0 -0
- data/app/assets/images/admin/icons/switch.png +0 -0
- data/app/assets/images/admin/icons/tick.png +0 -0
- data/app/assets/images/admin/icons/up.gif +0 -0
- data/app/assets/images/admin/icons/xls.png +0 -0
- data/app/assets/images/credit_cards/icons/diners_club.png +0 -0
- data/app/assets/javascripts/admin/image_settings.js +0 -49
- data/app/assets/javascripts/admin/product_autocomplete.js.erb +0 -117
- data/app/assets/stylesheets/admin/admin-form.css.erb +0 -167
- data/app/assets/stylesheets/admin/admin-reset.css +0 -69
- data/app/assets/stylesheets/admin/admin-tables.css.erb +0 -40
- data/app/assets/stylesheets/admin/admin-typography.css +0 -117
- data/app/assets/stylesheets/admin/admin.css.erb +0 -682
- data/app/controllers/spree/admin/configurations_controller.rb +0 -7
- data/app/controllers/spree/admin/mail_settings_controller.rb +0 -17
- data/app/controllers/spree/admin/option_values_controller.rb +0 -11
- data/app/helpers/spree/account_helper.rb +0 -4
- data/app/helpers/spree/admin/overview_helper.rb +0 -16
- data/app/helpers/spree/admin/users_helper.rb +0 -10
- data/app/helpers/spree/admin/zones_helper.rb +0 -15
- data/app/helpers/spree/orders_helper.rb +0 -5
- data/app/helpers/spree/search_helper.rb +0 -12
- data/app/helpers/spree/trackers_helper.rb +0 -4
- data/app/views/spree/admin/configurations/index.html.erb +0 -68
- data/app/views/spree/admin/general_settings/show.html.erb +0 -40
- data/app/views/spree/admin/image_settings/show.html.erb +0 -11
- data/app/views/spree/admin/shared/_new_adjustment_button.html.erb +0 -8
- data/app/views/spree/admin/shared/_order_sub_menu.html.erb +0 -0
- data/app/views/spree/admin/tax_settings/show.html.erb +0 -14
- data/config/initializers/rails_3_1.rb +0 -12
- data/db/migrate/20090823005402_spree_zero_nine_zero.rb +0 -391
- data/db/migrate/20090904192342_create_indexes_for_inventory_units.rb +0 -6
- data/db/migrate/20090923100315_add_count_on_hand_to_variants_and_products.rb +0 -49
- data/db/migrate/20091007134354_change_taxons_to_nested_set.rb +0 -46
- data/db/migrate/20091008091614_move_to_configurable_gateways.rb +0 -54
- data/db/migrate/20091015110842_add_open_id_authentication_tables.rb +0 -15
- data/db/migrate/20091015153048_add_openid_field_to_users.rb +0 -26
- data/db/migrate/20091016174634_change_preference_value_type.rb +0 -10
- data/db/migrate/20091017175558_create_billing_integrations.rb +0 -12
- data/db/migrate/20091021133257_charge_refactoring.rb +0 -39
- data/db/migrate/20091104151730_add_some_indexes.rb +0 -11
- data/db/migrate/20091126190904_checkout_state_machine.rb +0 -5
- data/db/migrate/20091209153045_state_for_shipments.rb +0 -5
- data/db/migrate/20091209202200_make_state_events_polymorphic.rb +0 -12
- data/db/migrate/20091211203813_ship_address_id_for_checkouts.rb +0 -5
- data/db/migrate/20091212161118_shipping_method_id_for_checkouts.rb +0 -5
- data/db/migrate/20091213222815_creditcard_last_four_digits.rb +0 -14
- data/db/migrate/20091214183826_populate_legacy_shipment_state.rb +0 -15
- data/db/migrate/20100105090147_add_cost_price.rb +0 -5
- data/db/migrate/20100105132138_shipment_id_for_inventory_units.rb +0 -25
- data/db/migrate/20100111205525_cim_fields_for_creditcards.rb +0 -6
- data/db/migrate/20100112151511_create_return_authorizations.rb +0 -12
- data/db/migrate/20100113090919_add_return_authorization_to_inventory_units.rb +0 -5
- data/db/migrate/20100113203104_create_trackers.rb +0 -10
- data/db/migrate/20100121160010_creditcard_id_for_creditcard_txns.rb +0 -5
- data/db/migrate/20100121183934_original_creditcard_txn_id_for_creditcard_txns.rb +0 -5
- data/db/migrate/20100125145351_add_test_mode_to_billing_integration.rb +0 -6
- data/db/migrate/20100209025806_create_payment_methods.rb +0 -16
- data/db/migrate/20100209144531_polymorphic_payments.rb +0 -42
- data/db/migrate/20100213103131_change_payments_payment_method_to_belongs_to.rb +0 -11
- data/db/migrate/20100214212536_assign_creditcard_txns_to_payment.rb +0 -23
- data/db/migrate/20100223170312_sti_for_transactions.rb +0 -15
- data/db/migrate/20100223183812_drop_billing_integrations.rb +0 -16
- data/db/migrate/20100224153127_deleted_at_for_payment_methods.rb +0 -14
- data/db/migrate/20100301163454_add_adjustments_index.rb +0 -6
- data/db/migrate/20100317120946_add_alt_text_to_images.rb +0 -5
- data/db/migrate/20100419194457_fix_existing_coupon_credits.rb +0 -13
- data/db/migrate/20100427121301_add_display_to_payment_methods.rb +0 -5
- data/db/migrate/20100504142133_add_addresses_checkouts_indexes.rb +0 -8
- data/db/migrate/20100506180619_add_icon_to_taxons.rb +0 -17
- data/db/migrate/20100506185838_add_description_to_taxons.rb +0 -11
- data/db/migrate/20100528155333_index_for_shipments_number.rb +0 -5
- data/db/migrate/20100528185820_add_index_on_users_persistence_token.rb +0 -7
- data/db/migrate/20100605152042_add_default_to_tax_categories.rb +0 -5
- data/db/migrate/20100624110730_add_display_to_shipping_methods.rb +0 -5
- data/db/migrate/20100624123336_rename_payment_method_display.rb +0 -5
- data/db/migrate/20100624175547_rename_preferences_field.rb +0 -5
- data/db/migrate/20100811163637_add_guest_flag.rb +0 -7
- data/db/migrate/20100811205836_drop_order_token.rb +0 -9
- data/db/migrate/20100812162326_payments_state_and_assigned_to_order_only.rb +0 -14
- data/db/migrate/20100813023502_create_address_keys_for_order.rb +0 -6
- data/db/migrate/20100813185745_payment_total_for_orders.rb +0 -5
- data/db/migrate/20100816212146_shipping_method_id_for_orders.rb +0 -5
- data/db/migrate/20100817152723_add_shipment_and_payment_state.rb +0 -6
- data/db/migrate/20100819170125_refactor_adjustments.rb +0 -29
- data/db/migrate/20100820135707_response_code_and_avs_response_for_payments.rb +0 -6
- data/db/migrate/20100901171814_change_guest_flag_to_anonymous.rb +0 -7
- data/db/migrate/20100903203949_email_for_orders.rb +0 -5
- data/db/migrate/20100923162011_create_mail_methods.rb +0 -10
- data/db/migrate/20100929151905_rename_frozen_to_locked.rb +0 -5
- data/db/migrate/20101008190536_move_special_instructions_to_orders.rb +0 -10
- data/db/migrate/20101026184700_create_log_entries.rb +0 -11
- data/db/migrate/20101026184714_migrate_transactions_to_payment_state.rb +0 -98
- data/db/migrate/20101026184746_delete_in_progress_orders.rb +0 -19
- data/db/migrate/20101026184808_migrate_checkout_to_orders.rb +0 -23
- data/db/migrate/20101026184855_remove_shipped_state.rb +0 -12
- data/db/migrate/20101026184916_prevent_nil_payment_total.rb +0 -8
- data/db/migrate/20101026184932_prevent_nil_email.rb +0 -9
- data/db/migrate/20101026184959_generate_anonymous_users.rb +0 -20
- data/db/migrate/20101026185022_update_order_state.rb +0 -12
- data/db/migrate/20101026192225_cleanup_legacy_tables.rb +0 -11
- data/db/migrate/20101028151745_remove_number_and_cvv_from_credicard.rb +0 -11
- data/db/migrate/20101103212716_drop_anonymous_field_for_user.rb +0 -11
- data/db/migrate/20101111133551_renamed_rma_cancelled_state.rb +0 -9
- data/db/migrate/20101117031806_fix_problematic_index_names.rb +0 -13
- data/db/migrate/20101223215658_add_position_to_variants.rb +0 -5
- data/db/migrate/20110110130847_add_next_state_to_state_events.rb +0 -5
- data/db/migrate/20110111122537_add_position_to_option_types.rb +0 -5
- data/db/migrate/20110314192118_remove_trailing_slashes_in_taxon_permalinks.rb +0 -19
- data/db/migrate/20110329141434_create_activators.rb +0 -14
- data/db/migrate/20110418151136_eligible_for_adjustments.rb +0 -5
- data/db/migrate/20111007143030_namespace_top_level_models.rb +0 -66
- data/db/migrate/20111107143030_migrate_namespaced_polymorphic_models.rb +0 -52
- data/db/migrate/20111201024007_make_adjustments_polymorphic.rb +0 -9
- data/db/migrate/20111215032408_add_company_to_addresses.rb +0 -5
- data/db/migrate/20111216154844_add_inc_tax_to_tax_rates.rb +0 -5
- data/db/migrate/20111219203242_rename_inc_price_attribute.rb +0 -5
- data/db/migrate/20111219205902_add_default_tax_zone.rb +0 -5
- data/db/migrate/20120105193911_associate_shipping_methods_and_shipping_categories.rb +0 -7
- data/db/migrate/20120105195817_add_match_rules_to_shipping_methods.rb +0 -7
- data/db/migrate/20120119024710_new_preferences.rb +0 -48
- data/db/migrate/20120203001428_rename_state_events_to_state_changes.rb +0 -9
- data/db/migrate/20120203153759_add_deleted_at_to_tax_category.rb +0 -5
- data/db/migrate/20120315064358_migrate_images_from_products_to_variants.rb +0 -37
- data/db/migrate/20120416233427_rename_attachment_size_to_attachment_file_size.rb +0 -5
- data/db/migrate/20120507232704_increase_scale_of_tax_rate_amount.rb +0 -9
- data/db/migrate/20120509055454_create_tokenized_permissions_table.rb +0 -16
- data/db/migrate/20120523061241_convert_sales_tax_to_default_tax.rb +0 -9
- data/db/migrate/20120530012000_rename_creditcards_to_credit_cards.rb +0 -11
- data/db/migrate/20120604030249_add_deleted_at_to_spree_shipping_methods.rb +0 -5
- data/db/migrate/20120604203654_remove_credit_total_from_orders.rb +0 -5
- data/db/migrate/20120712172620_add_counter_cache_to_zone_members.rb +0 -14
- data/db/migrate/20130203232234_add_identifier_to_spree_payments.rb +0 -5
- data/db/migrate/20130222032153_add_order_id_index_to_shipments.rb +0 -5
- data/lib/spree/core/authorize_net_cim_hack.rb +0 -871
- data/lib/spree/core/controller_helpers.rb +0 -185
- data/lib/spree/core/current_order.rb +0 -38
- data/lib/spree/core/file_utilz.rb +0 -74
- data/lib/tasks/assets.rake +0 -58
- data/vendor/assets/stylesheets/html5reset.css +0 -177
@@ -27,23 +27,23 @@ module Spree
|
|
27
27
|
end
|
28
28
|
|
29
29
|
add_search_scope :ascend_by_master_price do
|
30
|
-
joins(:master).order("#{
|
30
|
+
joins(:master => :default_price).order("#{price_table_name}.amount ASC")
|
31
31
|
end
|
32
32
|
|
33
33
|
add_search_scope :descend_by_master_price do
|
34
|
-
joins(:master).order("#{
|
34
|
+
joins(:master => :default_price).order("#{price_table_name}.amount DESC")
|
35
35
|
end
|
36
36
|
|
37
37
|
add_search_scope :price_between do |low, high|
|
38
|
-
joins(:master).where(
|
38
|
+
joins(:master => :default_price).where(Price.table_name => { :amount => low..high })
|
39
39
|
end
|
40
40
|
|
41
41
|
add_search_scope :master_price_lte do |price|
|
42
|
-
joins(:master).where("#{
|
42
|
+
joins(:master => :default_price).where("#{price_table_name}.amount <= ?", price)
|
43
43
|
end
|
44
44
|
|
45
45
|
add_search_scope :master_price_gte do |price|
|
46
|
-
joins(:master).where("#{
|
46
|
+
joins(:master => :default_price).where("#{price_table_name}.amount >= ?", price)
|
47
47
|
end
|
48
48
|
|
49
49
|
# This scope selects products in taxon AND all its descendants
|
@@ -64,13 +64,8 @@ module Spree
|
|
64
64
|
#
|
65
65
|
# SELECT COUNT(*) ...
|
66
66
|
add_search_scope :in_taxon do |taxon|
|
67
|
-
|
68
|
-
|
69
|
-
else
|
70
|
-
scope = select("DISTINCT(spree_products.id), spree_products.*")
|
71
|
-
end
|
72
|
-
|
73
|
-
scope.joins(:taxons).
|
67
|
+
select("DISTINCT(spree_products.id), spree_products.*").
|
68
|
+
joins(:taxons).
|
74
69
|
where(Taxon.table_name => { :id => taxon.self_and_descendants.map(&:id) })
|
75
70
|
end
|
76
71
|
|
@@ -193,14 +188,15 @@ module Spree
|
|
193
188
|
end
|
194
189
|
|
195
190
|
# Can't use add_search_scope for this as it needs a default argument
|
196
|
-
def self.available(available_on = nil)
|
197
|
-
where("#{Product.quoted_table_name}.available_on <= ?", available_on || Time.now)
|
191
|
+
def self.available(available_on = nil, currency = nil)
|
192
|
+
joins(:master => :prices).where("#{Product.quoted_table_name}.available_on <= ?", available_on || Time.now).where('spree_prices.currency' => currency || Spree::Config[:currency]).where('spree_prices.amount IS NOT NULL')
|
198
193
|
end
|
199
194
|
search_scopes << :available
|
200
195
|
|
201
|
-
|
202
|
-
not_deleted.available
|
196
|
+
def self.active(currency = nil)
|
197
|
+
not_deleted.available(nil, currency)
|
203
198
|
end
|
199
|
+
search_scopes << :active
|
204
200
|
|
205
201
|
add_search_scope :on_hand do
|
206
202
|
variants_table = Variant.table_name
|
@@ -211,23 +207,19 @@ module Spree
|
|
211
207
|
group("spree_products.id").joins(:taxons).where(Taxon.arel_table[:name].eq(name))
|
212
208
|
end
|
213
209
|
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
if (ActiveRecord::Base.connection.adapter_name == 'PostgreSQL')
|
218
|
-
# Need to check, otherwise `column_names` will fail
|
219
|
-
if table_exists?
|
220
|
-
group(column_names.map { |col_name| "#{table_name}.#{col_name}"})
|
221
|
-
end
|
222
|
-
else
|
223
|
-
group("#{self.quoted_table_name}.id")
|
210
|
+
if (ActiveRecord::Base.connection.adapter_name == 'PostgreSQL')
|
211
|
+
if table_exists?
|
212
|
+
scope :group_by_products_id, { :group => column_names.map { |col_name| "#{table_name}.#{col_name}"} }
|
224
213
|
end
|
214
|
+
else
|
215
|
+
scope :group_by_products_id, { :group => "#{self.quoted_table_name}.id" }
|
225
216
|
end
|
217
|
+
search_scopes << :group_by_products_id
|
226
218
|
|
227
219
|
private
|
228
220
|
|
229
|
-
def self.
|
230
|
-
|
221
|
+
def self.price_table_name
|
222
|
+
Price.quoted_table_name
|
231
223
|
end
|
232
224
|
|
233
225
|
# specifically avoid having an order for taxon search (conflicts with main order)
|
@@ -3,7 +3,7 @@ module Spree
|
|
3
3
|
has_and_belongs_to_many :properties, :join_table => :spree_properties_prototypes
|
4
4
|
has_and_belongs_to_many :option_types, :join_table => :spree_option_types_prototypes
|
5
5
|
|
6
|
-
attr_accessible :name
|
6
|
+
attr_accessible :name, :property_ids, :option_type_ids
|
7
7
|
|
8
8
|
validates :name, :presence => true
|
9
9
|
end
|
@@ -23,6 +23,14 @@ module Spree
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
+
def currency
|
27
|
+
order.nil? ? Spree::Config[:currency] : order.currency
|
28
|
+
end
|
29
|
+
|
30
|
+
def display_amount
|
31
|
+
Spree::Money.new(amount, { :currency => currency })
|
32
|
+
end
|
33
|
+
|
26
34
|
def add_variant(variant_id, quantity)
|
27
35
|
order_units = order.inventory_units.group_by(&:variant_id)
|
28
36
|
returned_units = inventory_units.group_by(&:variant_id)
|
@@ -28,7 +28,7 @@ module Spree
|
|
28
28
|
|
29
29
|
scope :with_state, lambda { |s| where(:state => s) }
|
30
30
|
scope :shipped, with_state('shipped')
|
31
|
-
scope :ready,
|
31
|
+
scope :ready, with_state('ready')
|
32
32
|
scope :pending, with_state('pending')
|
33
33
|
|
34
34
|
def to_param
|
@@ -42,14 +42,22 @@ module Spree
|
|
42
42
|
self.shipped_at = Time.now
|
43
43
|
end
|
44
44
|
|
45
|
+
def currency
|
46
|
+
order.nil? ? Spree::Config[:currency] : order.currency
|
47
|
+
end
|
48
|
+
|
45
49
|
# The adjustment amount associated with this shipment (if any.) Returns only the first adjustment to match
|
46
50
|
# the shipment but there should never really be more than one.
|
47
51
|
def cost
|
48
52
|
adjustment ? adjustment.amount : 0
|
49
53
|
end
|
50
|
-
|
51
54
|
alias_method :amount, :cost
|
52
55
|
|
56
|
+
def display_cost
|
57
|
+
Spree::Money.new(cost, { :currency => currency })
|
58
|
+
end
|
59
|
+
alias_method :display_amount, :display_cost
|
60
|
+
|
53
61
|
# shipment state machine (see http://github.com/pluginaweek/state_machine/tree/master for details)
|
54
62
|
state_machine :initial => 'pending', :use_transactions => false do
|
55
63
|
event :ready do
|
@@ -102,7 +110,7 @@ module Spree
|
|
102
110
|
# shipped if already shipped (ie. does not change the state)
|
103
111
|
# ready all other cases
|
104
112
|
def determine_state(order)
|
105
|
-
return 'pending' unless order.
|
113
|
+
return 'pending' unless order.complete?
|
106
114
|
return 'pending' if inventory_units.any? &:backordered?
|
107
115
|
return 'shipped' if state == 'shipped'
|
108
116
|
order.paid? ? 'ready' : 'pending'
|
@@ -113,7 +121,7 @@ module Spree
|
|
113
121
|
return number unless number.blank?
|
114
122
|
record = true
|
115
123
|
while record
|
116
|
-
random = "H#{Array.new(11)
|
124
|
+
random = "H#{Array.new(11){rand(9)}.join}"
|
117
125
|
record = self.class.where(:number => random).first
|
118
126
|
end
|
119
127
|
self.number = random
|
@@ -144,7 +152,7 @@ module Spree
|
|
144
152
|
end
|
145
153
|
|
146
154
|
def send_shipped_email
|
147
|
-
ShipmentMailer.shipped_email(self
|
155
|
+
ShipmentMailer.shipped_email(self).deliver
|
148
156
|
end
|
149
157
|
|
150
158
|
def ensure_correct_adjustment
|
@@ -30,7 +30,8 @@ module Spree
|
|
30
30
|
def available_to_order?(order, display_on= nil)
|
31
31
|
available?(order, display_on) &&
|
32
32
|
within_zone?(order) &&
|
33
|
-
category_match?(order)
|
33
|
+
category_match?(order) &&
|
34
|
+
currency_match?(order)
|
34
35
|
end
|
35
36
|
|
36
37
|
# Indicates whether or not the category rules for this shipping method
|
@@ -47,6 +48,14 @@ module Spree
|
|
47
48
|
end
|
48
49
|
end
|
49
50
|
|
51
|
+
def currency_match?(order)
|
52
|
+
calculator_currency.nil? || calculator_currency == order.currency
|
53
|
+
end
|
54
|
+
|
55
|
+
def calculator_currency
|
56
|
+
calculator.preferences[:currency]
|
57
|
+
end
|
58
|
+
|
50
59
|
def self.all_available(order, display_on = nil)
|
51
60
|
all.select { |method| method.available_to_order?(order,display_on) }
|
52
61
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Spree
|
2
|
-
class ShippingRate < Struct.new(:id, :shipping_method, :name, :cost)
|
2
|
+
class ShippingRate < Struct.new(:id, :shipping_method, :name, :cost, :currency)
|
3
3
|
def initialize(attributes = {})
|
4
4
|
attributes.each do |k, v|
|
5
5
|
self.send("#{k}=", v)
|
@@ -13,7 +13,7 @@ module Spree
|
|
13
13
|
price = cost
|
14
14
|
end
|
15
15
|
|
16
|
-
Spree::Money.new(price)
|
16
|
+
Spree::Money.new(price, { :currency => currency })
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
data/app/models/spree/taxon.rb
CHANGED
data/app/models/spree/variant.rb
CHANGED
@@ -7,45 +7,61 @@ module Spree
|
|
7
7
|
:meta_keywords, :tax_category
|
8
8
|
|
9
9
|
attr_accessible :name, :presentation, :cost_price, :lock_version,
|
10
|
-
:position, :on_hand, :option_value_ids,
|
10
|
+
:position, :on_demand, :on_hand, :option_value_ids,
|
11
11
|
:product_id, :option_values_attributes, :price,
|
12
|
-
:weight, :height, :width, :depth, :sku
|
12
|
+
:weight, :height, :width, :depth, :sku, :cost_currency
|
13
13
|
|
14
14
|
has_many :inventory_units
|
15
15
|
has_many :line_items
|
16
16
|
has_and_belongs_to_many :option_values, :join_table => :spree_option_values_variants
|
17
17
|
has_many :images, :as => :viewable, :order => :position, :dependent => :destroy
|
18
18
|
|
19
|
+
has_one :default_price,
|
20
|
+
:class_name => 'Spree::Price',
|
21
|
+
:conditions => proc { { :currency => Spree::Config[:currency] } },
|
22
|
+
:dependent => :destroy
|
23
|
+
|
24
|
+
delegate_belongs_to :default_price, :display_price, :display_amount, :price, :price=, :currency if Spree::Price.table_exists?
|
25
|
+
|
26
|
+
has_many :prices,
|
27
|
+
:class_name => 'Spree::Price',
|
28
|
+
:dependent => :destroy
|
29
|
+
|
19
30
|
validate :check_price
|
20
|
-
validates :price, :numericality => { :greater_than_or_equal_to => 0 }, :presence => true
|
31
|
+
validates :price, :numericality => { :greater_than_or_equal_to => 0 }, :presence => true, :if => proc { Spree::Config[:require_master_price] }
|
21
32
|
validates :cost_price, :numericality => { :greater_than_or_equal_to => 0, :allow_nil => true } if self.table_exists? && self.column_names.include?('cost_price')
|
22
33
|
validates :count_on_hand, :numericality => true
|
23
34
|
|
35
|
+
before_validation :set_cost_currency
|
24
36
|
after_save :process_backorders
|
25
|
-
after_save :
|
37
|
+
after_save :save_default_price
|
38
|
+
after_save :recalculate_product_on_hand, :if => :is_master?
|
26
39
|
|
27
40
|
# default variant scope only lists non-deleted variants
|
28
|
-
scope :active, lambda { where(:deleted_at => nil) }
|
29
41
|
scope :deleted, lambda { where('deleted_at IS NOT NULL') }
|
30
42
|
|
43
|
+
def self.active(currency = nil)
|
44
|
+
joins(:prices).where(:deleted_at => nil).where('spree_prices.currency' => currency || Spree::Config[:currency]).where('spree_prices.amount IS NOT NULL')
|
45
|
+
end
|
46
|
+
|
31
47
|
# Returns number of inventory units for this variant (new records haven't been saved to database, yet)
|
32
48
|
def on_hand
|
33
|
-
Spree::Config[:track_inventory_levels]
|
49
|
+
if Spree::Config[:track_inventory_levels] && !self.on_demand
|
50
|
+
count_on_hand
|
51
|
+
else
|
52
|
+
(1.0 / 0) # Infinity
|
53
|
+
end
|
34
54
|
end
|
35
55
|
|
36
56
|
# set actual attribute
|
37
57
|
def on_hand=(new_level)
|
38
|
-
if Spree::Config[:track_inventory_levels]
|
39
|
-
self.count_on_hand = new_level
|
40
|
-
else
|
58
|
+
if !Spree::Config[:track_inventory_levels]
|
41
59
|
raise 'Cannot set on_hand value when Spree::Config[:track_inventory_levels] is false'
|
60
|
+
else
|
61
|
+
self.count_on_hand = new_level unless self.on_demand
|
42
62
|
end
|
43
63
|
end
|
44
64
|
|
45
|
-
def price=(price)
|
46
|
-
self[:price] = parse_price(price) if price.present?
|
47
|
-
end
|
48
|
-
|
49
65
|
def cost_price=(price)
|
50
66
|
self[:cost_price] = parse_price(price) if price.present?
|
51
67
|
end
|
@@ -57,17 +73,21 @@ module Spree
|
|
57
73
|
|
58
74
|
# returns true if at least one inventory unit of this variant is "on_hand"
|
59
75
|
def in_stock?
|
60
|
-
Spree::Config[:track_inventory_levels]
|
76
|
+
if Spree::Config[:track_inventory_levels] && !self.on_demand
|
77
|
+
on_hand > 0
|
78
|
+
else
|
79
|
+
true
|
80
|
+
end
|
61
81
|
end
|
62
82
|
alias in_stock in_stock?
|
63
83
|
|
64
84
|
# returns true if this variant is allowed to be placed on a new order
|
65
85
|
def available?
|
66
|
-
Spree::Config[:track_inventory_levels] ? (Spree::Config[:allow_backorders] || in_stock?) : true
|
86
|
+
Spree::Config[:track_inventory_levels] ? (Spree::Config[:allow_backorders] || in_stock? || self.on_demand) : true
|
67
87
|
end
|
68
88
|
|
69
89
|
def options_text
|
70
|
-
values = self.option_values.
|
90
|
+
values = self.option_values.sort_by(&:position)
|
71
91
|
|
72
92
|
values.map! do |ov|
|
73
93
|
"#{ov.option_type.presentation}: #{ov.presentation}"
|
@@ -122,6 +142,24 @@ module Spree
|
|
122
142
|
self.option_values.detect { |o| o.option_type.name == opt_name }.try(:presentation)
|
123
143
|
end
|
124
144
|
|
145
|
+
def on_demand=(on_demand)
|
146
|
+
self[:on_demand] = on_demand
|
147
|
+
if on_demand
|
148
|
+
inventory_units.with_state('backordered').each(&:fill_backorder)
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
def has_default_price?
|
153
|
+
!self.default_price.nil?
|
154
|
+
end
|
155
|
+
|
156
|
+
def price_in(currency)
|
157
|
+
prices.select{ |price| price.currency == currency }.first || Spree::Price.new(:variant_id => self.id, :currency => currency)
|
158
|
+
end
|
159
|
+
|
160
|
+
def amount_in(currency)
|
161
|
+
price_in(currency).try(:amount)
|
162
|
+
end
|
125
163
|
|
126
164
|
private
|
127
165
|
|
@@ -129,7 +167,7 @@ module Spree
|
|
129
167
|
if count_changes = changes['count_on_hand']
|
130
168
|
new_level = count_changes.last
|
131
169
|
|
132
|
-
if Spree::Config[:track_inventory_levels]
|
170
|
+
if Spree::Config[:track_inventory_levels] && !self.on_demand
|
133
171
|
new_level = new_level.to_i
|
134
172
|
|
135
173
|
# update backorders if level is positive
|
@@ -145,6 +183,18 @@ module Spree
|
|
145
183
|
end
|
146
184
|
end
|
147
185
|
|
186
|
+
# Ensures a new variant takes the product master price when price is not supplied
|
187
|
+
def check_price
|
188
|
+
if price.nil? && Spree::Config[:require_master_price]
|
189
|
+
raise 'No master variant found to infer price' unless (product && product.master)
|
190
|
+
raise 'Must supply price for variant or master.price for product.' if self == product.master
|
191
|
+
self.price = product.master.price
|
192
|
+
end
|
193
|
+
if currency.nil?
|
194
|
+
self.currency = Spree::Config[:currency]
|
195
|
+
end
|
196
|
+
end
|
197
|
+
|
148
198
|
# strips all non-price-like characters from the price, taking into account locale settings
|
149
199
|
def parse_price(price)
|
150
200
|
return price unless price.is_a?(String)
|
@@ -157,20 +207,20 @@ module Spree
|
|
157
207
|
price.to_d
|
158
208
|
end
|
159
209
|
|
160
|
-
# Ensures a new variant takes the product master price when price is not supplied
|
161
|
-
def check_price
|
162
|
-
if price.nil?
|
163
|
-
raise 'Must supply price for variant or master.price for product.' if self == product.master
|
164
|
-
self.price = product.master.price
|
165
|
-
end
|
166
|
-
end
|
167
|
-
|
168
210
|
def recalculate_product_on_hand
|
169
211
|
on_hand = product.on_hand
|
170
212
|
if Spree::Config[:track_inventory_levels] && on_hand != (1.0 / 0) # Infinity
|
171
213
|
product.update_column(:count_on_hand, on_hand)
|
172
214
|
end
|
173
215
|
end
|
216
|
+
|
217
|
+
def save_default_price
|
218
|
+
default_price.save if default_price && (default_price.changed? || default_price.new_record?)
|
219
|
+
end
|
220
|
+
|
221
|
+
def set_cost_currency
|
222
|
+
self.cost_currency = Spree::Config[:currency] if cost_currency.nil? || cost_currency.empty?
|
223
|
+
end
|
174
224
|
end
|
175
225
|
end
|
176
226
|
|
data/app/models/spree/zone.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Spree
|
2
2
|
class Zone < ActiveRecord::Base
|
3
|
-
has_many :zone_members, :dependent => :destroy
|
3
|
+
has_many :zone_members, :dependent => :destroy, :class_name => "Spree::ZoneMember"
|
4
4
|
has_many :tax_rates, :dependent => :destroy
|
5
5
|
has_many :shipping_methods, :dependent => :nullify
|
6
6
|
|
@@ -0,0 +1,75 @@
|
|
1
|
+
<% address_id = address_type.chars.first %>
|
2
|
+
<div class="inner" data-hook=<%="#{address_type}_inner" %>>
|
3
|
+
<p class="field" id=<%="#{address_id}firstname" %>>
|
4
|
+
<%= form.label :firstname, t(:first_name) %><span class="required">*</span><br />
|
5
|
+
<%= form.text_field :firstname, :class => 'required' %>
|
6
|
+
</p>
|
7
|
+
<p class="field" id=<%="#{address_id}lastname" %>>
|
8
|
+
<%= form.label :lastname, t(:last_name) %><span class="required">*</span><br />
|
9
|
+
<%= form.text_field :lastname, :class => 'required' %>
|
10
|
+
</p>
|
11
|
+
<% if Spree::Config[:company] %>
|
12
|
+
<p class="field" id=<%="#{address_id}company" %>>
|
13
|
+
<%= form.label :company, t(:company) %><br />
|
14
|
+
<%= form.text_field :company %>
|
15
|
+
</p>
|
16
|
+
<% end %>
|
17
|
+
<p class="field" id=<%="#{address_id}address1" %>>
|
18
|
+
<%= form.label :address1, t(:street_address) %><span class="required">*</span><br />
|
19
|
+
<%= form.text_field :address1, :class => 'required' %>
|
20
|
+
</p>
|
21
|
+
<p class="field" id=<%="#{address_id}address2" %>>
|
22
|
+
<%= form.label :address2, t(:street_address_2) %><br />
|
23
|
+
<%= form.text_field :address2 %>
|
24
|
+
</p>
|
25
|
+
<p class="field" id=<%="#{address_id}city" %>>
|
26
|
+
<%= form.label :city, t(:city) %><span class="required">*</span><br />
|
27
|
+
<%= form.text_field :city, :class => 'required' %>
|
28
|
+
</p>
|
29
|
+
<p class="field" id=<%="#{address_id}country" %>>
|
30
|
+
<%= form.label :country_id, t(:country) %><span class="required">*</span><br />
|
31
|
+
<span id=<%="#{address_id}country-selection" %>>
|
32
|
+
<%= form.collection_select :country_id, available_countries, :id, :name, {}, {:class => 'required'} %>
|
33
|
+
</span>
|
34
|
+
</p>
|
35
|
+
|
36
|
+
<% if Spree::Config[:address_requires_state] %>
|
37
|
+
<p class="field" id=<%="#{address_id}state" %>>
|
38
|
+
<% have_states = !address.country.states.empty? %>
|
39
|
+
<%= form.label :state, t(:state) %><span class='required' id=<%="#{address_id}state-required"%>>*</span><br/>
|
40
|
+
|
41
|
+
<% state_elements = [
|
42
|
+
form.collection_select(:state_id, address.country.states,
|
43
|
+
:id, :name,
|
44
|
+
{:include_blank => true},
|
45
|
+
{:class => have_states ? 'required' : 'hidden',
|
46
|
+
:disabled => !have_states}) +
|
47
|
+
form.text_field(:state_name,
|
48
|
+
:class => !have_states ? 'required' : 'hidden',
|
49
|
+
:disabled => have_states)
|
50
|
+
].join.gsub('"', "'").gsub("\n", "")
|
51
|
+
%>
|
52
|
+
<%= javascript_tag do -%>
|
53
|
+
document.write("<%== state_elements %>");
|
54
|
+
<% end %>
|
55
|
+
</p>
|
56
|
+
<noscript>
|
57
|
+
<%= form.text_field :state_name, :class => 'required' %>
|
58
|
+
</noscript>
|
59
|
+
<% end %>
|
60
|
+
|
61
|
+
<p class="field" id=<%="#{address_id}zipcode" %>>
|
62
|
+
<%= form.label :zipcode, t(:zip) %><span class="required">*</span><br />
|
63
|
+
<%= form.text_field :zipcode, :class => 'required' %>
|
64
|
+
</p>
|
65
|
+
<p class="field" id=<%="#{address_id}phone" %>>
|
66
|
+
<%= form.label :phone, t(:phone) %><span class="required">*</span><br />
|
67
|
+
<%= form.phone_field :phone, :class => 'required' %>
|
68
|
+
</p>
|
69
|
+
<% if Spree::Config[:alternative_shipping_phone] %>
|
70
|
+
<p class="field" id=<%="#{address_id}altphone" %>>
|
71
|
+
<%= form.label :alternative_phone, t(:alternative_phone) %><br />
|
72
|
+
<%= form.phone_field :alternative_phone %>
|
73
|
+
</p>
|
74
|
+
<% end %>
|
75
|
+
</div>
|