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
@@ -0,0 +1,8 @@
|
|
1
|
+
class RemoveUnusedPreferenceColumns < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
# Columns have already been removed if the application was upgraded from an older version, but must be removed from new apps.
|
4
|
+
remove_column :spree_preferences, :name if ActiveRecord::Base.connection.column_exists?(:spree_preferences, :name)
|
5
|
+
remove_column :spree_preferences, :owner_id if ActiveRecord::Base.connection.column_exists?(:spree_preferences, :owner_id)
|
6
|
+
remove_column :spree_preferences, :owner_type if ActiveRecord::Base.connection.column_exists?(:spree_preferences, :owner_type)
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
class SplitPricesFromVariants < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
create_table :spree_prices do |t|
|
4
|
+
t.integer :variant_id, :null => false
|
5
|
+
t.decimal :amount, :precision => 8, :scale => 2, :null => false
|
6
|
+
t.string :currency
|
7
|
+
end
|
8
|
+
|
9
|
+
Spree::Variant.all.each do |variant|
|
10
|
+
Spree::Price.create!(
|
11
|
+
:variant_id => variant.id,
|
12
|
+
:amount => variant.price,
|
13
|
+
:currency => Spree::Config[:currency]
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
remove_column :spree_variants, :price
|
18
|
+
end
|
19
|
+
|
20
|
+
def down
|
21
|
+
add_column :spree_variants, :price, :decimal, :after => :sku, :scale => 8, :precision => 2
|
22
|
+
|
23
|
+
Spree::Variant.all.each do |variant|
|
24
|
+
variant.price = variant.default_price.amount
|
25
|
+
variant.save!
|
26
|
+
end
|
27
|
+
|
28
|
+
drop_table :spree_prices
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
class RemoveNotNullFromSpreePricesAmount < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
change_column :spree_prices, :amount, :decimal, :precision => 8, :scale => 2, :null => true
|
4
|
+
end
|
5
|
+
|
6
|
+
def down
|
7
|
+
change_column :spree_prices, :amount, :decimal, :precision => 8, :scale => 2, :null => false
|
8
|
+
end
|
9
|
+
end
|
@@ -1,6 +1,3 @@
|
|
1
|
-
<% if agent_number = ENV['TC_AGENT_NUMBER']
|
2
|
-
database_prefix = agent_number + "_"
|
3
|
-
end %>
|
4
1
|
<% case ENV['DB']
|
5
2
|
when 'sqlite' %>
|
6
3
|
development:
|
@@ -15,33 +12,33 @@ production:
|
|
15
12
|
<% when 'mysql' %>
|
16
13
|
development:
|
17
14
|
adapter: mysql2
|
18
|
-
database:
|
15
|
+
database: spree_development
|
19
16
|
username:
|
20
17
|
encoding: utf8
|
21
18
|
test:
|
22
19
|
adapter: mysql2
|
23
|
-
database:
|
20
|
+
database: spree_test
|
24
21
|
username:
|
25
22
|
encoding: utf8
|
26
23
|
production:
|
27
24
|
adapter: mysql2
|
28
|
-
database:
|
25
|
+
database: spree_production
|
29
26
|
username:
|
30
27
|
encoding: utf8
|
31
28
|
<% when 'postgres' %>
|
32
29
|
development:
|
33
30
|
adapter: postgresql
|
34
|
-
database:
|
31
|
+
database: spree_development
|
35
32
|
username: postgres
|
36
33
|
min_messages: warning
|
37
34
|
test:
|
38
35
|
adapter: postgresql
|
39
|
-
database:
|
36
|
+
database: spree_test
|
40
37
|
username: postgres
|
41
38
|
min_messages: warning
|
42
39
|
production:
|
43
40
|
adapter: postgresql
|
44
|
-
database:
|
41
|
+
database: spree_production
|
45
42
|
username: postgres
|
46
43
|
min_messages: warning
|
47
44
|
<% else %>
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# Configure Spree Preferences
|
2
|
-
#
|
2
|
+
#
|
3
3
|
# Note: Initializing preferences available within the Admin will overwrite any changes that were made through the user interface when you restart.
|
4
4
|
# If you would like users to be able to update a setting with the Admin it should NOT be set here.
|
5
5
|
#
|
6
|
-
# In order to initialize a setting do:
|
6
|
+
# In order to initialize a setting do:
|
7
7
|
# config.setting_name = 'new value'
|
8
8
|
Spree.config do |config|
|
9
9
|
# Example:
|
data/lib/spree/core.rb
CHANGED
@@ -77,12 +77,9 @@ require 'spree/core/ext/active_record'
|
|
77
77
|
require 'spree/core/delegate_belongs_to'
|
78
78
|
|
79
79
|
require 'spree/core/responder'
|
80
|
-
require 'spree/core/respond_with'
|
81
80
|
require 'spree/core/ssl_requirement'
|
82
81
|
require 'spree/core/store_helpers'
|
83
|
-
require 'spree/core/file_utilz'
|
84
82
|
require 'spree/core/calculated_adjustments'
|
85
|
-
require 'spree/core/current_order'
|
86
83
|
require 'spree/core/mail_settings'
|
87
84
|
require 'spree/core/mail_interceptor'
|
88
85
|
require 'spree/core/middleware/redirect_legacy_product_url'
|
@@ -91,10 +88,6 @@ require 'spree/core/permalinks'
|
|
91
88
|
require 'spree/core/token_resource'
|
92
89
|
require 'spree/core/s3_support'
|
93
90
|
|
94
|
-
silence_warnings do
|
95
|
-
require 'spree/core/authorize_net_cim_hack'
|
96
|
-
end
|
97
|
-
|
98
91
|
require 'spree/core/version'
|
99
92
|
|
100
93
|
require 'spree/core/engine'
|
@@ -3,21 +3,21 @@ module Spree
|
|
3
3
|
attr_reader :before_methods
|
4
4
|
attr_reader :after_methods
|
5
5
|
attr_reader :fails_methods
|
6
|
-
|
6
|
+
|
7
7
|
def initialize
|
8
8
|
@before_methods = []
|
9
9
|
@after_methods = []
|
10
10
|
@fails_methods = []
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
def before(method)
|
14
14
|
@before_methods << method
|
15
15
|
end
|
16
|
-
|
16
|
+
|
17
17
|
def after(method)
|
18
18
|
@after_methods << method
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
def fails(method)
|
22
22
|
@fails_methods << method
|
23
23
|
end
|
@@ -3,7 +3,7 @@ module Spree
|
|
3
3
|
module CalculatedAdjustments
|
4
4
|
module ClassMethods
|
5
5
|
def calculated_adjustments
|
6
|
-
has_one :calculator, :
|
6
|
+
has_one :calculator, :as => :calculable, :dependent => :destroy
|
7
7
|
accepts_nested_attributes_for :calculator
|
8
8
|
attr_accessible :calculator_type, :calculator_attributes
|
9
9
|
validates :calculator, :presence => true
|
@@ -13,7 +13,7 @@ module Spree
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
16
|
-
|
16
|
+
|
17
17
|
def calculator_type
|
18
18
|
calculator.class.to_s if calculator
|
19
19
|
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
module Spree
|
2
|
+
module Core
|
3
|
+
module ControllerHelpers
|
4
|
+
module Auth
|
5
|
+
def self.included(base)
|
6
|
+
base.class_eval do
|
7
|
+
include SslRequirement
|
8
|
+
|
9
|
+
helper_method :try_spree_current_user
|
10
|
+
|
11
|
+
rescue_from CanCan::AccessDenied do |exception|
|
12
|
+
return unauthorized
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# Needs to be overriden so that we use Spree's Ability rather than anyone else's.
|
18
|
+
def current_ability
|
19
|
+
@current_ability ||= Spree::Ability.new(try_spree_current_user)
|
20
|
+
end
|
21
|
+
|
22
|
+
# Redirect as appropriate when an access request fails. The default action is to redirect to the login screen.
|
23
|
+
# Override this method in your controllers if you want to have special behavior in case the user is not authorized
|
24
|
+
# to access the requested action. For example, a popup window might simply close itself.
|
25
|
+
def unauthorized
|
26
|
+
if try_spree_current_user
|
27
|
+
flash[:error] = t(:authorization_failure)
|
28
|
+
redirect_to '/unauthorized'
|
29
|
+
else
|
30
|
+
store_location
|
31
|
+
url = respond_to?(:spree_login_path) ? spree_login_path : root_path
|
32
|
+
redirect_to url
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def store_location
|
37
|
+
# disallow return to login, logout, signup pages
|
38
|
+
authentication_routes = [:spree_signup_path, :spree_login_path, :spree_logout_path]
|
39
|
+
disallowed_urls = []
|
40
|
+
authentication_routes.each do |route|
|
41
|
+
if respond_to?(route)
|
42
|
+
disallowed_urls << send(route)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
disallowed_urls.map!{ |url| url[/\/\w+$/] }
|
47
|
+
unless disallowed_urls.include?(request.fullpath)
|
48
|
+
session['user_return_to'] = request.fullpath.gsub('//', '/')
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
# proxy method to *possible* spree_current_user method
|
53
|
+
# Authentication extensions (such as spree_auth_devise) are meant to provide spree_current_user
|
54
|
+
def try_spree_current_user
|
55
|
+
respond_to?(:spree_current_user) ? spree_current_user : nil
|
56
|
+
end
|
57
|
+
|
58
|
+
def redirect_back_or_default(default)
|
59
|
+
redirect_to(session["user_return_to"] || default)
|
60
|
+
session["user_return_to"] = nil
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
module Spree
|
2
|
+
module Core
|
3
|
+
module ControllerHelpers
|
4
|
+
module Common
|
5
|
+
def self.included(base)
|
6
|
+
base.class_eval do
|
7
|
+
helper_method :title
|
8
|
+
helper_method :title=
|
9
|
+
helper_method :accurate_title
|
10
|
+
helper_method :current_order
|
11
|
+
helper_method :current_currency
|
12
|
+
|
13
|
+
layout :get_layout
|
14
|
+
|
15
|
+
before_filter :set_user_language
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
protected
|
20
|
+
|
21
|
+
# Convenience method for firing instrumentation events with the default payload hash
|
22
|
+
def fire_event(name, extra_payload = {})
|
23
|
+
ActiveSupport::Notifications.instrument(name, default_notification_payload.merge(extra_payload))
|
24
|
+
end
|
25
|
+
|
26
|
+
# Creates the hash that is sent as the payload for all notifications. Specific notifications will
|
27
|
+
# add additional keys as appropriate. Override this method if you need additional data when
|
28
|
+
# responding to a notification
|
29
|
+
def default_notification_payload
|
30
|
+
{:user => try_spree_current_user, :order => current_order}
|
31
|
+
end
|
32
|
+
|
33
|
+
# can be used in views as well as controllers.
|
34
|
+
# e.g. <% title = 'This is a custom title for this view' %>
|
35
|
+
attr_writer :title
|
36
|
+
|
37
|
+
def title
|
38
|
+
title_string = @title.present? ? @title : accurate_title
|
39
|
+
if title_string.present?
|
40
|
+
if Spree::Config[:always_put_site_name_in_title]
|
41
|
+
[default_title, title_string].join(' - ')
|
42
|
+
else
|
43
|
+
title_string
|
44
|
+
end
|
45
|
+
else
|
46
|
+
default_title
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def default_title
|
51
|
+
Spree::Config[:site_name]
|
52
|
+
end
|
53
|
+
|
54
|
+
# this is a hook for subclasses to provide title
|
55
|
+
def accurate_title
|
56
|
+
Spree::Config[:default_seo_title]
|
57
|
+
end
|
58
|
+
|
59
|
+
def current_currency
|
60
|
+
Spree::Config[:currency]
|
61
|
+
end
|
62
|
+
|
63
|
+
def render_404(exception = nil)
|
64
|
+
respond_to do |type|
|
65
|
+
type.html { render :status => :not_found, :file => "#{::Rails.root}/public/404", :formats => [:html], :layout => nil}
|
66
|
+
type.all { render :status => :not_found, :nothing => true }
|
67
|
+
end
|
68
|
+
end
|
69
|
+
private
|
70
|
+
|
71
|
+
def set_user_language
|
72
|
+
locale = session[:locale]
|
73
|
+
locale ||= Rails.application.config.i18n.default_locale
|
74
|
+
locale ||= I18n.default_locale unless I18n.available_locales.include?(locale.try(:to_sym))
|
75
|
+
I18n.locale = locale.to_sym
|
76
|
+
end
|
77
|
+
|
78
|
+
# Returns which layout to render.
|
79
|
+
#
|
80
|
+
# You can set the layout you want to render inside your Spree configuration with the +:layout+ option.
|
81
|
+
#
|
82
|
+
# Default layout is: +app/views/spree/layouts/spree_application+
|
83
|
+
#
|
84
|
+
def get_layout
|
85
|
+
layout ||= Spree::Config[:layout]
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
module Spree
|
2
|
+
module Core
|
3
|
+
module ControllerHelpers
|
4
|
+
module Order
|
5
|
+
def self.included(base)
|
6
|
+
base.class_eval do
|
7
|
+
helper_method :current_order
|
8
|
+
before_filter :set_current_order
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
# This should be overridden by an auth-related extension which would then have the
|
13
|
+
# opportunity to associate the new order with the # current user before saving.
|
14
|
+
def before_save_new_order
|
15
|
+
end
|
16
|
+
|
17
|
+
# This should be overridden by an auth-related extension which would then have the
|
18
|
+
# opporutnity to store tokens, etc. in the session # after saving.
|
19
|
+
def after_save_new_order
|
20
|
+
end
|
21
|
+
|
22
|
+
# The current incomplete order from the session for use in cart and during checkout
|
23
|
+
def current_order(create_order_if_necessary = false)
|
24
|
+
return @current_order if @current_order
|
25
|
+
if session[:order_id]
|
26
|
+
current_order = Spree::Order.find_by_id_and_currency(session[:order_id], current_currency, :include => :adjustments)
|
27
|
+
@current_order = current_order unless current_order.try(:completed?)
|
28
|
+
end
|
29
|
+
if create_order_if_necessary and (@current_order.nil? or @current_order.completed?)
|
30
|
+
@current_order = Spree::Order.new(currency: current_currency)
|
31
|
+
before_save_new_order
|
32
|
+
@current_order.save!
|
33
|
+
after_save_new_order
|
34
|
+
end
|
35
|
+
session[:order_id] = @current_order ? @current_order.id : nil
|
36
|
+
@current_order
|
37
|
+
end
|
38
|
+
|
39
|
+
def associate_user
|
40
|
+
@order ||= current_order
|
41
|
+
if try_spree_current_user && @order
|
42
|
+
if @order.user.blank? || @order.email.blank?
|
43
|
+
@order.associate_user!(try_spree_current_user)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# This will trigger any "first order" promotions to be triggered
|
48
|
+
# Assuming of course that this session variable was set correctly in
|
49
|
+
# the authentication provider's registrations controller
|
50
|
+
if session[:spree_user_signup]
|
51
|
+
fire_event('spree.user.signup', :user => try_spree_current_user, :order => current_order(true))
|
52
|
+
end
|
53
|
+
|
54
|
+
session[:guest_token] = nil
|
55
|
+
session[:spree_user_signup] = nil
|
56
|
+
end
|
57
|
+
|
58
|
+
def set_current_order
|
59
|
+
if user = try_spree_current_user
|
60
|
+
last_incomplete_order = user.last_incomplete_spree_order
|
61
|
+
if session[:order_id].nil? && last_incomplete_order
|
62
|
+
session[:order_id] = last_incomplete_order.id
|
63
|
+
elsif current_order && last_incomplete_order && current_order != last_incomplete_order
|
64
|
+
current_order.merge!(last_incomplete_order)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|