├── SPREE_VERSION ├── api ├── app │ ├── views │ │ └── spree │ │ │ └── api │ │ │ ├── orders │ │ │ ├── cart.v1.rabl │ │ │ ├── address.v1.rabl │ │ │ ├── canceled.v1.rabl │ │ │ ├── complete.v1.rabl │ │ │ ├── could_not_apply_coupon.v1.rabl │ │ │ ├── delivery.v1.rabl │ │ │ ├── invalid_shipping_method.v1.rabl │ │ │ ├── payment.v1.rabl │ │ │ ├── could_not_transition.v1.rabl │ │ │ ├── index.v1.rabl │ │ │ └── order.v1.rabl │ │ │ ├── products │ │ │ ├── product.v1.rabl │ │ │ ├── new.v1.rabl │ │ │ └── index.v1.rabl │ │ │ ├── states │ │ │ ├── show.v1.rabl │ │ │ └── index.v1.rabl │ │ │ ├── users │ │ │ ├── show.v1.rabl │ │ │ ├── new.v1.rabl │ │ │ └── index.v1.rabl │ │ │ ├── payments │ │ │ ├── show.v1.rabl │ │ │ ├── credit_over_limit.v1.rabl │ │ │ ├── new.v1.rabl │ │ │ └── index.v1.rabl │ │ │ ├── credit_cards │ │ │ └── show.v1.rabl │ │ │ ├── properties │ │ │ ├── show.v1.rabl │ │ │ ├── new.v1.rabl │ │ │ └── index.v1.rabl │ │ │ ├── option_values │ │ │ ├── show.v1.rabl │ │ │ └── index.v1.rabl │ │ │ ├── inventory_units │ │ │ └── show.rabl │ │ │ ├── config │ │ │ ├── show.v1.rabl │ │ │ └── money.v1.rabl │ │ │ ├── option_types │ │ │ ├── index.v1.rabl │ │ │ └── show.v1.rabl │ │ │ ├── product_properties │ │ │ ├── show.v1.rabl │ │ │ ├── new.v1.rabl │ │ │ └── index.v1.rabl │ │ │ ├── variants │ │ │ ├── new.v1.rabl │ │ │ ├── variant.v1.rabl │ │ │ └── show.v1.rabl │ │ │ ├── errors │ │ │ ├── not_found.v1.rabl │ │ │ ├── unauthorized.v1.rabl │ │ │ ├── gateway_error.v1.rabl │ │ │ ├── must_specify_api_key.v1.rabl │ │ │ ├── invalid_api_key.v1.rabl │ │ │ └── invalid_resource.v1.rabl │ │ │ ├── return_authorizations │ │ │ ├── show.v1.rabl │ │ │ ├── new.v1.rabl │ │ │ └── index.v1.rabl │ │ │ ├── taxons │ │ │ ├── index.v1.rabl │ │ │ ├── new.v1.rabl │ │ │ ├── taxons.v1.rabl │ │ │ ├── show.v1.rabl │ │ │ └── jstree.rabl │ │ │ ├── shared │ │ │ └── stock_location_required.v1.rabl │ │ │ ├── shipments │ │ │ └── cannot_ready_shipment.v1.rabl │ │ │ ├── adjustments │ │ │ └── show.v1.rabl │ │ │ ├── shipping_rates │ │ │ └── show.v1.rabl │ │ │ ├── line_items │ │ │ └── new.v1.rabl │ │ │ ├── stock_items │ │ │ ├── show.v1.rabl │ │ │ └── index.v1.rabl │ │ │ ├── taxonomies │ │ │ ├── new.v1.rabl │ │ │ ├── jstree.rabl │ │ │ ├── index.v1.rabl │ │ │ ├── nested.v1.rabl │ │ │ └── show.v1.rabl │ │ │ ├── countries │ │ │ ├── show.v1.rabl │ │ │ └── index.v1.rabl │ │ │ ├── stock_movements │ │ │ ├── show.v1.rabl │ │ │ └── index.v1.rabl │ │ │ ├── zones │ │ │ ├── show.v1.rabl │ │ │ └── index.v1.rabl │ │ │ ├── images │ │ │ └── show.v1.rabl │ │ │ └── stock_locations │ │ │ ├── show.v1.rabl │ │ │ └── index.v1.rabl │ ├── models │ │ └── spree │ │ │ ├── line_item_decorator.rb │ │ │ ├── option_value_decorator.rb │ │ │ ├── api_configuration.rb │ │ │ └── user_decorator.rb │ ├── controllers │ │ └── spree │ │ │ └── api │ │ │ └── config_controller.rb │ └── overrides │ │ └── api_admin_user_edit_form.rb ├── lib │ ├── spree_api.rb │ └── spree │ │ ├── api │ │ ├── version.rb │ │ └── responders.rb │ │ └── api.rb ├── spec │ ├── fixtures │ │ └── thinking-cat.jpg │ └── support │ │ └── database_cleaner.rb ├── config │ └── initializers │ │ └── metal_load_paths.rb ├── Gemfile ├── .gitignore ├── db │ └── migrate │ │ ├── 20120411123334_resize_api_key_field.rb │ │ ├── 20100107141738_add_api_key_to_spree_users.rb │ │ └── 20120530054546_rename_api_key_to_spree_api_key.rb └── script │ └── rails ├── core ├── lib │ ├── spree_core.rb │ ├── spree │ │ ├── i18n │ │ │ ├── initializer.rb │ │ │ └── base.rb │ │ ├── core │ │ │ ├── version.rb │ │ │ ├── gateway_error.rb │ │ │ └── environment │ │ │ │ └── calculators.rb │ │ ├── testing_support │ │ │ ├── factories │ │ │ │ ├── taxonomy_factory.rb │ │ │ │ ├── promotion_factory.rb │ │ │ │ ├── price_factory.rb │ │ │ │ ├── product_property_factory.rb │ │ │ │ ├── taxon_factory.rb │ │ │ │ ├── product_option_type_factory.rb │ │ │ │ ├── property_factory.rb │ │ │ │ ├── prototype_factory.rb │ │ │ │ ├── shipping_category_factory.rb │ │ │ │ ├── tracker_factory.rb │ │ │ │ ├── configuration_factory.rb │ │ │ │ ├── line_item_factory.rb │ │ │ │ ├── tax_category_factory.rb │ │ │ │ ├── role_factory.rb │ │ │ │ ├── country_factory.rb │ │ │ │ ├── tax_rate_factory.rb │ │ │ │ ├── activator_factory.rb │ │ │ │ ├── stock_item_factory.rb │ │ │ │ ├── stock_movement_factory.rb │ │ │ │ ├── inventory_unit_factory.rb │ │ │ │ ├── options_factory.rb │ │ │ │ └── state_factory.rb │ │ │ ├── url_helpers.rb │ │ │ └── extension_rake.rb │ │ └── promo │ │ │ └── environment.rb │ └── generators │ │ └── spree │ │ ├── dummy │ │ └── templates │ │ │ ├── initializers │ │ │ └── custom_user.rb │ │ │ └── rails │ │ │ ├── routes.rb │ │ │ ├── boot.rb │ │ │ ├── application.rb │ │ │ └── script │ │ │ └── rails │ │ └── custom_user │ │ └── templates │ │ ├── initializer.rb.tt │ │ └── migration.rb.tt ├── spec │ ├── support │ │ ├── test_gateway.rb │ │ └── big_decimal.rb │ ├── models │ │ └── spree │ │ │ ├── image_spec.rb │ │ │ ├── configuration_spec.rb │ │ │ ├── shipping_category_spec.rb │ │ │ ├── product_option_type_spec.rb │ │ │ ├── calculator │ │ │ └── shipping.rb │ │ │ ├── promotion_action_spec.rb │ │ │ ├── product_property_spec.rb │ │ │ └── activator_spec.rb │ └── fixtures │ │ └── thinking-cat.jpg ├── Gemfile ├── db │ ├── default │ │ └── spree │ │ │ └── roles.rb │ ├── migrate │ │ ├── 20120905145253_add_tax_rate_label.rb │ │ ├── 20121107194006_add_currency_to_orders.rb │ │ ├── 20130514151929_add_sku_index_to_spree_variants.rb │ │ ├── 20130423110707_drop_products_count_on_hand.rb │ │ ├── 20130611185927_add_user_id_index_to_spree_orders.rb │ │ ├── 20121107184631_add_currency_to_line_items.rb │ │ ├── 20130222032153_add_order_id_index_to_shipments.rb │ │ ├── 20121126040517_add_last_ip_to_spree_orders.rb │ │ ├── 20130203232234_add_identifier_to_spree_payments.rb │ │ ├── 20121124203911_add_position_to_taxonomies.rb │ │ ├── 20130708052307_add_deleted_at_to_spree_tax_rates.rb │ │ ├── 20121009142519_add_lock_version_to_variant.rb │ │ ├── 20121111231553_remove_display_on_from_payment_methods.rb │ │ ├── 20130326175857_add_stock_location_to_rma.rb │ │ ├── 20130208032954_add_primary_to_spree_products_taxons.rb │ │ ├── 20120905151823_add_toggle_tax_rate_display.rb │ │ ├── 20121109173623_add_cost_currency_to_variants.rb │ │ ├── 20121010142909_add_states_required_to_countries.rb │ │ ├── 20130226191231_add_stock_location_id_to_spree_shipments.rb │ │ ├── 20130306195650_add_backorderable_to_stock_item.rb │ │ ├── 20130718042445_add_cost_price_to_line_item.rb │ │ ├── 20130301205200_add_tracking_url_to_spree_shipping_methods.rb │ │ ├── 20130306191917_add_active_field_to_stock_locations.rb │ │ ├── 20130307161754_add_default_quantity_to_stock_movement.rb │ │ ├── 20130120201805_add_position_to_product_properties.spree.rb │ │ ├── 20130423223847_set_default_shipping_rate_cost.rb │ │ ├── 20121213162028_add_state_to_spree_adjustments.rb │ │ ├── 20130301162745_remove_shipping_category_id_from_shipping_method.rb │ │ ├── 20130226032817_change_meta_description_on_spree_products_to_text.rb │ │ ├── 20130228164411_remove_on_demand_from_product_and_variant.rb │ │ ├── 20130319183250_add_originator_to_stock_movement.rb │ │ ├── 20130516151222_add_propage_all_variants_to_spree_stock_location.rb │ │ ├── 20130515180736_add_backorderable_default_to_spree_stock_location.rb │ │ ├── 20130628021056_add_unique_index_to_permalink_on_spree_products.rb │ │ ├── 20130611054351_rename_shipping_methods_zones_to_spree_shipping_methods_zones.rb │ │ ├── 20130207155350_add_order_id_index_to_payments.rb │ │ ├── 20130227143905_add_pending_to_inventory_unit.rb │ │ ├── 20130619012236_add_updated_at_to_spree_states.rb │ │ ├── 20130711200933_remove_lock_version_from_inventory_units.rb │ │ ├── 20130319082943_change_adjustments_amount_precision.rb │ │ ├── 20130618041418_add_updated_at_to_spree_countries.rb │ │ ├── 20121012071449_add_on_demand_to_product_and_variant.rb │ │ ├── 20130328195253_add_seo_metas_to_taxons.rb │ │ ├── 20130114053446_add_display_on_to_spree_payment_methods.rb │ │ ├── 20130319063911_change_spree_payments_amount_precision.rb │ │ ├── 20130626232741_add_cvv_result_code_and_cvv_result_message_to_spree_payments.rb │ │ ├── 20130318151756_add_source_and_destination_to_stock_movements.rb │ │ ├── 20130718233855_set_backorderable_to_default_to_false.rb │ │ ├── 20130211191120_create_spree_stock_locations.rb │ │ ├── 20130304192936_remove_category_match_attributes_from_shipping_method.rb │ │ ├── 20130325163316_migrate_inventory_unit_sold_to_on_hand.rb │ │ ├── 20130319064308_change_spree_return_authorization_amount_precision.rb │ │ ├── 20130305143310_create_stock_movements.rb │ │ └── 20121107003422_remove_not_null_from_spree_prices_amount.rb │ └── seeds.rb ├── app │ ├── models │ │ └── spree │ │ │ ├── configuration.rb │ │ │ ├── tokenized_permission.rb │ │ │ ├── asset.rb │ │ │ ├── role.rb │ │ │ ├── classification.rb │ │ │ ├── product_option_type.rb │ │ │ ├── shipping_method_category.rb │ │ │ ├── promotion_action_line_item.rb │ │ │ ├── promotion │ │ │ └── rules │ │ │ │ └── user_logged_in.rb │ │ │ ├── shipping_category.rb │ │ │ ├── tracker.rb │ │ │ ├── state_change.rb │ │ │ ├── prototype.rb │ │ │ └── option_value.rb │ ├── assets │ │ ├── images │ │ │ ├── logo │ │ │ │ └── spree_50.png │ │ │ └── noimage │ │ │ │ ├── large.png │ │ │ │ ├── mini.png │ │ │ │ ├── small.png │ │ │ │ └── product.png │ │ └── javascripts │ │ │ └── admin │ │ │ └── handlebar_extensions.js │ ├── views │ │ └── spree │ │ │ └── shared │ │ │ └── _routes.html.erb │ ├── mailers │ │ └── spree │ │ │ ├── base_mailer.rb │ │ │ └── test_mailer.rb │ └── helpers │ │ └── spree │ │ ├── orders_helper.rb │ │ └── store_helper.rb └── script │ └── rails ├── cmd ├── lib │ ├── spree_cmd │ │ ├── templates │ │ │ └── extension │ │ │ │ ├── rspec │ │ │ │ ├── app │ │ │ │ └── assets │ │ │ │ │ ├── javascripts │ │ │ │ │ ├── admin │ │ │ │ │ │ └── %file_name%.js │ │ │ │ │ └── store │ │ │ │ │ │ └── %file_name%.js │ │ │ │ │ └── stylesheets │ │ │ │ │ ├── admin │ │ │ │ │ └── %file_name%.css │ │ │ │ │ └── store │ │ │ │ │ └── %file_name%.css │ │ │ │ ├── lib │ │ │ │ ├── %file_name%.rb.tt │ │ │ │ └── %file_name% │ │ │ │ │ └── factories.rb.tt │ │ │ │ ├── config │ │ │ │ ├── routes.rb │ │ │ │ └── locales │ │ │ │ │ └── en.yml │ │ │ │ ├── gitignore │ │ │ │ ├── Gemfile │ │ │ │ └── script │ │ │ │ └── rails.tt │ │ └── version.rb │ └── spree_cmd.rb ├── bin │ ├── spree │ └── spree_cmd ├── CHANGELOG.md └── Rakefile ├── frontend ├── app │ ├── views │ │ └── spree │ │ │ ├── shared │ │ │ ├── unauthorized.html.erb │ │ │ ├── _sidebar.html.erb │ │ │ ├── _nav_bar.html.erb │ │ │ ├── _header.html.erb │ │ │ ├── _main_nav_bar.html.erb │ │ │ ├── _shipment_tracking.html.erb │ │ │ ├── _footer.html.erb │ │ │ └── _taxonomies.html.erb │ │ │ ├── checkout │ │ │ └── payment │ │ │ │ └── _check.html.erb │ │ │ ├── products │ │ │ └── _image.html.erb │ │ │ ├── taxons │ │ │ └── _taxon.html.erb │ │ │ ├── orders │ │ │ └── new.html.erb │ │ │ └── home │ │ │ └── index.html.erb │ ├── assets │ │ ├── images │ │ │ ├── favicon.ico │ │ │ ├── spinner.gif │ │ │ ├── store │ │ │ │ ├── cart.png │ │ │ │ └── select_arrow.gif │ │ │ ├── icons │ │ │ │ ├── checkout.png │ │ │ │ ├── delete.png │ │ │ │ ├── update.png │ │ │ │ └── add-to-cart.png │ │ │ └── credit_cards │ │ │ │ ├── amex_cid.gif │ │ │ │ ├── visa_cid.gif │ │ │ │ ├── credit_card.gif │ │ │ │ ├── icons │ │ │ │ ├── delta.png │ │ │ │ ├── egold.png │ │ │ │ ├── solo.png │ │ │ │ ├── visa.png │ │ │ │ ├── cirrus.png │ │ │ │ ├── maestro.png │ │ │ │ ├── master.png │ │ │ │ ├── paypal.png │ │ │ │ ├── switch.png │ │ │ │ ├── discover.png │ │ │ │ ├── wirecard.png │ │ │ │ ├── worldpay.png │ │ │ │ ├── diners_club.png │ │ │ │ ├── directdebit.png │ │ │ │ ├── visaelectron.png │ │ │ │ ├── westernunion.png │ │ │ │ └── american_express.png │ │ │ │ ├── master_cid.jpg │ │ │ │ └── discover_cid.gif │ │ ├── javascripts │ │ │ └── store │ │ │ │ └── spree_frontend.js │ │ └── stylesheets │ │ │ └── store │ │ │ └── spree_frontend.css │ └── models │ │ └── spree │ │ └── frontend_configuration.rb ├── lib │ ├── spree_frontend.rb │ └── tasks │ │ └── rake_util.rb ├── spec │ ├── fixtures │ │ └── thinking-cat.jpg │ ├── helpers │ │ └── base_helper_spec.rb │ └── controllers │ │ └── spree │ │ └── content_controller_spec.rb ├── vendor │ └── assets │ │ ├── images │ │ ├── flags │ │ │ ├── ad.png │ │ │ ├── ae.png │ │ │ ├── af.png │ │ │ ├── ag.png │ │ │ ├── ai.png │ │ │ ├── al.png │ │ │ ├── am.png │ │ │ ├── an.png │ │ │ ├── ao.png │ │ │ ├── ar.png │ │ │ ├── as.png │ │ │ ├── at.png │ │ │ ├── au.png │ │ │ ├── aw.png │ │ │ ├── ax.png │ │ │ ├── az.png │ │ │ ├── ba.png │ │ │ ├── bb.png │ │ │ ├── bd.png │ │ │ ├── be.png │ │ │ ├── bf.png │ │ │ ├── bg.png │ │ │ ├── bh.png │ │ │ ├── bi.png │ │ │ ├── bj.png │ │ │ ├── bm.png │ │ │ ├── bn.png │ │ │ ├── bo.png │ │ │ ├── br.png │ │ │ ├── bs.png │ │ │ ├── bt.png │ │ │ ├── bv.png │ │ │ ├── bw.png │ │ │ ├── by.png │ │ │ ├── bz.png │ │ │ ├── ca.png │ │ │ ├── cc.png │ │ │ ├── cd.png │ │ │ ├── cf.png │ │ │ ├── cg.png │ │ │ ├── ch.png │ │ │ ├── ci.png │ │ │ ├── ck.png │ │ │ ├── cl.png │ │ │ ├── cm.png │ │ │ ├── cn.png │ │ │ ├── co.png │ │ │ ├── cr.png │ │ │ ├── cs.png │ │ │ ├── cu.png │ │ │ ├── cv.png │ │ │ ├── cx.png │ │ │ ├── cy.png │ │ │ ├── cz.png │ │ │ ├── de.png │ │ │ ├── dj.png │ │ │ ├── dk.png │ │ │ ├── dm.png │ │ │ ├── do.png │ │ │ ├── dz.png │ │ │ ├── ec.png │ │ │ ├── ee.png │ │ │ ├── eg.png │ │ │ ├── eh.png │ │ │ ├── er.png │ │ │ ├── es.png │ │ │ ├── et.png │ │ │ ├── fi.png │ │ │ ├── fj.png │ │ │ ├── fk.png │ │ │ ├── fm.png │ │ │ ├── fo.png │ │ │ ├── fr.png │ │ │ ├── ga.png │ │ │ ├── gb.png │ │ │ ├── gd.png │ │ │ ├── ge.png │ │ │ ├── gf.png │ │ │ ├── gh.png │ │ │ ├── gi.png │ │ │ ├── gl.png │ │ │ ├── gm.png │ │ │ ├── gn.png │ │ │ ├── gp.png │ │ │ ├── gq.png │ │ │ ├── gr.png │ │ │ ├── gs.png │ │ │ ├── gt.png │ │ │ ├── gu.png │ │ │ ├── gw.png │ │ │ ├── gy.png │ │ │ ├── hk.png │ │ │ ├── hm.png │ │ │ ├── hn.png │ │ │ ├── hr.png │ │ │ ├── ht.png │ │ │ ├── hu.png │ │ │ ├── id.png │ │ │ ├── ie.png │ │ │ ├── il.png │ │ │ ├── in.png │ │ │ ├── io.png │ │ │ ├── iq.png │ │ │ ├── ir.png │ │ │ ├── is.png │ │ │ ├── it.png │ │ │ ├── ja.png │ │ │ ├── jm.png │ │ │ ├── jo.png │ │ │ ├── ke.png │ │ │ ├── kg.png │ │ │ ├── kh.png │ │ │ ├── ki.png │ │ │ ├── km.png │ │ │ ├── kn.png │ │ │ ├── kp.png │ │ │ ├── kr.png │ │ │ ├── kw.png │ │ │ ├── ky.png │ │ │ ├── kz.png │ │ │ ├── la.png │ │ │ ├── lb.png │ │ │ ├── lc.png │ │ │ ├── li.png │ │ │ ├── lk.png │ │ │ ├── lr.png │ │ │ ├── ls.png │ │ │ ├── lt.png │ │ │ ├── lu.png │ │ │ ├── lv.png │ │ │ ├── ly.png │ │ │ ├── ma.png │ │ │ ├── mc.png │ │ │ ├── md.png │ │ │ ├── me.png │ │ │ ├── mg.png │ │ │ ├── mh.png │ │ │ ├── mk.png │ │ │ ├── ml.png │ │ │ ├── mm.png │ │ │ ├── mn.png │ │ │ ├── mo.png │ │ │ ├── mp.png │ │ │ ├── mq.png │ │ │ ├── mr.png │ │ │ ├── ms.png │ │ │ ├── mt.png │ │ │ ├── mu.png │ │ │ ├── mv.png │ │ │ ├── mw.png │ │ │ ├── mx.png │ │ │ ├── my.png │ │ │ ├── mz.png │ │ │ ├── na.png │ │ │ ├── nc.png │ │ │ ├── ne.png │ │ │ ├── nf.png │ │ │ ├── ng.png │ │ │ ├── ni.png │ │ │ ├── nl.png │ │ │ ├── no.png │ │ │ ├── np.png │ │ │ ├── nr.png │ │ │ ├── nu.png │ │ │ ├── nz.png │ │ │ ├── om.png │ │ │ ├── pa.png │ │ │ ├── pe.png │ │ │ ├── pf.png │ │ │ ├── pg.png │ │ │ ├── ph.png │ │ │ ├── pk.png │ │ │ ├── pl.png │ │ │ ├── pm.png │ │ │ ├── pn.png │ │ │ ├── pr.png │ │ │ ├── ps.png │ │ │ ├── pt.png │ │ │ ├── pw.png │ │ │ ├── py.png │ │ │ ├── qa.png │ │ │ ├── re.png │ │ │ ├── ro.png │ │ │ ├── rs.png │ │ │ ├── ru.png │ │ │ ├── rw.png │ │ │ ├── sa.png │ │ │ ├── sb.png │ │ │ ├── sc.png │ │ │ ├── sd.png │ │ │ ├── se.png │ │ │ ├── sg.png │ │ │ ├── sh.png │ │ │ ├── si.png │ │ │ ├── sj.png │ │ │ ├── sk.png │ │ │ ├── sl.png │ │ │ ├── sm.png │ │ │ ├── sn.png │ │ │ ├── so.png │ │ │ ├── sr.png │ │ │ ├── st.png │ │ │ ├── sv.png │ │ │ ├── sy.png │ │ │ ├── sz.png │ │ │ ├── tc.png │ │ │ ├── td.png │ │ │ ├── tf.png │ │ │ ├── tg.png │ │ │ ├── th.png │ │ │ ├── tj.png │ │ │ ├── tk.png │ │ │ ├── tl.png │ │ │ ├── tm.png │ │ │ ├── tn.png │ │ │ ├── to.png │ │ │ ├── tr.png │ │ │ ├── tt.png │ │ │ ├── tv.png │ │ │ ├── tw.png │ │ │ ├── tz.png │ │ │ ├── ua.png │ │ │ ├── ug.png │ │ │ ├── um.png │ │ │ ├── us.png │ │ │ ├── uy.png │ │ │ ├── uz.png │ │ │ ├── va.png │ │ │ ├── vc.png │ │ │ ├── ve.png │ │ │ ├── vg.png │ │ │ ├── vi.png │ │ │ ├── vn.png │ │ │ ├── vu.png │ │ │ ├── wf.png │ │ │ ├── ws.png │ │ │ ├── ye.png │ │ │ ├── yt.png │ │ │ ├── za.png │ │ │ ├── zm.png │ │ │ ├── zw.png │ │ │ ├── fam.png │ │ │ ├── wales.png │ │ │ ├── england.png │ │ │ ├── catalonia.png │ │ │ ├── scotland.png │ │ │ └── europeanunion.png │ │ ├── datepicker │ │ │ └── cal.gif │ │ └── jquery.formalize │ │ │ ├── button.png │ │ │ └── select_arrow.gif │ │ └── javascripts │ │ └── jquery.validate │ │ └── localization │ │ ├── methods_pt.js │ │ └── methods_nl.js ├── Gemfile ├── config │ └── initializers │ │ ├── spree.rb │ │ └── rails_5868.rb ├── CHANGELOG.md ├── README.md └── script │ └── rails ├── backend ├── lib │ └── spree_backend.rb ├── app │ ├── views │ │ └── spree │ │ │ ├── admin │ │ │ ├── payments │ │ │ │ ├── source_forms │ │ │ │ │ └── _check.html.erb │ │ │ │ └── source_views │ │ │ │ │ └── _check.html.erb │ │ │ ├── promotions │ │ │ │ ├── rules │ │ │ │ │ ├── _first_order.html.erb │ │ │ │ │ ├── _user_logged_in.html.erb │ │ │ │ │ └── _user.html.erb │ │ │ │ └── _tab.html.erb │ │ │ ├── properties │ │ │ │ ├── filtered.html.erb │ │ │ │ └── new.js.erb │ │ │ ├── stock_items │ │ │ │ └── destroy.js.erb │ │ │ ├── promotion_actions │ │ │ │ └── destroy.js.erb │ │ │ ├── tax_categories │ │ │ │ └── show.html.erb │ │ │ ├── taxons │ │ │ │ └── search.rabl │ │ │ ├── line_items │ │ │ │ ├── create.js.erb │ │ │ │ └── destroy.js.erb │ │ │ ├── prototypes │ │ │ │ ├── available.js.erb │ │ │ │ ├── select.js.erb │ │ │ │ └── new.js.erb │ │ │ ├── promotion_rules │ │ │ │ └── destroy.js.erb │ │ │ ├── states │ │ │ │ └── new.js.erb │ │ │ ├── option_types │ │ │ │ └── new.js.erb │ │ │ ├── variants │ │ │ │ └── new.js.erb │ │ │ ├── shipping_categories │ │ │ │ └── _form.html.erb │ │ │ ├── shared │ │ │ │ ├── _sub_menu.html.erb │ │ │ │ ├── _edit_resource_links.html.erb │ │ │ │ ├── _new_resource_links.html.erb │ │ │ │ ├── _alert.html.erb │ │ │ │ ├── _menu.html.erb │ │ │ │ ├── _show_resource_links.html.erb │ │ │ │ ├── _sidebar.html.erb │ │ │ │ ├── _product_sub_menu.html.erb │ │ │ │ └── _table_filter.html.erb │ │ │ ├── zones │ │ │ │ ├── _country_member.html.erb │ │ │ │ └── _state_member.html.erb │ │ │ ├── products │ │ │ │ └── new.js.erb │ │ │ └── taxonomies │ │ │ │ └── _form.html.erb │ │ │ └── test_mailer │ │ │ └── test_email.text.erb │ ├── assets │ │ ├── stylesheets │ │ │ ├── store │ │ │ │ └── backend.css │ │ │ └── admin │ │ │ │ ├── sections │ │ │ │ ├── _image_settings.scss │ │ │ │ └── _bulk_transfer.scss │ │ │ │ ├── components │ │ │ │ ├── _table-filter.scss │ │ │ │ └── _pagination.scss │ │ │ │ └── hacks │ │ │ │ └── _opera.scss │ │ ├── javascripts │ │ │ ├── store │ │ │ │ └── backend.js │ │ │ └── admin │ │ │ │ ├── images │ │ │ │ ├── new.js.coffee │ │ │ │ └── index.js.coffee │ │ │ │ └── stock_management.js.coffee │ │ └── images │ │ │ ├── admin │ │ │ ├── progress.gif │ │ │ └── payment_banner.png │ │ │ └── credit_cards │ │ │ └── credit_card.gif │ ├── controllers │ │ └── spree │ │ │ └── admin │ │ │ ├── trackers_controller.rb │ │ │ ├── inventory_units_controller.rb │ │ │ ├── shipping_categories_controller.rb │ │ │ ├── countries_controller.rb │ │ │ ├── option_values_controller.rb │ │ │ └── overview_controller.rb │ ├── models │ │ └── spree │ │ │ └── backend_configuration.rb │ └── helpers │ │ └── spree │ │ └── admin │ │ ├── inventory_settings_helper.rb │ │ ├── taxons_helper.rb │ │ ├── stock_movements_helper.rb │ │ ├── payments_helper.rb │ │ └── tables_helper.rb ├── spec │ ├── support │ │ └── ror_ringer.jpeg │ └── controllers │ │ └── spree │ │ └── admin │ │ └── reports_controller_spec.rb ├── vendor │ └── assets │ │ ├── fonts │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.ttf │ │ └── fontawesome-webfont.woff │ │ ├── images │ │ ├── jquery.alerts │ │ │ └── images │ │ │ │ ├── help.gif │ │ │ │ ├── info.gif │ │ │ │ ├── title.gif │ │ │ │ └── important.gif │ │ └── jquery-ui │ │ │ ├── ui-icons_0073ea_256x240.png │ │ │ ├── ui-icons_454545_256x240.png │ │ │ ├── ui-icons_666666_256x240.png │ │ │ ├── ui-icons_ff0084_256x240.png │ │ │ ├── ui-icons_ffffff_256x240.png │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ │ │ ├── ui-bg_flat_0_eeeeee_40x100.png │ │ │ ├── ui-bg_flat_55_ffffff_40x100.png │ │ │ ├── ui-bg_flat_75_ffffff_40x100.png │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ ├── ui-bg_highlight-soft_100_f6f6f6_1x100.png │ │ │ ├── ui-bg_highlight-soft_25_0073ea_1x100.png │ │ │ └── ui-bg_highlight-soft_50_dddddd_1x100.png │ │ └── javascripts │ │ ├── jquery.jstree │ │ └── themes │ │ │ └── apple │ │ │ ├── bg.jpg │ │ │ ├── d.png │ │ │ ├── dot_for_ie.gif │ │ │ └── throbber.gif │ │ └── jquery.vAlign.js └── Gemfile ├── sample └── db │ ├── samples │ ├── line_items.rb │ ├── shipping_categories.rb │ ├── images │ │ ├── ror_bag.jpeg │ │ ├── ror_mug.jpeg │ │ ├── ror_ringer.jpeg │ │ ├── ror_stein.jpeg │ │ ├── ror_tote.jpeg │ │ ├── spree_bag.jpeg │ │ ├── spree_mug.jpeg │ │ ├── ror_baseball.jpeg │ │ ├── ror_mug_back.jpeg │ │ ├── ruby_baseball.png │ │ ├── spree_jersey.jpeg │ │ ├── spree_stein.jpeg │ │ ├── apache_baseball.png │ │ ├── ror_ringer_back.jpeg │ │ ├── ror_stein_back.jpeg │ │ ├── ror_tote_back.jpeg │ │ ├── spree_mug_back.jpeg │ │ ├── spree_ringer_t.jpeg │ │ ├── spree_spaghetti.jpeg │ │ ├── spree_tote_back.jpeg │ │ ├── ror_baseball_back.jpeg │ │ ├── ror_jr_spaghetti.jpeg │ │ ├── spree_jersey_back.jpeg │ │ ├── spree_stein_back.jpeg │ │ ├── spree_tote_front.jpeg │ │ ├── spree_ringer_t_back.jpeg │ │ ├── ror_baseball_jersey_red.png │ │ ├── ror_baseball_jersey_blue.png │ │ ├── ror_baseball_jersey_green.png │ │ ├── ror_baseball_jersey_back_red.png │ │ ├── ror_baseball_jersey_back_blue.png │ │ └── ror_baseball_jersey_back_green.png │ ├── tax_categories.rb │ ├── taxonomies.rb │ └── option_types.rb │ └── samples.rb ├── Gemfile └── lib └── spree.rb /SPREE_VERSION: -------------------------------------------------------------------------------- 1 | 2.1.0.beta 2 | -------------------------------------------------------------------------------- /api/app/views/spree/api/orders/cart.v1.rabl: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/app/views/spree/api/orders/address.v1.rabl: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/app/views/spree/api/orders/canceled.v1.rabl: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/app/views/spree/api/orders/complete.v1.rabl: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/lib/spree_core.rb: -------------------------------------------------------------------------------- 1 | require 'spree/core' 2 | -------------------------------------------------------------------------------- /cmd/lib/spree_cmd/templates/extension/rspec: -------------------------------------------------------------------------------- 1 | --color -------------------------------------------------------------------------------- /frontend/app/views/spree/shared/unauthorized.html.erb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/lib/spree_backend.rb: -------------------------------------------------------------------------------- 1 | require 'spree/backend' 2 | -------------------------------------------------------------------------------- /cmd/bin/spree: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | require 'spree_cmd' -------------------------------------------------------------------------------- /frontend/app/views/spree/checkout/payment/_check.html.erb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/lib/spree_frontend.rb: -------------------------------------------------------------------------------- 1 | require 'spree/frontend' 2 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/payments/source_forms/_check.html.erb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/payments/source_views/_check.html.erb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/promotions/rules/_first_order.html.erb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cmd/bin/spree_cmd: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require 'spree_cmd' -------------------------------------------------------------------------------- /backend/app/views/spree/admin/promotions/rules/_user_logged_in.html.erb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sample/db/samples/line_items.rb: -------------------------------------------------------------------------------- 1 | Spree::Sample.load_sample("orders") 2 | -------------------------------------------------------------------------------- /cmd/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## Spree 2.1.0 (unreleased) ## 2 | 3 | * No changes. 4 | -------------------------------------------------------------------------------- /api/app/views/spree/api/products/product.v1.rabl: -------------------------------------------------------------------------------- 1 | attributes *product_attributes 2 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/promotions/_tab.html.erb: -------------------------------------------------------------------------------- 1 | <%= tab(:promotions) %> 2 | -------------------------------------------------------------------------------- /backend/app/assets/stylesheets/store/backend.css: -------------------------------------------------------------------------------- 1 | /* Placeholder for backend dummy app */ 2 | -------------------------------------------------------------------------------- /core/spec/support/test_gateway.rb: -------------------------------------------------------------------------------- 1 | class Spree::Gateway::Test < Spree::Gateway 2 | end 3 | -------------------------------------------------------------------------------- /api/app/views/spree/api/states/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @state 2 | attributes *state_attributes 3 | -------------------------------------------------------------------------------- /api/app/views/spree/api/users/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @user 2 | 3 | attributes *user_attributes 4 | -------------------------------------------------------------------------------- /backend/app/assets/javascripts/store/backend.js: -------------------------------------------------------------------------------- 1 | // Placeholder for backend dummy application 2 | -------------------------------------------------------------------------------- /core/lib/spree/i18n/initializer.rb: -------------------------------------------------------------------------------- 1 | Spree::BaseController.send(:include, Spree::ViewContext) 2 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | eval(File.read(File.dirname(__FILE__) + '/common_spree_dependencies.rb')) 2 | 3 | gemspec 4 | -------------------------------------------------------------------------------- /api/app/views/spree/api/payments/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @payment 2 | attributes *payment_attributes 3 | -------------------------------------------------------------------------------- /core/lib/generators/spree/dummy/templates/initializers/custom_user.rb: -------------------------------------------------------------------------------- 1 | # Spree.user_class = "User" 2 | -------------------------------------------------------------------------------- /api/app/views/spree/api/credit_cards/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @credit_card 2 | attributes *creditcard_attributes -------------------------------------------------------------------------------- /api/app/views/spree/api/properties/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @property 2 | attributes *property_attributes 3 | -------------------------------------------------------------------------------- /api/lib/spree_api.rb: -------------------------------------------------------------------------------- 1 | require 'spree/api' 2 | require 'spree/api/responders' 3 | require 'versioncake' 4 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/properties/filtered.html.erb: -------------------------------------------------------------------------------- 1 | <%= auto_complete_result @properties, :name %> -------------------------------------------------------------------------------- /core/lib/generators/spree/custom_user/templates/initializer.rb.tt: -------------------------------------------------------------------------------- 1 | Spree.user_class = "<%= class_name %>" 2 | -------------------------------------------------------------------------------- /sample/db/samples/shipping_categories.rb: -------------------------------------------------------------------------------- 1 | Spree::ShippingCategory.create!(:name => "Default Shipping") 2 | -------------------------------------------------------------------------------- /api/app/views/spree/api/option_values/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @option_value 2 | attributes *option_value_attributes -------------------------------------------------------------------------------- /api/lib/spree/api/version.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Api 3 | VERSION = "1.1.0.beta" 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/stock_items/destroy.js.erb: -------------------------------------------------------------------------------- 1 | $("#stock-item-<%= @stock_item.id %>").fadeOut(); 2 | -------------------------------------------------------------------------------- /core/Gemfile: -------------------------------------------------------------------------------- 1 | eval(File.read(File.dirname(__FILE__) + '/../common_spree_dependencies.rb')) 2 | 3 | gemspec 4 | -------------------------------------------------------------------------------- /core/db/default/spree/roles.rb: -------------------------------------------------------------------------------- 1 | Spree::Role.create!(:name => "admin") 2 | Spree::Role.create!(:name => "user") 3 | -------------------------------------------------------------------------------- /core/lib/spree/core/version.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | def self.version 3 | "2.1.0.beta" 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/spec/models/spree/image_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe Spree::Image do 4 | 5 | end 6 | -------------------------------------------------------------------------------- /api/app/views/spree/api/inventory_units/show.rabl: -------------------------------------------------------------------------------- 1 | object @inventory_unit 2 | attributes *inventory_unit_attributes 3 | -------------------------------------------------------------------------------- /api/app/views/spree/api/orders/could_not_apply_coupon.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:error) { @coupon_message } 3 | -------------------------------------------------------------------------------- /cmd/lib/spree_cmd/templates/extension/app/assets/javascripts/admin/%file_name%.js: -------------------------------------------------------------------------------- 1 | //= require admin/spree_backend 2 | -------------------------------------------------------------------------------- /cmd/lib/spree_cmd/templates/extension/app/assets/javascripts/store/%file_name%.js: -------------------------------------------------------------------------------- 1 | //= require store/spree_frontend 2 | -------------------------------------------------------------------------------- /api/spec/fixtures/thinking-cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/api/spec/fixtures/thinking-cat.jpg -------------------------------------------------------------------------------- /backend/app/views/spree/admin/promotion_actions/destroy.js.erb: -------------------------------------------------------------------------------- 1 | $('#<%= dom_id @promotion_action %>').fadeOut().remove(); -------------------------------------------------------------------------------- /cmd/lib/spree_cmd/templates/extension/lib/%file_name%.rb.tt: -------------------------------------------------------------------------------- 1 | require 'spree_core' 2 | require '<%=file_name%>/engine' 3 | -------------------------------------------------------------------------------- /core/spec/fixtures/thinking-cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/core/spec/fixtures/thinking-cat.jpg -------------------------------------------------------------------------------- /core/spec/support/big_decimal.rb: -------------------------------------------------------------------------------- 1 | class BigDecimal 2 | def inspect 3 | "#" 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /sample/db/samples.rb: -------------------------------------------------------------------------------- 1 | Spree::Sample.load_sample("payment_methods") 2 | Spree::Sample.load_sample("shipping_categories") 3 | -------------------------------------------------------------------------------- /api/app/views/spree/api/config/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:default_country_id) { Spree::Config[:default_country_id] } -------------------------------------------------------------------------------- /api/app/views/spree/api/option_types/index.v1.rabl: -------------------------------------------------------------------------------- 1 | collection @option_types 2 | 3 | extends "spree/api/option_types/show" 4 | -------------------------------------------------------------------------------- /api/app/views/spree/api/product_properties/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @product_property 2 | attributes *product_property_attributes 3 | -------------------------------------------------------------------------------- /api/config/initializers/metal_load_paths.rb: -------------------------------------------------------------------------------- 1 | Spree::Api::BaseController.append_view_path(ApplicationController.view_paths) 2 | -------------------------------------------------------------------------------- /backend/app/assets/stylesheets/admin/sections/_image_settings.scss: -------------------------------------------------------------------------------- 1 | .destroy_style, .destroy_header { 2 | float: right; 3 | } -------------------------------------------------------------------------------- /backend/app/views/spree/admin/tax_categories/show.html.erb: -------------------------------------------------------------------------------- 1 | <%= render :partial => 'spree/admin/shared/configuration_menu' %> 2 | -------------------------------------------------------------------------------- /backend/spec/support/ror_ringer.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/spec/support/ror_ringer.jpeg -------------------------------------------------------------------------------- /core/app/models/spree/configuration.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class Configuration < ActiveRecord::Base 3 | 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/spec/models/spree/configuration_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe Spree::Configuration do 4 | 5 | end 6 | -------------------------------------------------------------------------------- /sample/db/samples/images/ror_bag.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_bag.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/ror_mug.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_mug.jpeg -------------------------------------------------------------------------------- /api/app/views/spree/api/option_values/index.v1.rabl: -------------------------------------------------------------------------------- 1 | collection @option_values 2 | 3 | extends "spree/api/option_values/show" 4 | -------------------------------------------------------------------------------- /api/app/views/spree/api/properties/new.v1.rabl: -------------------------------------------------------------------------------- 1 | node(:attributes) { [*property_attributes] } 2 | node(:required_attributes) { [] } 3 | -------------------------------------------------------------------------------- /api/app/views/spree/api/variants/new.v1.rabl: -------------------------------------------------------------------------------- 1 | node(:attributes) { [*variant_attributes] } 2 | node(:required_attributes) { [] } 3 | -------------------------------------------------------------------------------- /api/app/views/spree/api/variants/variant.v1.rabl: -------------------------------------------------------------------------------- 1 | attributes *variant_attributes 2 | node(:options_text) { |v| v.options_text } 3 | -------------------------------------------------------------------------------- /cmd/lib/spree_cmd/templates/extension/app/assets/stylesheets/admin/%file_name%.css: -------------------------------------------------------------------------------- 1 | /* 2 | *= require admin/spree_backend 3 | */ 4 | -------------------------------------------------------------------------------- /cmd/lib/spree_cmd/templates/extension/app/assets/stylesheets/store/%file_name%.css: -------------------------------------------------------------------------------- 1 | /* 2 | *= require store/spree_frontend 3 | */ 4 | -------------------------------------------------------------------------------- /core/app/assets/images/logo/spree_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/core/app/assets/images/logo/spree_50.png -------------------------------------------------------------------------------- /core/app/assets/images/noimage/large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/core/app/assets/images/noimage/large.png -------------------------------------------------------------------------------- /core/app/assets/images/noimage/mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/core/app/assets/images/noimage/mini.png -------------------------------------------------------------------------------- /core/app/assets/images/noimage/small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/core/app/assets/images/noimage/small.png -------------------------------------------------------------------------------- /core/spec/models/spree/shipping_category_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe Spree::ShippingCategory do 4 | 5 | end 6 | -------------------------------------------------------------------------------- /frontend/app/assets/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/favicon.ico -------------------------------------------------------------------------------- /frontend/app/assets/images/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/spinner.gif -------------------------------------------------------------------------------- /frontend/spec/fixtures/thinking-cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/spec/fixtures/thinking-cat.jpg -------------------------------------------------------------------------------- /sample/db/samples/images/ror_ringer.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_ringer.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/ror_stein.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_stein.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/ror_tote.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_tote.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/spree_bag.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/spree_bag.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/spree_mug.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/spree_mug.jpeg -------------------------------------------------------------------------------- /api/app/views/spree/api/errors/not_found.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:error) { I18n.t(:resource_not_found, :scope => "spree.api") } 3 | -------------------------------------------------------------------------------- /api/app/views/spree/api/errors/unauthorized.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:error) { I18n.t(:unauthorized, :scope => "spree.api") } 3 | -------------------------------------------------------------------------------- /api/app/views/spree/api/orders/delivery.v1.rabl: -------------------------------------------------------------------------------- 1 | child(:shipments => :shipments) do 2 | extends "spree/api/shipments/show" 3 | end 4 | -------------------------------------------------------------------------------- /api/app/views/spree/api/return_authorizations/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @return_authorization 2 | attributes *return_authorization_attributes -------------------------------------------------------------------------------- /core/app/assets/images/noimage/product.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/core/app/assets/images/noimage/product.png -------------------------------------------------------------------------------- /core/lib/spree/core/gateway_error.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Core 3 | class GatewayError < RuntimeError; end 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/spec/models/spree/product_option_type_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe Spree::ProductOptionType do 4 | 5 | end 6 | -------------------------------------------------------------------------------- /frontend/app/assets/images/store/cart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/store/cart.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ad.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ae.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ae.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/af.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/af.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ag.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ai.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/al.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/al.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/am.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/am.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/an.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/an.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ao.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ar.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/as.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/as.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/at.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/at.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/au.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/au.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/aw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/aw.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ax.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/az.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/az.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ba.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bb.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bd.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/be.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/be.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bf.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bg.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bh.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bi.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bj.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bm.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bn.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bo.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/br.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/br.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bs.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bt.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bv.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bw.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/by.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/by.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/bz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/bz.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ca.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ca.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cc.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cd.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cf.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cg.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ch.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ci.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ck.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cl.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cm.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cn.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/co.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/co.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cr.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cs.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cu.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cv.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cx.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cy.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/cz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/cz.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/de.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/de.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/dj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/dj.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/dk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/dk.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/dm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/dm.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/do.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/do.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/dz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/dz.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ec.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ee.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/eg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/eg.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/eh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/eh.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/er.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/er.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/es.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/et.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/et.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/fi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/fi.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/fj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/fj.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/fk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/fk.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/fm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/fm.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/fo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/fo.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/fr.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ga.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ga.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gb.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gd.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ge.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gf.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gh.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gi.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gl.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gm.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gn.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gp.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gq.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gr.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gs.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gt.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gu.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gw.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/gy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/gy.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/hk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/hk.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/hm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/hm.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/hn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/hn.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/hr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/hr.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ht.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ht.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/hu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/hu.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/id.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ie.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/il.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/il.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/in.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/io.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/io.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/iq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/iq.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ir.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/is.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/is.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/it.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/it.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ja.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/jm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/jm.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/jo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/jo.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ke.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/kg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/kg.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/kh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/kh.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ki.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/km.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/km.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/kn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/kn.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/kp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/kp.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/kr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/kr.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/kw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/kw.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ky.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/kz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/kz.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/la.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/la.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/lb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/lb.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/lc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/lc.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/li.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/li.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/lk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/lk.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/lr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/lr.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ls.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/lt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/lt.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/lu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/lu.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/lv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/lv.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ly.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ma.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mc.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/md.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/md.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/me.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mg.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mh.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mk.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ml.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mm.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mn.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mo.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mp.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mq.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mr.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ms.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mt.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mu.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mv.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mw.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mx.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/my.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/my.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/mz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/mz.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/na.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/na.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/nc.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ne.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/nf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/nf.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ng.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ng.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ni.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ni.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/nl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/nl.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/no.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/np.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/np.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/nr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/nr.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/nu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/nu.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/nz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/nz.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/om.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/om.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/pa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/pa.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/pe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/pe.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/pf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/pf.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/pg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/pg.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ph.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/pk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/pk.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/pl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/pl.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/pm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/pm.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/pn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/pn.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/pr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/pr.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ps.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/pt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/pt.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/pw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/pw.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/py.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/py.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/qa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/qa.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/re.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/re.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ro.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/rs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/rs.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ru.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/rw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/rw.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sa.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sb.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sc.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sd.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/se.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/se.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sg.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sh.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/si.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/si.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sj.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sk.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sl.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sm.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sn.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/so.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/so.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sr.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/st.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/st.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sv.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sy.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/sz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/sz.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/tc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/tc.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/td.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/td.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/tf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/tf.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/tg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/tg.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/th.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/th.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/tj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/tj.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/tk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/tk.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/tl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/tl.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/tm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/tm.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/tn.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/to.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/to.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/tr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/tr.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/tt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/tt.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/tv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/tv.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/tw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/tw.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/tz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/tz.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ua.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ug.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/um.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/um.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/us.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/us.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/uy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/uy.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/uz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/uz.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/va.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/va.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/vc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/vc.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ve.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/vg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/vg.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/vi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/vi.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/vn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/vn.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/vu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/vu.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/wf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/wf.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ws.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ws.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/ye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/ye.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/yt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/yt.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/za.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/za.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/zm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/zm.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/zw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/zw.png -------------------------------------------------------------------------------- /sample/db/samples/images/ror_baseball.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_baseball.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/ror_mug_back.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_mug_back.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/ruby_baseball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ruby_baseball.png -------------------------------------------------------------------------------- /sample/db/samples/images/spree_jersey.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/spree_jersey.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/spree_stein.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/spree_stein.jpeg -------------------------------------------------------------------------------- /sample/db/samples/tax_categories.rb: -------------------------------------------------------------------------------- 1 | Spree::TaxCategory.create!(:name => "Clothing") 2 | Spree::TaxCategory.create!(:name => "Food") 3 | -------------------------------------------------------------------------------- /api/app/models/spree/line_item_decorator.rb: -------------------------------------------------------------------------------- 1 | Spree::LineItem.class_eval do 2 | attr_accessible :quantity, :variant_id, :as => :api 3 | end 4 | -------------------------------------------------------------------------------- /api/app/views/spree/api/taxons/index.v1.rabl: -------------------------------------------------------------------------------- 1 | collection @taxons 2 | attributes *taxon_attributes 3 | 4 | extends "spree/api/taxons/taxons" 5 | -------------------------------------------------------------------------------- /backend/app/assets/images/admin/progress.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/app/assets/images/admin/progress.gif -------------------------------------------------------------------------------- /cmd/lib/spree_cmd/templates/extension/config/routes.rb: -------------------------------------------------------------------------------- 1 | Spree::Core::Engine.routes.draw do 2 | # Add your extension routes here 3 | end 4 | -------------------------------------------------------------------------------- /frontend/app/assets/images/icons/checkout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/icons/checkout.png -------------------------------------------------------------------------------- /frontend/app/assets/images/icons/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/icons/delete.png -------------------------------------------------------------------------------- /frontend/app/assets/images/icons/update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/icons/update.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/fam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/fam.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/wales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/wales.png -------------------------------------------------------------------------------- /lib/spree.rb: -------------------------------------------------------------------------------- 1 | require 'spree_core' 2 | require 'spree_api' 3 | require 'spree_backend' 4 | require 'spree_frontend' 5 | require 'spree_sample' -------------------------------------------------------------------------------- /sample/db/samples/images/apache_baseball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/apache_baseball.png -------------------------------------------------------------------------------- /sample/db/samples/images/ror_ringer_back.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_ringer_back.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/ror_stein_back.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_stein_back.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/ror_tote_back.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_tote_back.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/spree_mug_back.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/spree_mug_back.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/spree_ringer_t.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/spree_ringer_t.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/spree_spaghetti.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/spree_spaghetti.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/spree_tote_back.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/spree_tote_back.jpeg -------------------------------------------------------------------------------- /api/app/views/spree/api/product_properties/new.v1.rabl: -------------------------------------------------------------------------------- 1 | node(:attributes) { [*product_property_attributes] } 2 | node(:required_attributes) { [] } -------------------------------------------------------------------------------- /cmd/Rakefile: -------------------------------------------------------------------------------- 1 | require "bundler/gem_tasks" 2 | 3 | desc 'alias for :build to work with other spree gems' 4 | task :gem => :build do 5 | 6 | end 7 | -------------------------------------------------------------------------------- /frontend/app/views/spree/shared/_sidebar.html.erb: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/england.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/england.png -------------------------------------------------------------------------------- /sample/db/samples/images/ror_baseball_back.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_baseball_back.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/ror_jr_spaghetti.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_jr_spaghetti.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/spree_jersey_back.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/spree_jersey_back.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/spree_stein_back.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/spree_stein_back.jpeg -------------------------------------------------------------------------------- /sample/db/samples/images/spree_tote_front.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/spree_tote_front.jpeg -------------------------------------------------------------------------------- /api/app/models/spree/option_value_decorator.rb: -------------------------------------------------------------------------------- 1 | Spree::OptionValue.class_eval do 2 | def option_type_name 3 | option_type.name 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /api/app/views/spree/api/errors/gateway_error.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:error) { I18n.t(:gateway_error, :scope => "spree.api", :text => @error) } 3 | -------------------------------------------------------------------------------- /api/app/views/spree/api/errors/must_specify_api_key.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:error) { I18n.t(:must_specify_api_key, :scope => "spree.api") } 3 | -------------------------------------------------------------------------------- /api/app/views/spree/api/shared/stock_location_required.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:error) { I18n.t(:stock_location_required, scope: "spree.api") } 3 | -------------------------------------------------------------------------------- /backend/app/assets/images/admin/payment_banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/app/assets/images/admin/payment_banner.png -------------------------------------------------------------------------------- /backend/app/views/spree/admin/taxons/search.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | child(@taxons => :taxons) do 3 | attributes :name, :pretty_name, :id 4 | end 5 | 6 | -------------------------------------------------------------------------------- /frontend/app/assets/images/icons/add-to-cart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/icons/add-to-cart.png -------------------------------------------------------------------------------- /frontend/app/assets/images/store/select_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/store/select_arrow.gif -------------------------------------------------------------------------------- /frontend/vendor/assets/images/datepicker/cal.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/datepicker/cal.gif -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/catalonia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/catalonia.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/scotland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/scotland.png -------------------------------------------------------------------------------- /sample/db/samples/images/spree_ringer_t_back.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/spree_ringer_t_back.jpeg -------------------------------------------------------------------------------- /api/Gemfile: -------------------------------------------------------------------------------- 1 | eval(File.read(File.dirname(__FILE__) + '/../common_spree_dependencies.rb')) 2 | 3 | gem 'spree_core', :path => "../core" 4 | 5 | gemspec 6 | -------------------------------------------------------------------------------- /api/app/views/spree/api/errors/invalid_api_key.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:error) { I18n.t(:invalid_api_key, :key => api_key, :scope => "spree.api") } 3 | -------------------------------------------------------------------------------- /api/app/views/spree/api/shipments/cannot_ready_shipment.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:error) { I18n.t(:cannot_ready, :scope => "spree.api.shipment") } 3 | -------------------------------------------------------------------------------- /backend/vendor/assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /backend/vendor/assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /backend/vendor/assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/amex_cid.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/amex_cid.gif -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/visa_cid.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/visa_cid.gif -------------------------------------------------------------------------------- /sample/db/samples/images/ror_baseball_jersey_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_baseball_jersey_red.png -------------------------------------------------------------------------------- /api/app/views/spree/api/adjustments/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @adjustment 2 | attributes *adjustment_attributes 3 | node(:display_amount) { |a| a.display_amount.to_s } -------------------------------------------------------------------------------- /backend/app/assets/images/credit_cards/credit_card.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/app/assets/images/credit_cards/credit_card.gif -------------------------------------------------------------------------------- /backend/app/views/spree/admin/line_items/create.js.erb: -------------------------------------------------------------------------------- 1 | $("#order-form-wrapper").html('<%= escape_javascript(render :partial => "spree/admin/orders/form") %>'); 2 | -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/credit_card.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/credit_card.gif -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/delta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/delta.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/egold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/egold.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/solo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/solo.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/visa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/visa.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/master_cid.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/master_cid.jpg -------------------------------------------------------------------------------- /frontend/vendor/assets/images/flags/europeanunion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/flags/europeanunion.png -------------------------------------------------------------------------------- /sample/db/samples/images/ror_baseball_jersey_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_baseball_jersey_blue.png -------------------------------------------------------------------------------- /sample/db/samples/images/ror_baseball_jersey_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_baseball_jersey_green.png -------------------------------------------------------------------------------- /api/app/views/spree/api/orders/invalid_shipping_method.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:errors) { [I18n.t(:invalid_shipping_method, :scope => "spree.api.order")] } 3 | -------------------------------------------------------------------------------- /api/app/views/spree/api/shipping_rates/show.v1.rabl: -------------------------------------------------------------------------------- 1 | attributes :id, :name, :cost, :selected, :shipping_method_id 2 | node(:display_cost) { |sr| sr.display_cost.to_s } -------------------------------------------------------------------------------- /backend/app/views/spree/admin/line_items/destroy.js.erb: -------------------------------------------------------------------------------- 1 | $("#order-form-wrapper").html('<%= escape_javascript(render :partial => "spree/admin/orders/form") %>'); 2 | -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/discover_cid.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/discover_cid.gif -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/cirrus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/cirrus.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/maestro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/maestro.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/master.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/master.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/paypal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/paypal.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/switch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/switch.png -------------------------------------------------------------------------------- /frontend/vendor/assets/images/jquery.formalize/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/jquery.formalize/button.png -------------------------------------------------------------------------------- /sample/db/samples/images/ror_baseball_jersey_back_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_baseball_jersey_back_red.png -------------------------------------------------------------------------------- /api/app/controllers/spree/api/config_controller.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Api 3 | class ConfigController < Spree::Api::BaseController 4 | end 5 | end 6 | end -------------------------------------------------------------------------------- /api/app/views/spree/api/orders/payment.v1.rabl: -------------------------------------------------------------------------------- 1 | child :available_payment_methods => :payment_methods do 2 | attributes :id, :name, :environment, :method_type 3 | end 4 | -------------------------------------------------------------------------------- /api/lib/spree/api.rb: -------------------------------------------------------------------------------- 1 | require 'spree/core' 2 | 3 | require 'rabl' 4 | 5 | module Spree 6 | module Api 7 | end 8 | end 9 | 10 | require 'spree/api/engine' 11 | -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery.alerts/images/help.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery.alerts/images/help.gif -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery.alerts/images/info.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery.alerts/images/info.gif -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery.alerts/images/title.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery.alerts/images/title.gif -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/discover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/discover.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/wirecard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/wirecard.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/worldpay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/worldpay.png -------------------------------------------------------------------------------- /sample/db/samples/images/ror_baseball_jersey_back_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_baseball_jersey_back_blue.png -------------------------------------------------------------------------------- /sample/db/samples/images/ror_baseball_jersey_back_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/sample/db/samples/images/ror_baseball_jersey_back_green.png -------------------------------------------------------------------------------- /api/app/views/spree/api/taxons/new.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:attributes) { [*taxon_attributes] } 3 | node(:required_attributes) { required_fields_for(Spree::Taxon) } 4 | -------------------------------------------------------------------------------- /api/app/views/spree/api/users/new.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:attributes) { [*user_attributes] } 3 | node(:required_attributes) { required_fields_for(Spree.user_class) } 4 | -------------------------------------------------------------------------------- /backend/app/controllers/spree/admin/trackers_controller.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Admin 3 | class TrackersController < ResourceController 4 | end 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /core/lib/generators/spree/dummy/templates/rails/routes.rb: -------------------------------------------------------------------------------- 1 | Rails.application.routes.draw do 2 | <%= 'mount Spree::Core::Engine => "/"' if defined?(Spree::Core) %> 3 | end 4 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/taxonomy_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :taxonomy, class: Spree::Taxonomy do 3 | name 'Brand' 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/diners_club.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/diners_club.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/directdebit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/directdebit.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/visaelectron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/visaelectron.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/westernunion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/westernunion.png -------------------------------------------------------------------------------- /api/app/views/spree/api/errors/invalid_resource.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:error) { I18n.t(:invalid_resource, :scope => "spree.api") } 3 | node(:errors) { @resource.errors } 4 | -------------------------------------------------------------------------------- /api/app/views/spree/api/line_items/new.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:attributes) { [*line_item_attributes] - [:id] } 3 | node(:required_attributes) { [:variant_id, :quantity] } 4 | -------------------------------------------------------------------------------- /api/app/views/spree/api/payments/credit_over_limit.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:error) { I18n.t(:credit_over_limit, :limit => @payment.credit_allowed, :scope => 'spree.api') } 3 | -------------------------------------------------------------------------------- /api/app/views/spree/api/products/new.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:attributes) { [*product_attributes] } 3 | node(:required_attributes) { required_fields_for(Spree::Product) } 4 | -------------------------------------------------------------------------------- /api/app/views/spree/api/stock_items/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @stock_item 2 | attributes *stock_item_attributes 3 | child(:variant) do 4 | extends "spree/api/variants/variant" 5 | end 6 | -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery.alerts/images/important.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery.alerts/images/important.gif -------------------------------------------------------------------------------- /frontend/vendor/assets/images/jquery.formalize/select_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/vendor/assets/images/jquery.formalize/select_arrow.gif -------------------------------------------------------------------------------- /api/app/views/spree/api/taxonomies/new.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:attributes) { [*taxonomy_attributes] } 3 | node(:required_attributes) { required_fields_for(Spree::Taxonomy) } 4 | -------------------------------------------------------------------------------- /backend/app/views/spree/test_mailer/test_email.text.erb: -------------------------------------------------------------------------------- 1 | <%= Spree.t('test_mailer.test_email.greeting') %> 2 | ================ 3 | 4 | <%= Spree.t('test_mailer.test_email.message') %> 5 | -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery-ui/ui-icons_0073ea_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery-ui/ui-icons_0073ea_256x240.png -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery-ui/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery-ui/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery-ui/ui-icons_666666_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery-ui/ui-icons_666666_256x240.png -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery-ui/ui-icons_ff0084_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery-ui/ui-icons_ff0084_256x240.png -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery-ui/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery-ui/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /backend/vendor/assets/javascripts/jquery.jstree/themes/apple/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/javascripts/jquery.jstree/themes/apple/bg.jpg -------------------------------------------------------------------------------- /backend/vendor/assets/javascripts/jquery.jstree/themes/apple/d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/javascripts/jquery.jstree/themes/apple/d.png -------------------------------------------------------------------------------- /frontend/app/assets/images/credit_cards/icons/american_express.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/frontend/app/assets/images/credit_cards/icons/american_express.png -------------------------------------------------------------------------------- /api/app/views/spree/api/countries/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @country 2 | attributes *country_attributes 3 | child :states => :states do 4 | attributes :id, :name, :abbr, :country_id 5 | end 6 | -------------------------------------------------------------------------------- /api/app/views/spree/api/orders/could_not_transition.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:error) { I18n.t(:could_not_transition, :scope => "spree.api.order") } 3 | node(:errors) { @order.errors } 4 | -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery-ui/ui-bg_flat_0_eeeeee_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery-ui/ui-bg_flat_0_eeeeee_40x100.png -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery-ui/ui-bg_flat_55_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery-ui/ui-bg_flat_55_ffffff_40x100.png -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /core/app/models/spree/tokenized_permission.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class TokenizedPermission < ActiveRecord::Base 3 | belongs_to :permissable, polymorphic: true 4 | end 5 | end 6 | 7 | -------------------------------------------------------------------------------- /core/db/migrate/20120905145253_add_tax_rate_label.rb: -------------------------------------------------------------------------------- 1 | class AddTaxRateLabel < ActiveRecord::Migration 2 | def change 3 | add_column :spree_tax_rates, :name, :string 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /api/app/views/spree/api/stock_movements/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @stock_movement 2 | attributes *stock_movement_attributes 3 | child :stock_item do 4 | extends "spree/api/stock_items/show" 5 | end 6 | -------------------------------------------------------------------------------- /backend/Gemfile: -------------------------------------------------------------------------------- 1 | eval(File.read(File.dirname(__FILE__) + '/../common_spree_dependencies.rb')) 2 | 3 | gem 'spree_core', :path => '../core' 4 | gem 'spree_api', :path => '../api' 5 | 6 | gemspec 7 | -------------------------------------------------------------------------------- /backend/app/controllers/spree/admin/inventory_units_controller.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Admin 3 | class InventoryUnitsController < Spree::Admin::BaseController 4 | end 5 | end 6 | end -------------------------------------------------------------------------------- /api/app/views/spree/api/option_types/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @option_type 2 | attributes *option_type_attributes 3 | child :option_values => :option_values do 4 | attributes *option_value_attributes 5 | end -------------------------------------------------------------------------------- /api/app/views/spree/api/taxons/taxons.v1.rabl: -------------------------------------------------------------------------------- 1 | node do |t| 2 | child t.children => :taxons do 3 | attributes *taxon_attributes 4 | 5 | extends "spree/api/taxons/taxons" 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /backend/app/controllers/spree/admin/shipping_categories_controller.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Admin 3 | class ShippingCategoriesController < ResourceController 4 | end 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/prototypes/available.js.erb: -------------------------------------------------------------------------------- 1 | $("#prototypes").html('<%= escape_javascript(render :partial => "spree/admin/prototypes/prototypes") %>'); 2 | $("#new_ptype_link").hide(); 3 | -------------------------------------------------------------------------------- /backend/vendor/assets/javascripts/jquery.jstree/themes/apple/dot_for_ie.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/javascripts/jquery.jstree/themes/apple/dot_for_ie.gif -------------------------------------------------------------------------------- /backend/vendor/assets/javascripts/jquery.jstree/themes/apple/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/javascripts/jquery.jstree/themes/apple/throbber.gif -------------------------------------------------------------------------------- /core/app/models/spree/asset.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class Asset < ActiveRecord::Base 3 | belongs_to :viewable, polymorphic: true, touch: true 4 | acts_as_list scope: :viewable 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /core/db/migrate/20121107194006_add_currency_to_orders.rb: -------------------------------------------------------------------------------- 1 | class AddCurrencyToOrders < ActiveRecord::Migration 2 | def change 3 | add_column :spree_orders, :currency, :string 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/migrate/20130514151929_add_sku_index_to_spree_variants.rb: -------------------------------------------------------------------------------- 1 | class AddSkuIndexToSpreeVariants < ActiveRecord::Migration 2 | def change 3 | add_index :spree_variants, :sku 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/promotion_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :promotion, class: Spree::Promotion, parent: :activator do 3 | name 'Promo' 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /frontend/Gemfile: -------------------------------------------------------------------------------- 1 | eval(File.read(File.dirname(__FILE__) + '/../common_spree_dependencies.rb')) 2 | 3 | gem 'spree_core', :path => '../core' 4 | gem 'spree_api', :path => '../api' 5 | 6 | gemspec 7 | -------------------------------------------------------------------------------- /api/app/models/spree/api_configuration.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class ApiConfiguration < Preferences::Configuration 3 | preference :requires_authentication, :boolean, :default => false 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /api/app/views/spree/api/taxons/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @taxon 2 | attributes *taxon_attributes 3 | 4 | node do |t| 5 | child t.children => :taxons do 6 | attributes *taxon_attributes 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /core/db/migrate/20130423110707_drop_products_count_on_hand.rb: -------------------------------------------------------------------------------- 1 | class DropProductsCountOnHand < ActiveRecord::Migration 2 | def up 3 | remove_column :spree_products, :count_on_hand 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/migrate/20130611185927_add_user_id_index_to_spree_orders.rb: -------------------------------------------------------------------------------- 1 | class AddUserIdIndexToSpreeOrders < ActiveRecord::Migration 2 | def change 3 | add_index :spree_orders, :user_id 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/price_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :price, class: Spree::Price do 3 | variant 4 | amount 19.99 5 | currency 'USD' 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_100_f6f6f6_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_100_f6f6f6_1x100.png -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_25_0073ea_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_25_0073ea_1x100.png -------------------------------------------------------------------------------- /backend/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_50_dddddd_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughevans/spree/master/backend/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_50_dddddd_1x100.png -------------------------------------------------------------------------------- /core/db/migrate/20121107184631_add_currency_to_line_items.rb: -------------------------------------------------------------------------------- 1 | class AddCurrencyToLineItems < ActiveRecord::Migration 2 | def change 3 | add_column :spree_line_items, :currency, :string 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/migrate/20130222032153_add_order_id_index_to_shipments.rb: -------------------------------------------------------------------------------- 1 | class AddOrderIdIndexToShipments < ActiveRecord::Migration 2 | def change 3 | add_index :spree_shipments, :order_id 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/product_property_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :product_property, class: Spree::ProductProperty do 3 | product 4 | property 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /api/app/views/spree/api/payments/new.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:attributes) { [*payment_attributes] } 3 | child @payment_methods => :payment_methods do 4 | attributes *payment_method_attributes 5 | end 6 | 7 | -------------------------------------------------------------------------------- /api/app/views/spree/api/return_authorizations/new.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:attributes) { [*return_authorization_attributes] } 3 | node(:required_attributes) { required_fields_for(Spree::ReturnAuthorization) } 4 | -------------------------------------------------------------------------------- /api/app/views/spree/api/zones/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @zone 2 | attributes :id, :name, :description 3 | 4 | child :zone_members => :zone_members do 5 | attributes :id, :name, :zoneable_type, :zoneable_id 6 | end 7 | -------------------------------------------------------------------------------- /backend/app/assets/stylesheets/admin/sections/_bulk_transfer.scss: -------------------------------------------------------------------------------- 1 | #add-variant-to-transfer { 2 | .field { 3 | .bulk_add_variant { 4 | margin-top: 19px; 5 | width: 100%; 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /core/db/migrate/20121126040517_add_last_ip_to_spree_orders.rb: -------------------------------------------------------------------------------- 1 | class AddLastIpToSpreeOrders < ActiveRecord::Migration 2 | def change 3 | add_column :spree_orders, :last_ip_address, :string 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/seeds.rb: -------------------------------------------------------------------------------- 1 | # Loads seed data out of default dir 2 | default_path = File.join(File.dirname(__FILE__), 'default') 3 | 4 | Rake::Task['db:load_dir'].reenable 5 | Rake::Task['db:load_dir'].invoke(default_path) 6 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/taxon_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :taxon, class: Spree::Taxon do 3 | name 'Ruby on Rails' 4 | taxonomy 5 | parent_id nil 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /frontend/app/assets/javascripts/store/spree_frontend.js: -------------------------------------------------------------------------------- 1 | //= require jquery.validate/jquery.validate.min 2 | //= require spree 3 | //= require store/checkout 4 | //= require store/product 5 | //= require store/cart 6 | -------------------------------------------------------------------------------- /sample/db/samples/taxonomies.rb: -------------------------------------------------------------------------------- 1 | taxonomies = [ 2 | { :name => "Categories" }, 3 | { :name => "Brand" } 4 | ] 5 | 6 | taxonomies.each do |taxonomy_attrs| 7 | Spree::Taxonomy.create!(taxonomy_attrs) 8 | end 9 | -------------------------------------------------------------------------------- /cmd/lib/spree_cmd/templates/extension/gitignore: -------------------------------------------------------------------------------- 1 | \#* 2 | *~ 3 | .#* 4 | .DS_Store 5 | .idea 6 | .project 7 | .sass-cache 8 | coverage 9 | Gemfile.lock 10 | tmp 11 | nbproject 12 | pkg 13 | *.swp 14 | spec/dummy 15 | -------------------------------------------------------------------------------- /core/db/migrate/20130203232234_add_identifier_to_spree_payments.rb: -------------------------------------------------------------------------------- 1 | class AddIdentifierToSpreePayments < ActiveRecord::Migration 2 | def change 3 | add_column :spree_payments, :identifier, :string 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/lib/generators/spree/dummy/templates/rails/boot.rb: -------------------------------------------------------------------------------- 1 | require 'rubygems' 2 | gemfile = File.expand_path("<%= gemfile_path %>", __FILE__) 3 | 4 | ENV['BUNDLE_GEMFILE'] = gemfile 5 | require 'bundler' 6 | Bundler.setup 7 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/product_option_type_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :product_option_type, class: Spree::ProductOptionType do 3 | product 4 | option_type 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/property_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :property, class: Spree::Property do 3 | name 'baseball_cap_color' 4 | presentation 'cap color' 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /core/spec/models/spree/calculator/shipping.rb: -------------------------------------------------------------------------------- 1 | require_dependency 'spree/calculator' 2 | 3 | module Spree 4 | class Calculator::Shipping < Calculator 5 | def compute(content_items) 6 | end 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /frontend/config/initializers/spree.rb: -------------------------------------------------------------------------------- 1 | require 'mail' 2 | 3 | # Spree Configuration 4 | SESSION_KEY = '_spree_session_id' 5 | 6 | LIKE = ActiveRecord::Base.connection.adapter_name == 'PostgreSQL' ? 'ILIKE' : 'LIKE' 7 | -------------------------------------------------------------------------------- /core/db/migrate/20121124203911_add_position_to_taxonomies.rb: -------------------------------------------------------------------------------- 1 | class AddPositionToTaxonomies < ActiveRecord::Migration 2 | def change 3 | add_column :spree_taxonomies, :position, :integer, :default => 0 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/migrate/20130708052307_add_deleted_at_to_spree_tax_rates.rb: -------------------------------------------------------------------------------- 1 | class AddDeletedAtToSpreeTaxRates < ActiveRecord::Migration 2 | def change 3 | add_column :spree_tax_rates, :deleted_at, :datetime 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/lib/spree/promo/environment.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Promo 3 | class Environment 4 | include Core::EnvironmentExtension 5 | 6 | attr_accessor :rules, :actions 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /frontend/app/assets/stylesheets/store/spree_frontend.css: -------------------------------------------------------------------------------- 1 | /* 2 | * This is a manifest file that includes stylesheets for spree_frontend 3 | *= require normalize 4 | *= require skeleton 5 | *= require store/screen 6 | */ 7 | -------------------------------------------------------------------------------- /frontend/app/views/spree/products/_image.html.erb: -------------------------------------------------------------------------------- 1 | <% if image %> 2 | <%= image_tag image.attachment.url(:product), :itemprop => "image" %> 3 | <% else %> 4 | <%= product_image(@product, :itemprop => "image") %> 5 | <% end %> -------------------------------------------------------------------------------- /backend/app/views/spree/admin/promotion_rules/destroy.js.erb: -------------------------------------------------------------------------------- 1 | $('#<%= dom_id @promotion_rule %>').fadeOut().remove(); 2 | 3 | $('#promotion_rule_type').html('<%= escape_javascript options_for_promotion_rule_types(@promotion) %>'); -------------------------------------------------------------------------------- /backend/app/views/spree/admin/states/new.js.erb: -------------------------------------------------------------------------------- 1 | $("#new_state").html("<%= escape_javascript(render :template => 'spree/admin/states/new', :formats => [:html], :handlers => [:erb]) %>"); 2 | $("#new_state_link").parent().hide(); 3 | -------------------------------------------------------------------------------- /core/db/migrate/20121009142519_add_lock_version_to_variant.rb: -------------------------------------------------------------------------------- 1 | class AddLockVersionToVariant < ActiveRecord::Migration 2 | def change 3 | add_column :spree_variants, :lock_version, :integer, :default => 0 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/migrate/20121111231553_remove_display_on_from_payment_methods.rb: -------------------------------------------------------------------------------- 1 | class RemoveDisplayOnFromPaymentMethods < ActiveRecord::Migration 2 | def up 3 | remove_column :spree_payment_methods, :display_on 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/migrate/20130326175857_add_stock_location_to_rma.rb: -------------------------------------------------------------------------------- 1 | class AddStockLocationToRma < ActiveRecord::Migration 2 | def change 3 | add_column :spree_return_authorizations, :stock_location_id, :integer 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/prototype_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :prototype, class: Spree::Prototype do 3 | name 'Baseball Cap' 4 | properties { [create(:property)] } 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /frontend/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## Spree 2.1.0 (unreleased) ## 2 | 3 | * Fix issue where "Use Billing Address" checkbox was unticked when certain 4 | browsers autocompleted the checkout form. #3068 #3085 5 | 6 | *Washington Luiz* 7 | -------------------------------------------------------------------------------- /backend/app/assets/javascripts/admin/images/new.js.coffee: -------------------------------------------------------------------------------- 1 | ($ '#cancel_link').click (event) -> 2 | event.preventDefault() 3 | 4 | ($ '.no-objects-found').show() 5 | 6 | ($ '#new_image_link').show() 7 | ($ '#images').html('') 8 | -------------------------------------------------------------------------------- /core/db/migrate/20130208032954_add_primary_to_spree_products_taxons.rb: -------------------------------------------------------------------------------- 1 | class AddPrimaryToSpreeProductsTaxons < ActiveRecord::Migration 2 | def change 3 | add_column :spree_products_taxons, :id, :primary_key 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/shipping_category_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :shipping_category, class: Spree::ShippingCategory do 3 | sequence(:name) { |n| "ShippingCategory ##{n}" } 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/tracker_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :tracker, class: Spree::Tracker do 3 | environment { Rails.env } 4 | analytics_id 'A100' 5 | active true 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /api/app/views/spree/api/taxonomies/jstree.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:data) { @taxonomy.root.name } 3 | node(:attr) do 4 | { :id => @taxonomy.root.id, 5 | :name => @taxonomy.root.name 6 | } 7 | end 8 | node(:state) { "closed" } 9 | -------------------------------------------------------------------------------- /backend/app/models/spree/backend_configuration.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class BackendConfiguration < Preferences::Configuration 3 | preference :locale, :string, :default => Rails.application.config.i18n.default_locale 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/migrate/20120905151823_add_toggle_tax_rate_display.rb: -------------------------------------------------------------------------------- 1 | class AddToggleTaxRateDisplay < ActiveRecord::Migration 2 | def change 3 | add_column :spree_tax_rates, :show_rate_in_label, :boolean, :default => true 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/migrate/20121109173623_add_cost_currency_to_variants.rb: -------------------------------------------------------------------------------- 1 | class AddCostCurrencyToVariants < ActiveRecord::Migration 2 | def change 3 | add_column :spree_variants, :cost_currency, :string, :after => :cost_price 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/configuration_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :configuration, class: Spree::Configuration do 3 | name 'Default Configuration' 4 | type 'app_configuration' 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/url_helpers.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module TestingSupport 3 | module UrlHelpers 4 | def spree 5 | Spree::Core::Engine.routes.url_helpers 6 | end 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /frontend/app/models/spree/frontend_configuration.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class FrontendConfiguration < Preferences::Configuration 3 | preference :locale, :string, :default => Rails.application.config.i18n.default_locale 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/properties/new.js.erb: -------------------------------------------------------------------------------- 1 | $("#new_property").html('<%= escape_javascript(render :template => "spree/admin/properties/new", :formats => [:html], :handlers => [:erb]) %>'); 2 | $("#new_property_link").parent().hide(); 3 | -------------------------------------------------------------------------------- /cmd/lib/spree_cmd/templates/extension/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | # Provides basic authentication functionality for testing parts of your engine 4 | gem 'spree_auth_devise', github: 'spree/spree_auth_devise' 5 | 6 | gemspec 7 | -------------------------------------------------------------------------------- /core/app/models/spree/role.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class Role < ActiveRecord::Base 3 | attr_accessible :name 4 | 5 | has_and_belongs_to_many :users, join_table: 'spree_roles_users', class_name: Spree.user_class.to_s 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /core/db/migrate/20121010142909_add_states_required_to_countries.rb: -------------------------------------------------------------------------------- 1 | class AddStatesRequiredToCountries < ActiveRecord::Migration 2 | def change 3 | add_column :spree_countries, :states_required, :boolean,:default => true 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/migrate/20130226191231_add_stock_location_id_to_spree_shipments.rb: -------------------------------------------------------------------------------- 1 | class AddStockLocationIdToSpreeShipments < ActiveRecord::Migration 2 | def change 3 | add_column :spree_shipments, :stock_location_id, :integer 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/migrate/20130306195650_add_backorderable_to_stock_item.rb: -------------------------------------------------------------------------------- 1 | class AddBackorderableToStockItem < ActiveRecord::Migration 2 | def change 3 | add_column :spree_stock_items, :backorderable, :boolean, :default => true 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/migrate/20130718042445_add_cost_price_to_line_item.rb: -------------------------------------------------------------------------------- 1 | class AddCostPriceToLineItem < ActiveRecord::Migration 2 | def change 3 | add_column :spree_line_items, :cost_price, :decimal, :precision => 8, :scale => 2 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/line_item_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :line_item, class: Spree::LineItem do 3 | quantity 1 4 | price { BigDecimal.new('10.00') } 5 | order 6 | variant 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /api/app/views/spree/api/variants/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @variant 2 | extends "spree/api/variants/variant" 3 | child(:option_values => :option_values) { attributes *option_value_attributes } 4 | child(:images => :images) { extends "spree/api/images/show" } -------------------------------------------------------------------------------- /core/db/migrate/20130301205200_add_tracking_url_to_spree_shipping_methods.rb: -------------------------------------------------------------------------------- 1 | class AddTrackingUrlToSpreeShippingMethods < ActiveRecord::Migration 2 | def change 3 | add_column :spree_shipping_methods, :tracking_url, :string 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/migrate/20130306191917_add_active_field_to_stock_locations.rb: -------------------------------------------------------------------------------- 1 | class AddActiveFieldToStockLocations < ActiveRecord::Migration 2 | def change 3 | add_column :spree_stock_locations, :active, :boolean, :default => true 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /api/.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | *.rbc 3 | .bundle 4 | .config 5 | .yardoc 6 | Gemfile.lock 7 | InstalledFiles 8 | _yardoc 9 | coverage 10 | doc/ 11 | lib/bundler/man 12 | pkg 13 | rdoc 14 | spec/reports 15 | test/tmp 16 | test/version_tmp 17 | tmp 18 | -------------------------------------------------------------------------------- /api/app/views/spree/api/users/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | child(@users => :users) do 3 | extends "spree/api/users/show" 4 | end 5 | node(:count) { @users.count } 6 | node(:current_page) { params[:page] || 1 } 7 | node(:pages) { @users.num_pages } 8 | -------------------------------------------------------------------------------- /api/app/views/spree/api/zones/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | child(@zones => :zones) do 3 | extends 'spree/api/zones/show' 4 | end 5 | node(:count) { @zones.count } 6 | node(:current_page) { params[:page] || 1 } 7 | node(:pages) { @zones.num_pages } 8 | -------------------------------------------------------------------------------- /api/db/migrate/20120411123334_resize_api_key_field.rb: -------------------------------------------------------------------------------- 1 | class ResizeApiKeyField < ActiveRecord::Migration 2 | def change 3 | unless defined?(User) 4 | change_column :spree_users, :api_key, :string, :limit => 48 5 | end 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/option_types/new.js.erb: -------------------------------------------------------------------------------- 1 | $("#new_option_type").html('<%= escape_javascript(render :template => "spree/admin/option_types/new", :formats => [:html], :handlers => [:erb]) %>'); 2 | $("#new_option_type_link").parent().hide(); 3 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/variants/new.js.erb: -------------------------------------------------------------------------------- 1 | $("#new_variant").html('<%= escape_javascript(render :template => 'spree/admin/variants/new', :formats => [:html], :handlers => [:erb]) %>'); 2 | $(".select2").select2(); 3 | $("#new_var_link").hide(); 4 | -------------------------------------------------------------------------------- /core/db/migrate/20130307161754_add_default_quantity_to_stock_movement.rb: -------------------------------------------------------------------------------- 1 | class AddDefaultQuantityToStockMovement < ActiveRecord::Migration 2 | def change 3 | change_column :spree_stock_movements, :quantity, :integer, :default => 0 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /api/app/views/spree/api/orders/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | child(@orders => :orders) do 3 | extends "spree/api/orders/order" 4 | end 5 | node(:count) { @orders.count } 6 | node(:current_page) { params[:page] || 1 } 7 | node(:pages) { @orders.num_pages } 8 | -------------------------------------------------------------------------------- /api/app/views/spree/api/taxons/jstree.rabl: -------------------------------------------------------------------------------- 1 | collection @taxon.children, :object_root => false 2 | node(:data) { |taxon| taxon.name } 3 | node(:attr) do |taxon| 4 | { :id => taxon.id, 5 | :name => taxon.name 6 | } 7 | end 8 | node(:state) { "closed" } 9 | -------------------------------------------------------------------------------- /api/db/migrate/20100107141738_add_api_key_to_spree_users.rb: -------------------------------------------------------------------------------- 1 | class AddApiKeyToSpreeUsers < ActiveRecord::Migration 2 | def change 3 | unless defined?(User) 4 | add_column :spree_users, :api_key, :string, :limit => 40 5 | end 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /core/db/migrate/20130120201805_add_position_to_product_properties.spree.rb: -------------------------------------------------------------------------------- 1 | class AddPositionToProductProperties < ActiveRecord::Migration 2 | def change 3 | add_column :spree_product_properties, :position, :integer, :default => 0 4 | end 5 | end 6 | 7 | -------------------------------------------------------------------------------- /core/db/migrate/20130423223847_set_default_shipping_rate_cost.rb: -------------------------------------------------------------------------------- 1 | class SetDefaultShippingRateCost < ActiveRecord::Migration 2 | def change 3 | change_column :spree_shipping_rates, :cost, :decimal, default: 0, precision: 8, scale: 2 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /api/db/migrate/20120530054546_rename_api_key_to_spree_api_key.rb: -------------------------------------------------------------------------------- 1 | class RenameApiKeyToSpreeApiKey < ActiveRecord::Migration 2 | def change 3 | unless defined?(User) 4 | rename_column :spree_users, :api_key, :spree_api_key 5 | end 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /core/db/migrate/20121213162028_add_state_to_spree_adjustments.rb: -------------------------------------------------------------------------------- 1 | class AddStateToSpreeAdjustments < ActiveRecord::Migration 2 | def change 3 | add_column :spree_adjustments, :state, :string 4 | remove_column :spree_adjustments, :locked 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /core/db/migrate/20130301162745_remove_shipping_category_id_from_shipping_method.rb: -------------------------------------------------------------------------------- 1 | class RemoveShippingCategoryIdFromShippingMethod < ActiveRecord::Migration 2 | def change 3 | remove_column :spree_shipping_methods, :shipping_category_id 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/tax_category_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :tax_category, class: Spree::TaxCategory do 3 | name { "TaxCategory - #{rand(999999)}" } 4 | description { generate(:random_string) } 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /api/app/views/spree/api/images/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @image 2 | attributes *image_attributes 3 | attributes :viewable_type, :viewable_id 4 | Spree::Image.attachment_definitions[:attachment][:styles].each do |k,v| 5 | node("#{k}_url") { |i| i.attachment.url(k) } 6 | end 7 | -------------------------------------------------------------------------------- /api/app/views/spree/api/payments/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | child(@payments => :payments) do 3 | attributes *payment_attributes 4 | end 5 | node(:count) { @payments.count } 6 | node(:current_page) { params[:page] || 1 } 7 | node(:pages) { @payments.num_pages } 8 | -------------------------------------------------------------------------------- /api/app/views/spree/api/stock_locations/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @stock_location 2 | attributes *stock_location_attributes 3 | child(:country) do |address| 4 | attributes *country_attributes 5 | end 6 | child(:state) do |address| 7 | attributes *state_attributes 8 | end 9 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/prototypes/select.js.erb: -------------------------------------------------------------------------------- 1 | <% @prototype_properties.sort_by{ |prop| -prop[:id] }.each do |prop| %> 2 | $("a.spree_add_fields").click(); 3 | $(".product_property.fields:first input[type=text]:first").val("<%= prop.name %>"); 4 | <% end %> 5 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/role_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :role, class: Spree::Role do 3 | sequence(:name) { |n| "Role ##{n}" } 4 | 5 | factory :admin_role do 6 | name 'admin' 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /api/app/views/spree/api/countries/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | child(@countries => :countries) do 3 | attributes *country_attributes 4 | end 5 | node(:count) { @countries.count } 6 | node(:current_page) { params[:page] || 1 } 7 | node(:pages) { @countries.num_pages } 8 | -------------------------------------------------------------------------------- /backend/app/controllers/spree/admin/countries_controller.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Admin 3 | class CountriesController < ResourceController 4 | 5 | def collection 6 | super.order(:name) 7 | end 8 | 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /backend/app/helpers/spree/admin/inventory_settings_helper.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Admin 3 | module InventorySettingsHelper 4 | def show_not(true_or_false) 5 | true_or_false ? '' : Spree.t(:not) 6 | end 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /core/db/migrate/20130226032817_change_meta_description_on_spree_products_to_text.rb: -------------------------------------------------------------------------------- 1 | class ChangeMetaDescriptionOnSpreeProductsToText < ActiveRecord::Migration 2 | def change 3 | change_column :spree_products, :meta_description, :text, :limit => nil 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /api/app/views/spree/api/properties/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | child(@properties => :properties) do 3 | attributes *property_attributes 4 | end 5 | node(:count) { @properties.count } 6 | node(:current_page) { params[:page] || 1 } 7 | node(:pages) { @properties.num_pages } 8 | -------------------------------------------------------------------------------- /cmd/lib/spree_cmd/version.rb: -------------------------------------------------------------------------------- 1 | module SpreeCmd 2 | class Version < Thor::Group 3 | include Thor::Actions 4 | 5 | desc 'display spree_cmd version' 6 | 7 | def cmd_version 8 | puts Gem.loaded_specs['spree_cmd'].version 9 | end 10 | 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /core/db/migrate/20130228164411_remove_on_demand_from_product_and_variant.rb: -------------------------------------------------------------------------------- 1 | class RemoveOnDemandFromProductAndVariant < ActiveRecord::Migration 2 | def change 3 | remove_column :spree_products, :on_demand 4 | remove_column :spree_variants, :on_demand 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /core/db/migrate/20130319183250_add_originator_to_stock_movement.rb: -------------------------------------------------------------------------------- 1 | class AddOriginatorToStockMovement < ActiveRecord::Migration 2 | def change 3 | change_table :spree_stock_movements do |t| 4 | t.references :originator, polymorphic: true 5 | end 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /core/spec/models/spree/promotion_action_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe Spree::PromotionAction do 4 | 5 | it "should force developer to implement 'perform' method" do 6 | expect { MyAction.new.perform }.to raise_error 7 | end 8 | 9 | end 10 | 11 | -------------------------------------------------------------------------------- /frontend/app/views/spree/shared/_nav_bar.html.erb: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /api/app/views/spree/api/taxonomies/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | child(@taxonomies => :taxonomies) do 3 | extends "spree/api/taxonomies/show" 4 | end 5 | node(:count) { @taxonomies.count } 6 | node(:current_page) { params[:page] || 1 } 7 | node(:pages) { @taxonomies.num_pages } 8 | -------------------------------------------------------------------------------- /backend/app/helpers/spree/admin/taxons_helper.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Admin 3 | module TaxonsHelper 4 | def taxon_path(taxon) 5 | taxon.ancestors.reverse.collect { |ancestor| ancestor.name }.join( " >> ") 6 | end 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/shipping_categories/_form.html.erb: -------------------------------------------------------------------------------- 1 |
2 |
3 | <%= label_tag Spree.t(:name) %>
4 | <%= f.text_field :name %> 5 |
6 |
7 | -------------------------------------------------------------------------------- /core/app/models/spree/classification.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class Classification < ActiveRecord::Base 3 | self.table_name = 'spree_products_taxons' 4 | belongs_to :product, class_name: "Spree::Product" 5 | belongs_to :taxon, class_name: "Spree::Taxon" 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /core/db/migrate/20130516151222_add_propage_all_variants_to_spree_stock_location.rb: -------------------------------------------------------------------------------- 1 | class AddPropageAllVariantsToSpreeStockLocation < ActiveRecord::Migration 2 | def change 3 | add_column :spree_stock_locations, :propagate_all_variants, :boolean, default: true 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /api/app/views/spree/api/stock_items/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | child(@stock_items => :stock_items) do 3 | extends 'spree/api/stock_items/show' 4 | end 5 | node(:count) { @stock_items.count } 6 | node(:current_page) { params[:page] || 1 } 7 | node(:pages) { @stock_items.num_pages } 8 | -------------------------------------------------------------------------------- /api/lib/spree/api/responders.rb: -------------------------------------------------------------------------------- 1 | require 'spree/api/responders/rabl_template' 2 | 3 | module Spree 4 | module Api 5 | module Responders 6 | class AppResponder < ActionController::Responder 7 | include RablTemplate 8 | end 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /cmd/lib/spree_cmd/templates/extension/config/locales/en.yml: -------------------------------------------------------------------------------- 1 | # Sample localization file for English. Add more files in this directory for other locales. 2 | # See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. 3 | 4 | en: 5 | hello: "Hello world" 6 | -------------------------------------------------------------------------------- /core/app/models/spree/product_option_type.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class ProductOptionType < ActiveRecord::Base 3 | belongs_to :product, class_name: 'Spree::Product' 4 | belongs_to :option_type, class_name: 'Spree::OptionType' 5 | acts_as_list scope: :product 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /core/app/models/spree/shipping_method_category.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class ShippingMethodCategory < ActiveRecord::Base 3 | belongs_to :shipping_method, class_name: 'Spree::ShippingMethod' 4 | belongs_to :shipping_category, class_name: 'Spree::ShippingCategory' 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /core/db/migrate/20130515180736_add_backorderable_default_to_spree_stock_location.rb: -------------------------------------------------------------------------------- 1 | class AddBackorderableDefaultToSpreeStockLocation < ActiveRecord::Migration 2 | def change 3 | add_column :spree_stock_locations, :backorderable_default, :boolean, default: true 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/db/migrate/20130628021056_add_unique_index_to_permalink_on_spree_products.rb: -------------------------------------------------------------------------------- 1 | class AddUniqueIndexToPermalinkOnSpreeProducts < ActiveRecord::Migration 2 | def change 3 | add_index "spree_products", ["permalink"], :name => "permalink_idx_unique", :unique => true 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/country_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :country, class: Spree::Country do 3 | iso_name 'UNITED STATES' 4 | name 'United States of America' 5 | iso 'US' 6 | iso3 'USA' 7 | numcode 840 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /core/db/migrate/20130611054351_rename_shipping_methods_zones_to_spree_shipping_methods_zones.rb: -------------------------------------------------------------------------------- 1 | class RenameShippingMethodsZonesToSpreeShippingMethodsZones < ActiveRecord::Migration 2 | def change 3 | rename_table :shipping_methods_zones, :spree_shipping_methods_zones 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/tax_rate_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :tax_rate, class: Spree::TaxRate do 3 | zone 4 | amount 100.00 5 | tax_category 6 | # association(:calculator, factory: :default_tax_calculator, strategy: :build) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /core/db/migrate/20130207155350_add_order_id_index_to_payments.rb: -------------------------------------------------------------------------------- 1 | class AddOrderIdIndexToPayments < ActiveRecord::Migration 2 | def self.up 3 | add_index :spree_payments, :order_id 4 | end 5 | 6 | def self.down 7 | remove_index :spree_payments, :order_id 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /core/db/migrate/20130227143905_add_pending_to_inventory_unit.rb: -------------------------------------------------------------------------------- 1 | class AddPendingToInventoryUnit < ActiveRecord::Migration 2 | def change 3 | add_column :spree_inventory_units, :pending, :boolean, :default => true 4 | Spree::InventoryUnit.update_all(:pending => false) 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /core/db/migrate/20130619012236_add_updated_at_to_spree_states.rb: -------------------------------------------------------------------------------- 1 | class AddUpdatedAtToSpreeStates < ActiveRecord::Migration 2 | def up 3 | add_column :spree_states, :updated_at, :datetime 4 | end 5 | 6 | def down 7 | remove_column :spree_states, :updated_at 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /core/db/migrate/20130711200933_remove_lock_version_from_inventory_units.rb: -------------------------------------------------------------------------------- 1 | class RemoveLockVersionFromInventoryUnits < ActiveRecord::Migration 2 | def change 3 | # we are moving to pessimistic locking on stock_items 4 | remove_column :spree_inventory_units, :lock_version 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /core/lib/spree/core/environment/calculators.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Core 3 | class Environment 4 | class Calculators 5 | include EnvironmentExtension 6 | 7 | attr_accessor :shipping_methods, :tax_rates 8 | end 9 | end 10 | end 11 | end 12 | 13 | -------------------------------------------------------------------------------- /frontend/config/initializers/rails_5868.rb: -------------------------------------------------------------------------------- 1 | # Temporary fix for 2 | # NoMethodError: undefined method `gsub' for # 3 | # See https://github.com/rails/rails/issues/5868 4 | class Arel::Nodes::Ordering 5 | def gsub(*a, &b) 6 | to_sql.gsub(*a, &b) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /api/app/views/spree/api/taxonomies/nested.v1.rabl: -------------------------------------------------------------------------------- 1 | attributes *taxonomy_attributes 2 | 3 | child :root => :root do 4 | attributes *taxon_attributes 5 | 6 | child :children => :taxons do 7 | attributes *taxon_attributes 8 | 9 | extends "spree/api/taxons/taxons" 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/shared/_sub_menu.html.erb: -------------------------------------------------------------------------------- 1 | <% if content_for?(:sub_menu) %> 2 | 9 | <% end %> 10 | -------------------------------------------------------------------------------- /core/lib/generators/spree/dummy/templates/rails/application.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path('../boot', __FILE__) 2 | 3 | require 'rails/all' 4 | 5 | Bundler.require(*Rails.groups(:assets => %w(development test))) 6 | 7 | require '<%= lib_name %>' 8 | 9 | <%= application_definition %> 10 | 11 | -------------------------------------------------------------------------------- /core/app/views/spree/shared/_routes.html.erb: -------------------------------------------------------------------------------- 1 | 10 | 11 | -------------------------------------------------------------------------------- /core/db/migrate/20130319082943_change_adjustments_amount_precision.rb: -------------------------------------------------------------------------------- 1 | class ChangeAdjustmentsAmountPrecision < ActiveRecord::Migration 2 | def change 3 | 4 | change_column :spree_adjustments, :amount, :decimal, :precision => 10, :scale => 2 5 | 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/activator_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :activator, class: Spree::Activator do 3 | name 'Activator name' 4 | event_name 'spree.order.contents_changed' 5 | starts_at { 2.weeks.ago } 6 | expires_at { 2.weeks.from_now } 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/stock_item_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :stock_item, class: Spree::StockItem do 3 | backorderable true 4 | stock_location 5 | variant 6 | 7 | after(:create) { |object| object.adjust_count_on_hand(10) } 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/stock_movement_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :stock_movement, class: Spree::StockMovement do 3 | quantity 1 4 | action 'sold' 5 | stock_item 6 | end 7 | 8 | trait :received do 9 | action 'received' 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /api/app/views/spree/api/stock_locations/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | child(@stock_locations => :stock_locations) do 3 | extends 'spree/api/stock_locations/show' 4 | end 5 | node(:count) { @stock_locations.count } 6 | node(:current_page) { params[:page] || 1 } 7 | node(:pages) { @stock_locations.num_pages } 8 | -------------------------------------------------------------------------------- /api/app/views/spree/api/stock_movements/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | child(@stock_movements => :stock_movements) do 3 | extends 'spree/api/stock_movements/show' 4 | end 5 | node(:count) { @stock_movements.count } 6 | node(:current_page) { params[:page] || 1 } 7 | node(:pages) { @stock_movements.num_pages } 8 | -------------------------------------------------------------------------------- /core/app/mailers/spree/base_mailer.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class BaseMailer < ActionMailer::Base 3 | def from_address 4 | Spree::Config[:mails_from] 5 | end 6 | 7 | def money(amount) 8 | Spree::Money.new(amount).to_s 9 | end 10 | helper_method :money 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /core/app/mailers/spree/test_mailer.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class TestMailer < BaseMailer 3 | def test_email(user) 4 | subject = "#{Spree::Config[:site_name]} #{Spree.t('test_mailer.test_email.subject')}" 5 | mail(to: user.email, from: from_address, subject: subject) 6 | end 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /core/db/migrate/20130618041418_add_updated_at_to_spree_countries.rb: -------------------------------------------------------------------------------- 1 | class AddUpdatedAtToSpreeCountries < ActiveRecord::Migration 2 | def up 3 | add_column :spree_countries, :updated_at, :datetime 4 | end 5 | 6 | def down 7 | remove_column :spree_countries, :updated_at 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /frontend/app/views/spree/shared/_header.html.erb: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/prototypes/new.js.erb: -------------------------------------------------------------------------------- 1 | $("#new_prototype").html('<%= escape_javascript(render :template => "spree/admin/prototypes/new", :formats=>[:html], :handlers=>[:erb]) %>'); 2 | <% unless Rails.env.test? %> 3 | $('.select2').select2(); 4 | <% end %> 5 | $("#new_prototype_link").parent().hide(); 6 | -------------------------------------------------------------------------------- /core/db/migrate/20121012071449_add_on_demand_to_product_and_variant.rb: -------------------------------------------------------------------------------- 1 | class AddOnDemandToProductAndVariant < ActiveRecord::Migration 2 | def change 3 | add_column :spree_products, :on_demand, :boolean, :default => false 4 | add_column :spree_variants, :on_demand, :boolean, :default => false 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /core/db/migrate/20130328195253_add_seo_metas_to_taxons.rb: -------------------------------------------------------------------------------- 1 | class AddSeoMetasToTaxons < ActiveRecord::Migration 2 | def change 3 | change_table :spree_taxons do |t| 4 | t.string :meta_title 5 | t.string :meta_description 6 | t.string :meta_keywords 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /frontend/app/views/spree/shared/_main_nav_bar.html.erb: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /frontend/app/views/spree/taxons/_taxon.html.erb: -------------------------------------------------------------------------------- 1 |
2 |
<%= link_to taxon.name, seo_url(taxon), :class => 'breadcrumbs' %>
3 | <%= render :partial => 'spree/shared/products', :locals => { :products => taxon_preview(taxon), :taxon => taxon } %> 4 |
5 | -------------------------------------------------------------------------------- /api/app/views/spree/api/product_properties/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | child(@product_properties => :product_properties) do 3 | attributes *product_property_attributes 4 | end 5 | node(:count) { @product_properties.count } 6 | node(:current_page) { params[:page] || 1 } 7 | node(:pages) { @product_properties.num_pages } 8 | -------------------------------------------------------------------------------- /api/app/views/spree/api/orders/order.v1.rabl: -------------------------------------------------------------------------------- 1 | attributes *order_attributes 2 | node(:display_item_total) { |o| o.display_item_total.to_s } 3 | node(:total_quantity) { |o| o.line_items.sum(:quantity) } 4 | node(:display_total) { |o| o.display_total.to_s } 5 | node(:token) { |o| o.token } 6 | node(:checkout_steps) { |o| o.checkout_steps } -------------------------------------------------------------------------------- /backend/app/views/spree/admin/zones/_country_member.html.erb: -------------------------------------------------------------------------------- 1 |
  • 2 | <%= f.hidden_field :zoneable_type, :value => 'Spree::Country' %> 3 | <%= f.collection_select(:zoneable_id, @countries, :id, :name, {:include_blank => true}, {:class => 'select2 fullwidth'}) %> 4 | <%= remove_nested f %> 5 |
  • 6 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/inventory_unit_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :inventory_unit, class: Spree::InventoryUnit do 3 | variant 4 | order 5 | state 'on_hand' 6 | association(:shipment, factory: :shipment, state: 'pending') 7 | # return_authorization 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /backend/app/assets/javascripts/admin/stock_management.js.coffee: -------------------------------------------------------------------------------- 1 | jQuery -> 2 | $('.stock_item_backorderable').live 'click', -> 3 | $(@).parent('form').submit() 4 | $('.toggle_stock_item_backorderable').submit -> 5 | $.ajax 6 | type: @method 7 | url: @action 8 | data: $(@).serialize() 9 | false 10 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/promotions/rules/_user.html.erb: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/zones/_state_member.html.erb: -------------------------------------------------------------------------------- 1 |
  • 2 | <%= f.hidden_field :zoneable_type, :value => 'Spree::State' %> 3 | <%= f.collection_select(:zoneable_id, @states, :id, :name, {:include_blank => true}, {:class => 'select2 fullwidth'}) %> 4 | <%= remove_nested f %> 5 |
  • 6 | -------------------------------------------------------------------------------- /backend/spec/controllers/spree/admin/reports_controller_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe Spree::Admin::ReportsController do 4 | 5 | it 'should respond to model_class as Spree::AdminReportsController' do 6 | controller.send(:model_class).should eql(Spree::Admin::ReportsController) 7 | end 8 | 9 | end 10 | -------------------------------------------------------------------------------- /api/app/models/spree/user_decorator.rb: -------------------------------------------------------------------------------- 1 | if Spree.user_class 2 | Spree.user_class.class_eval do 3 | def generate_spree_api_key! 4 | self.spree_api_key = SecureRandom.hex(24) 5 | save! 6 | end 7 | 8 | def clear_spree_api_key! 9 | self.spree_api_key = nil 10 | save! 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /api/app/views/spree/api/return_authorizations/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | child(@return_authorizations => :return_authorizations) do 3 | attributes *return_authorization_attributes 4 | end 5 | node(:count) { @return_authorizations.count } 6 | node(:current_page) { params[:page] || 1 } 7 | node(:pages) { @return_authorizations.num_pages } 8 | -------------------------------------------------------------------------------- /backend/app/assets/stylesheets/admin/components/_table-filter.scss: -------------------------------------------------------------------------------- 1 | #table-filter { 2 | 3 | .field { 4 | input[type="text"], input[type="phone"], 5 | input[type="email"], input[type="number"], 6 | input[type="url"] { 7 | width: 100%; 8 | } 9 | } 10 | 11 | .actions { 12 | text-align: center; 13 | } 14 | } -------------------------------------------------------------------------------- /core/app/models/spree/promotion_action_line_item.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class PromotionActionLineItem < ActiveRecord::Base 3 | belongs_to :promotion_action, class_name: 'Spree::Promotion::Actions::CreateLineItems' 4 | belongs_to :variant, class_name: "Spree::Variant" 5 | 6 | attr_accessible :quantity, :variant_id 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /core/db/migrate/20130114053446_add_display_on_to_spree_payment_methods.rb: -------------------------------------------------------------------------------- 1 | class AddDisplayOnToSpreePaymentMethods < ActiveRecord::Migration 2 | def self.up 3 | add_column :spree_payment_methods, :display_on, :string 4 | end 5 | 6 | def self.down 7 | remove_column :spree_payment_methods, :display_on 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /core/db/migrate/20130319063911_change_spree_payments_amount_precision.rb: -------------------------------------------------------------------------------- 1 | class ChangeSpreePaymentsAmountPrecision < ActiveRecord::Migration 2 | def change 3 | 4 | change_column :spree_payments, :amount, :decimal, :precision => 10, :scale => 2, :default => 0.0, :null => false 5 | 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /core/db/migrate/20130626232741_add_cvv_result_code_and_cvv_result_message_to_spree_payments.rb: -------------------------------------------------------------------------------- 1 | class AddCvvResultCodeAndCvvResultMessageToSpreePayments < ActiveRecord::Migration 2 | def change 3 | add_column :spree_payments, :cvv_response_code, :string 4 | add_column :spree_payments, :cvv_response_message, :string 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /frontend/app/views/spree/shared/_shipment_tracking.html.erb: -------------------------------------------------------------------------------- 1 | <% shipments = order.shipments.trackable %> 2 | <% if shipments.any? %> 3 |
    <%= Spree.t(:tracking) %>
    4 |
    5 | <% shipments.each do |shipment| %> 6 | <%= link_to_tracking(shipment) %> 7 | <% end %> 8 |
    9 | <% end %> 10 | -------------------------------------------------------------------------------- /core/app/helpers/spree/orders_helper.rb: -------------------------------------------------------------------------------- 1 | require 'truncate_html' 2 | require 'app/helpers/truncate_html_helper' 3 | 4 | module Spree 5 | module OrdersHelper 6 | include TruncateHtmlHelper 7 | 8 | def truncated_product_description(product) 9 | truncate_html(raw(product.description)) 10 | end 11 | end 12 | end 13 | 14 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/shared/_edit_resource_links.html.erb: -------------------------------------------------------------------------------- 1 |
    2 | <%= button Spree.t('actions.update'), 'icon-refresh' %> 3 | <%= Spree.t(:or) %> 4 | <%= button_link_to Spree.t('actions.cancel'), collection_url, :icon => 'icon-remove' %> 5 |
    6 | -------------------------------------------------------------------------------- /core/app/models/spree/promotion/rules/user_logged_in.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class Promotion 3 | module Rules 4 | class UserLoggedIn < PromotionRule 5 | 6 | def eligible?(order, options = {}) 7 | return order.try(:user).try(:anonymous?) == false 8 | end 9 | 10 | end 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /core/app/models/spree/shipping_category.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class ShippingCategory < ActiveRecord::Base 3 | validates :name, presence: true 4 | has_many :products 5 | has_many :shipping_method_categories 6 | has_many :shipping_methods, through: :shipping_method_categories 7 | 8 | attr_accessible :name 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /core/db/migrate/20130318151756_add_source_and_destination_to_stock_movements.rb: -------------------------------------------------------------------------------- 1 | class AddSourceAndDestinationToStockMovements < ActiveRecord::Migration 2 | def change 3 | change_table :spree_stock_movements do |t| 4 | t.references :source, polymorphic: true 5 | t.references :destination, polymorphic: true 6 | end 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /frontend/lib/tasks/rake_util.rb: -------------------------------------------------------------------------------- 1 | class RakeUtil 2 | 3 | def self.add_marker(msg) 4 | puts "#"*30 + " #{msg} " + '#'*30 5 | end 6 | 7 | def self.warning(msg) 8 | puts "#"*50 9 | puts msg 10 | puts "#"*50 11 | end 12 | 13 | def self.execute(cmd) 14 | puts cmd 15 | system cmd 16 | end 17 | 18 | end 19 | 20 | -------------------------------------------------------------------------------- /frontend/vendor/assets/javascripts/jquery.validate/localization/methods_pt.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: PT_BR 4 | */ 5 | jQuery.extend(jQuery.validator.methods, { 6 | date: function(value, element) { 7 | return this.optional(element) || /^\d\d?\/\d\d?\/\d\d\d?\d?$/.test(value); 8 | } 9 | }); -------------------------------------------------------------------------------- /core/app/models/spree/tracker.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class Tracker < ActiveRecord::Base 3 | attr_accessible :analytics_id, :environment, :active 4 | 5 | def self.current 6 | tracker = where(active: true, environment: Rails.env).first 7 | tracker.analytics_id.present? ? tracker : nil if tracker 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /core/db/migrate/20130718233855_set_backorderable_to_default_to_false.rb: -------------------------------------------------------------------------------- 1 | class SetBackorderableToDefaultToFalse < ActiveRecord::Migration 2 | def change 3 | change_column :spree_stock_items, :backorderable, :boolean, :default => false 4 | change_column :spree_stock_locations, :backorderable_default, :boolean, :default => false 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/options_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :option_value, class: Spree::OptionValue do 3 | name 'Size' 4 | presentation 'S' 5 | option_type 6 | end 7 | 8 | factory :option_type, class: Spree::OptionType do 9 | name 'foo-size' 10 | presentation 'Size' 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /core/spec/models/spree/product_property_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe Spree::ProductProperty do 4 | 5 | context "validations" do 6 | it "should validate length of value" do 7 | pp = create(:product_property) 8 | pp.value = "x" * 256 9 | pp.should_not be_valid 10 | end 11 | 12 | end 13 | 14 | end 15 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/shared/_new_resource_links.html.erb: -------------------------------------------------------------------------------- 1 |
    2 | <%= button Spree.t('actions.create'), 'icon-ok' %> 3 | <%= Spree.t(:or) %> 4 | <%= link_to_with_icon 'icon-remove', Spree.t('actions.cancel'), collection_url, :class => 'button' %> 5 |
    6 | -------------------------------------------------------------------------------- /core/app/helpers/spree/store_helper.rb: -------------------------------------------------------------------------------- 1 | # Methods added to this helper will be available to all templates in the frontend. 2 | module Spree 3 | module StoreHelper 4 | 5 | # helper to determine if its appropriate to show the store menu 6 | def store_menu? 7 | %w{thank_you}.exclude? params[:action] 8 | end 9 | 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /frontend/vendor/assets/javascripts/jquery.validate/localization/methods_nl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: NL 4 | */ 5 | jQuery.extend(jQuery.validator.methods, { 6 | date: function(value, element) { 7 | return this.optional(element) || /^\d\d?[\.\/\-]\d\d?[\.\/\-]\d\d\d?\d?$/.test(value); 8 | } 9 | }); -------------------------------------------------------------------------------- /backend/app/views/spree/admin/shared/_alert.html.erb: -------------------------------------------------------------------------------- 1 |
    2 | <%= alert.message %> <%= link_to alert.url_name, alert.url if alert.url %> 3 | <%= link_to 'X', spree.dismiss_alert_admin_general_settings_path(:alert_id => alert.id), 4 | :remote => true, :method => :post, :class => 'dismiss' %> 5 |
    6 | -------------------------------------------------------------------------------- /core/db/migrate/20130211191120_create_spree_stock_locations.rb: -------------------------------------------------------------------------------- 1 | class CreateSpreeStockLocations < ActiveRecord::Migration 2 | def change 3 | create_table :spree_stock_locations do |t| 4 | t.string :name 5 | t.belongs_to :address 6 | 7 | t.timestamps 8 | end 9 | add_index :spree_stock_locations, :address_id 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /frontend/app/views/spree/shared/_footer.html.erb: -------------------------------------------------------------------------------- 1 |
    2 | 5 | 6 |
    7 | -------------------------------------------------------------------------------- /frontend/spec/helpers/base_helper_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | module Spree 4 | describe BaseHelper do 5 | # Regression test for #2759 6 | it "nested_taxons_path works with a Taxon object" do 7 | taxon = create(:taxon, :name => "iphone") 8 | spree.nested_taxons_path(taxon).should == "/t/iphone" 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /api/spec/support/database_cleaner.rb: -------------------------------------------------------------------------------- 1 | RSpec.configure do |config| 2 | config.before(:suite) do 3 | DatabaseCleaner.strategy = :transaction 4 | DatabaseCleaner.clean_with(:truncation) 5 | end 6 | 7 | config.before(:each) do 8 | DatabaseCleaner.start 9 | end 10 | 11 | config.after(:each) do 12 | DatabaseCleaner.clean 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /backend/app/controllers/spree/admin/option_values_controller.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Admin 3 | class OptionValuesController < Spree::Admin::BaseController 4 | def destroy 5 | option_value = Spree::OptionValue.find(params[:id]) 6 | option_value.destroy 7 | render :text => nil 8 | end 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/shared/_menu.html.erb: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/shared/_show_resource_links.html.erb: -------------------------------------------------------------------------------- 1 |

    2 | <%= link_to Spree.t(:edit), edit_object_url %> | 3 | <%= link_to Spree.t(:back), collection_url %> | 4 | <%= link_to Spree.t(:delete), object_url, :method => :delete, :data => { :confirm => Spree.t(:are_you_sure_you_want_to_delete_this_record) } %> 5 |

    6 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/shared/_sidebar.html.erb: -------------------------------------------------------------------------------- 1 | <% if content_for?(:sidebar) %> 2 | 10 | <% end %> 11 | -------------------------------------------------------------------------------- /backend/vendor/assets/javascripts/jquery.vAlign.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | // VERTICALLY ALIGN FUNCTION 3 | $.fn.vAlign = function() { 4 | return this.each(function(i){ 5 | var ah = $(this).height(); 6 | var ph = $(this).parent().height(); 7 | var mh = Math.ceil((ph-ah) / 2); 8 | $(this).css('margin-top', mh); 9 | }); 10 | }; 11 | })(jQuery); -------------------------------------------------------------------------------- /cmd/lib/spree_cmd/templates/extension/lib/%file_name%/factories.rb.tt: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | # Define your Spree extensions Factories within this file to enable applications, and other extensions to use and override them. 3 | # 4 | # Example adding this to your spec_helper will load these Factories for use: 5 | # require '<%= file_name %>/factories' 6 | end 7 | -------------------------------------------------------------------------------- /frontend/app/views/spree/orders/new.html.erb: -------------------------------------------------------------------------------- 1 | <% @body_id = 'cart' %> 2 | 3 |

    <%= Spree.t(:shopping_cart) %>

    4 | 5 | <%= form_for @order, :url =>'#', :method => :put do |order_form| %> 6 | <%= render :partial => 'form', :locals => { :order_form => order_form } %> 7 | <% end %> 8 | 9 |

    <%= link_to Spree.t(:continue_shopping), products_path %>

    10 | -------------------------------------------------------------------------------- /api/script/rails: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. 3 | 4 | ENGINE_ROOT = File.expand_path('../..', __FILE__) 5 | ENGINE_PATH = File.expand_path('../../lib/spree/api/engine', __FILE__) 6 | 7 | require 'rails/all' 8 | require 'rails/engine/commands' 9 | 10 | -------------------------------------------------------------------------------- /backend/app/assets/stylesheets/admin/hacks/_opera.scss: -------------------------------------------------------------------------------- 1 | html.opera { 2 | 3 | // Fix legend center align 4 | legend { 5 | margin: 0 auto; 6 | } 7 | 8 | // Properly align icons in circle 9 | table td.actions .no-text.icon-edit { 10 | padding-left: 1px; 11 | } 12 | 13 | // Fix sidebar margin 14 | #sidebar { 15 | margin-top: 18px; 16 | } 17 | } -------------------------------------------------------------------------------- /backend/app/views/spree/admin/shared/_product_sub_menu.html.erb: -------------------------------------------------------------------------------- 1 | <% content_for :sub_menu do %> 2 | 8 | <% end %> -------------------------------------------------------------------------------- /core/db/migrate/20130304192936_remove_category_match_attributes_from_shipping_method.rb: -------------------------------------------------------------------------------- 1 | class RemoveCategoryMatchAttributesFromShippingMethod < ActiveRecord::Migration 2 | def change 3 | remove_column :spree_shipping_methods, :match_none 4 | remove_column :spree_shipping_methods, :match_one 5 | remove_column :spree_shipping_methods, :match_all 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /core/db/migrate/20130325163316_migrate_inventory_unit_sold_to_on_hand.rb: -------------------------------------------------------------------------------- 1 | class MigrateInventoryUnitSoldToOnHand < ActiveRecord::Migration 2 | def up 3 | Spree::InventoryUnit.where(:state => 'sold').update_all(:state => 'on_hand') 4 | end 5 | 6 | def down 7 | Spree::InventoryUnit.where(:state => 'on_hand').update_all(:state => 'sold') 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /core/lib/generators/spree/dummy/templates/rails/script/rails: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. 3 | 4 | APP_PATH = File.expand_path('../../config/application', __FILE__) 5 | require File.expand_path('../../config/boot', __FILE__) 6 | require 'rails/commands' 7 | -------------------------------------------------------------------------------- /core/lib/spree/i18n/base.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module ViewContext 3 | def self.context=(context) 4 | @context = context 5 | end 6 | 7 | def self.context 8 | @context 9 | end 10 | 11 | def view_context 12 | super.tap do |context| 13 | Spree::ViewContext.context = context 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /core/spec/models/spree/activator_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe Spree::Activator do 4 | 5 | context "register_event_name" do 6 | it "adds the name to event_names" do 7 | Spree::Activator.register_event_name('spree.new_event') 8 | Spree::Activator.event_names.should include('spree.new_event') 9 | end 10 | end 11 | 12 | end 13 | -------------------------------------------------------------------------------- /frontend/app/views/spree/shared/_taxonomies.html.erb: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /core/app/assets/javascripts/admin/handlebar_extensions.js: -------------------------------------------------------------------------------- 1 | //= require handlebars 2 | Handlebars.registerHelper("t", function(key) { 3 | if (Spree.translations[key]) { 4 | return Spree.translations[key] 5 | } else { 6 | console.error("No translation found for " + key + ". Does it exist within spree/admin/shared/_translations.html.erb?") 7 | } 8 | }); 9 | 10 | -------------------------------------------------------------------------------- /core/db/migrate/20130319064308_change_spree_return_authorization_amount_precision.rb: -------------------------------------------------------------------------------- 1 | class ChangeSpreeReturnAuthorizationAmountPrecision < ActiveRecord::Migration 2 | def change 3 | 4 | change_column :spree_return_authorizations, :amount, :decimal, :precision => 10, :scale => 2, :default => 0.0, :null => false 5 | 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/extension_rake.rb: -------------------------------------------------------------------------------- 1 | require 'spree/testing_support/common_rake' 2 | 3 | desc "Generates a dummy app for testing an extension" 4 | namespace :extension do 5 | task :test_app, [:user_class] do |t, args| 6 | Spree::DummyGeneratorHelper.inject_extension_requirements = true 7 | Rake::Task['common:test_app'].invoke 8 | end 9 | end 10 | 11 | -------------------------------------------------------------------------------- /core/script/rails: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. 3 | 4 | ENGINE_ROOT = File.expand_path('../..', __FILE__) 5 | ENGINE_PATH = File.expand_path('../../lib/spree/core/engine', __FILE__) 6 | 7 | require 'rails/all' 8 | require 'rails/engine/commands' 9 | 10 | -------------------------------------------------------------------------------- /frontend/app/views/spree/home/index.html.erb: -------------------------------------------------------------------------------- 1 | <% content_for :sidebar do %> 2 |
    3 | <%= render :partial => 'spree/shared/taxonomies' %> 4 |
    5 | <% end %> 6 | 7 |
    8 | <%= render :partial => 'spree/shared/products', :locals => { :products => @products } %> 9 |
    10 | 11 | -------------------------------------------------------------------------------- /api/app/views/spree/api/taxonomies/show.v1.rabl: -------------------------------------------------------------------------------- 1 | object @taxonomy 2 | 3 | if set = params[:set] 4 | extends "spree/api/taxonomies/#{set}" 5 | else 6 | attributes *taxonomy_attributes 7 | 8 | child :root => :root do 9 | attributes *taxon_attributes 10 | 11 | child :children => :taxons do 12 | attributes *taxon_attributes 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/products/new.js.erb: -------------------------------------------------------------------------------- 1 | $("#new_product_wrapper").html('<%= escape_javascript(render :template => "spree/admin/products/new", :formats => [:html], :handlers => [:erb]) %>'); 2 | handle_date_picker_fields(); 3 | <% unless Rails.env.test? %> 4 | $('.select2').select2(); 5 | <% end %> 6 | $("#table-filter").hide(); 7 | $("#admin_new_product").parent().hide(); 8 | -------------------------------------------------------------------------------- /cmd/lib/spree_cmd/templates/extension/script/rails.tt: -------------------------------------------------------------------------------- 1 | # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. 2 | 3 | ENGINE_ROOT = File.expand_path('../..', __FILE__) 4 | ENGINE_PATH = File.expand_path('../../lib/<%= file_name -%>/engine', __FILE__) 5 | 6 | require 'rails/all' 7 | require 'rails/engine/commands' 8 | -------------------------------------------------------------------------------- /core/lib/generators/spree/custom_user/templates/migration.rb.tt: -------------------------------------------------------------------------------- 1 | class AddSpreeFieldsToCustomUserTable < ActiveRecord::Migration 2 | def up 3 | add_column <%= table_name.inspect %>, :spree_api_key, :string, :limit => 48 4 | add_column <%= table_name.inspect %>, :ship_address_id, :integer 5 | add_column <%= table_name.inspect %>, :bill_address_id, :integer 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- 1 | Core 2 | ==== 3 | 4 | Core e-commerce functionality for the Spree project 5 | 6 | 7 | Testing 8 | ------- 9 | 10 | Create the test site 11 | 12 | bundle exec rake test_app 13 | 14 | Run the tests 15 | 16 | bundle exec rake spec 17 | 18 | Run the coverage. After the rake task open coverage/index.html 19 | 20 | bundle exec rake rcov 21 | 22 | -------------------------------------------------------------------------------- /frontend/script/rails: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. 3 | 4 | ENGINE_ROOT = File.expand_path('../..', __FILE__) 5 | ENGINE_PATH = File.expand_path('../../lib/spree/frontend/engine', __FILE__) 6 | 7 | require 'rails/all' 8 | require 'rails/engine/commands' 9 | 10 | -------------------------------------------------------------------------------- /api/app/views/spree/api/config/money.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:symbol) { ::Money.new(1, Spree::Config[:currency]).symbol } 3 | node(:symbol_position) { Spree::Config[:currency_symbol_position] } 4 | node(:no_cents) { Spree::Config[:hide_cents] } 5 | node(:decimal_mark) { Spree::Config[:currency_decimal_mark] } 6 | node(:thousands_separator) { Spree::Config[:currency_thousands_separator] } -------------------------------------------------------------------------------- /backend/app/helpers/spree/admin/stock_movements_helper.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Admin 3 | module StockMovementsHelper 4 | def pretty_originator(stock_movement) 5 | if stock_movement.originator.respond_to?(:number) 6 | stock_movement.originator.number 7 | else 8 | "" 9 | end 10 | end 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /core/lib/spree/testing_support/factories/state_factory.rb: -------------------------------------------------------------------------------- 1 | FactoryGirl.define do 2 | factory :state, class: Spree::State do 3 | name 'Alabama' 4 | abbr 'AL' 5 | country do |country| 6 | if usa = Spree::Country.find_by_numcode(840) 7 | country = usa 8 | else 9 | country.association(:country) 10 | end 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /backend/app/helpers/spree/admin/payments_helper.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Admin 3 | module PaymentsHelper 4 | def payment_method_name(payment) 5 | # hack to allow us to retrieve the name of a "deleted" payment method 6 | id = payment.payment_method_id 7 | Spree::PaymentMethod.find_with_destroyed(id).name 8 | end 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/shared/_table_filter.html.erb: -------------------------------------------------------------------------------- 1 | <% if content_for?(:table_filter) %> 2 |
    3 |
    4 | <%= yield :table_filter_title %> 5 | <%= yield :table_filter %> 6 |
    7 |
    8 | <% end %> 9 | -------------------------------------------------------------------------------- /backend/app/views/spree/admin/taxonomies/_form.html.erb: -------------------------------------------------------------------------------- 1 |
    2 | <%= f.field_container :name do %> 3 | <%= f.label :name, Spree.t(:name) %> *
    4 | <%= error_message_on :taxonomy, :name, :class => 'fullwidth title' %> 5 | <%= text_field :taxonomy, :name %> 6 | <% end %> 7 |
    8 | -------------------------------------------------------------------------------- /core/db/migrate/20130305143310_create_stock_movements.rb: -------------------------------------------------------------------------------- 1 | class CreateStockMovements < ActiveRecord::Migration 2 | def change 3 | create_table :spree_stock_movements do |t| 4 | t.belongs_to :stock_item 5 | t.integer :quantity 6 | t.string :action 7 | 8 | t.timestamps 9 | end 10 | add_index :spree_stock_movements, :stock_item_id 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /core/app/models/spree/state_change.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class StateChange < ActiveRecord::Base 3 | belongs_to :user 4 | belongs_to :stateful, polymorphic: true 5 | before_create :assign_user 6 | 7 | def <=>(other) 8 | created_at <=> other.created_at 9 | end 10 | 11 | def assign_user 12 | true # don't stop the filters 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /core/app/models/spree/prototype.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class Prototype < ActiveRecord::Base 3 | has_and_belongs_to_many :properties, join_table: :spree_properties_prototypes 4 | has_and_belongs_to_many :option_types, join_table: :spree_option_types_prototypes 5 | 6 | attr_accessible :name, :property_ids, :option_type_ids 7 | 8 | validates :name, presence: true 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /api/app/views/spree/api/products/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | node(:count) { @products.count } 3 | node(:total_count) { @products.total_count } 4 | node(:current_page) { params[:page] ? params[:page].to_i : 1 } 5 | node(:per_page) { params[:per_page] || Kaminari.config.default_per_page } 6 | node(:pages) { @products.num_pages } 7 | child(@products) do 8 | extends "spree/api/products/show" 9 | end 10 | -------------------------------------------------------------------------------- /api/app/views/spree/api/states/index.v1.rabl: -------------------------------------------------------------------------------- 1 | object false 2 | if @country 3 | node(:states_required) { @country.states_required } 4 | end 5 | 6 | child(@states => :states) do 7 | attributes *state_attributes 8 | end 9 | 10 | if @states.respond_to?(:num_pages) 11 | node(:count) { @states.count } 12 | node(:current_page) { params[:page] || 1 } 13 | node(:pages) { @states.num_pages } 14 | end 15 | -------------------------------------------------------------------------------- /backend/app/controllers/spree/admin/overview_controller.rb: -------------------------------------------------------------------------------- 1 | # this clas was inspired (heavily) from the mephisto admin architecture 2 | module Spree 3 | module Admin 4 | class OverviewController < Spree::Admin::BaseController 5 | #todo, add rss feed of information that is happening 6 | 7 | def index 8 | @users = User.all 9 | end 10 | 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /core/db/migrate/20121107003422_remove_not_null_from_spree_prices_amount.rb: -------------------------------------------------------------------------------- 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 10 | -------------------------------------------------------------------------------- /frontend/spec/controllers/spree/content_controller_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | describe Spree::ContentController do 3 | it "should not display a local file" do 4 | spree_get :show, :path => "../../Gemfile" 5 | response.response_code.should == 404 6 | end 7 | 8 | it "should display CVV page" do 9 | spree_get :cvv 10 | response.response_code.should == 200 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /api/app/overrides/api_admin_user_edit_form.rb: -------------------------------------------------------------------------------- 1 | if defined?(Deface) 2 | Deface::Override.new(:virtual_path => "spree/admin/users/edit", 3 | :name => "api_admin_user_edit_form", 4 | :insert_after => "[data-hook='admin_user_edit_general_settings']", 5 | :partial => "spree/admin/users/api_fields", 6 | :disabled => false) 7 | end 8 | -------------------------------------------------------------------------------- /backend/app/assets/javascripts/admin/images/index.js.coffee: -------------------------------------------------------------------------------- 1 | $ -> 2 | ($ '#new_image_link').click (event) -> 3 | event.preventDefault() 4 | 5 | ($ '.no-objects-found').hide() 6 | 7 | ($ this).hide() 8 | $.ajax 9 | type: 'GET' 10 | url: @href 11 | data: ( 12 | authenticity_token: AUTH_TOKEN 13 | ) 14 | success: (r) -> 15 | ($ '#images').html r 16 | -------------------------------------------------------------------------------- /backend/app/assets/stylesheets/admin/components/_pagination.scss: -------------------------------------------------------------------------------- 1 | .pagination { 2 | padding: 10px 0; 3 | text-align: center; 4 | 5 | .page { 6 | padding: 5px 8px; 7 | text-align: center; 8 | display: inline-block; 9 | text-align: center; 10 | 11 | &.current { 12 | background-color: $color-2; 13 | border-radius: 3px; 14 | color: $color-1; 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /cmd/lib/spree_cmd.rb: -------------------------------------------------------------------------------- 1 | require 'thor' 2 | require 'thor/group' 3 | 4 | case ARGV.first 5 | when 'version', '-v', '--version' 6 | puts Gem.loaded_specs['spree_cmd'].version 7 | when 'extension' 8 | ARGV.shift 9 | require 'spree_cmd/extension' 10 | SpreeCmd::Extension.start 11 | else 12 | ARGV.shift 13 | require 'spree_cmd/installer' 14 | SpreeCmd::Installer.start 15 | end 16 | -------------------------------------------------------------------------------- /backend/app/helpers/spree/admin/tables_helper.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | module Admin 3 | module TablesHelper 4 | 5 | # Adds class 'active' to & tags 6 | # for better tables styling 7 | def sort_by_active_class(row) 8 | if params[:q][:s] && params[:q][:s].include?(row) 9 | return "sort-active" 10 | end 11 | end 12 | 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /core/app/models/spree/option_value.rb: -------------------------------------------------------------------------------- 1 | module Spree 2 | class OptionValue < ActiveRecord::Base 3 | belongs_to :option_type 4 | acts_as_list scope: :option_type 5 | has_and_belongs_to_many :variants, join_table: 'spree_option_values_variants', class_name: "Spree::Variant" 6 | 7 | validates :name, :presentation, presence: true 8 | 9 | attr_accessible :name, :presentation 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /sample/db/samples/option_types.rb: -------------------------------------------------------------------------------- 1 | option_types = [ 2 | { 3 | :name => "tshirt-size", 4 | :presentation => "Size", 5 | :position => 1 6 | }, 7 | { 8 | :name => "tshirt-color", 9 | :presentation => "Color", 10 | :position => 2 11 | } 12 | ] 13 | 14 | option_types.each do |option_type_attrs| 15 | Spree::OptionType.create!(option_type_attrs, :without_protection => true) 16 | end 17 | --------------------------------------------------------------------------------