spree_core 3.1.14 → 3.2.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (529) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/{spree.js.coffee.erb → spree.js.coffee} +2 -2
  3. data/app/helpers/spree/base_helper.rb +1 -1
  4. data/app/helpers/spree/products_helper.rb +0 -6
  5. data/app/mailers/spree/reimbursement_mailer.rb +6 -6
  6. data/app/models/concerns/spree/acts_as_taggable.rb +11 -0
  7. data/app/models/concerns/spree/adjustment_source.rb +1 -1
  8. data/app/models/concerns/spree/ransackable_attributes.rb +0 -5
  9. data/app/models/spree/address.rb +67 -38
  10. data/app/models/spree/app_configuration.rb +9 -6
  11. data/app/models/spree/base.rb +1 -1
  12. data/app/models/spree/calculator.rb +1 -1
  13. data/app/models/spree/country.rb +5 -4
  14. data/app/models/spree/credit_card.rb +3 -3
  15. data/app/models/spree/gateway/bogus.rb +11 -11
  16. data/app/models/spree/gateway/bogus_simple.rb +4 -4
  17. data/app/models/spree/gateway.rb +1 -1
  18. data/app/models/spree/image.rb +2 -2
  19. data/app/models/spree/inventory_unit.rb +6 -10
  20. data/app/models/spree/line_item.rb +17 -6
  21. data/app/models/spree/order/checkout.rb +2 -2
  22. data/app/models/spree/order.rb +12 -25
  23. data/app/models/spree/order_contents.rb +7 -6
  24. data/app/models/spree/order_inventory.rb +12 -1
  25. data/app/models/spree/order_updater.rb +1 -2
  26. data/app/models/spree/payment/processing.rb +3 -3
  27. data/app/models/spree/payment_method.rb +7 -1
  28. data/app/models/spree/preferences/store.rb +3 -3
  29. data/app/models/spree/product/scopes.rb +16 -20
  30. data/app/models/spree/product.rb +11 -3
  31. data/app/models/spree/promotion/actions/create_line_items.rb +21 -3
  32. data/app/models/spree/promotion/rules/country.rb +23 -0
  33. data/app/models/spree/promotion/rules/option_value.rb +13 -10
  34. data/app/models/spree/promotion/rules/taxon.rb +1 -1
  35. data/app/models/spree/promotion.rb +35 -1
  36. data/app/models/spree/promotion_handler/cart.rb +3 -17
  37. data/app/models/spree/promotion_handler/coupon.rb +22 -22
  38. data/app/models/spree/promotion_handler/page.rb +2 -2
  39. data/app/models/spree/refund.rb +1 -1
  40. data/app/models/spree/refund_reason.rb +1 -1
  41. data/app/models/spree/reimbursement_type.rb +5 -1
  42. data/app/models/spree/return_item.rb +1 -1
  43. data/app/models/spree/shipment.rb +4 -6
  44. data/app/models/spree/shipment_handler.rb +1 -1
  45. data/app/models/spree/stock/adjuster.rb +9 -2
  46. data/app/models/spree/stock/coordinator.rb +11 -4
  47. data/app/models/spree/stock/inventory_unit_builder.rb +1 -1
  48. data/app/models/spree/stock/package.rb +11 -3
  49. data/app/models/spree/stock/packer.rb +15 -5
  50. data/app/models/spree/stock/prioritizer.rb +25 -15
  51. data/app/models/spree/stock/splitter/shipping_category.rb +6 -1
  52. data/app/models/spree/stock_item.rb +2 -1
  53. data/app/models/spree/stock_movement.rb +11 -6
  54. data/app/models/spree/store.rb +1 -0
  55. data/app/models/spree/store_credit.rb +1 -1
  56. data/app/models/spree/tag.rb +4 -0
  57. data/app/models/spree/tax_rate.rb +6 -0
  58. data/app/models/spree/taxon.rb +3 -3
  59. data/app/models/spree/variant.rb +6 -3
  60. data/app/models/spree/zone.rb +2 -2
  61. data/app/views/spree/shared/_paths.html.erb +8 -0
  62. data/config/initializers/acts_as_taggable_on.rb +9 -0
  63. data/config/initializers/friendly_id.rb +0 -81
  64. data/config/locales/en.yml +11 -0
  65. data/db/default/spree/countries.rb +5 -1
  66. data/db/default/spree/roles.rb +2 -2
  67. data/db/default/spree/states.rb +1 -1
  68. data/db/migrate/20120831092320_spree_one_two.rb +101 -101
  69. data/db/migrate/20120831092359_spree_promo_one_two.rb +14 -14
  70. data/db/migrate/20120905145253_add_tax_rate_label.rb +1 -1
  71. data/db/migrate/20120905151823_add_toggle_tax_rate_display.rb +2 -2
  72. data/db/migrate/20120929093553_remove_unused_preference_columns.rb +4 -4
  73. data/db/migrate/20121009142519_add_lock_version_to_variant.rb +2 -2
  74. data/db/migrate/20121010142909_add_states_required_to_countries.rb +2 -2
  75. data/db/migrate/20121012071449_add_on_demand_to_product_and_variant.rb +3 -3
  76. data/db/migrate/20121017010007_remove_not_null_constraint_from_products_on_hand.rb +5 -5
  77. data/db/migrate/20121031162139_split_prices_from_variants.rb +10 -10
  78. data/db/migrate/20121107003422_remove_not_null_from_spree_prices_amount.rb +3 -3
  79. data/db/migrate/20121107184631_add_currency_to_line_items.rb +1 -1
  80. data/db/migrate/20121107194006_add_currency_to_orders.rb +1 -1
  81. data/db/migrate/20121109173623_add_cost_currency_to_variants.rb +2 -2
  82. data/db/migrate/20121111231553_remove_display_on_from_payment_methods.rb +1 -1
  83. data/db/migrate/20121124203911_add_position_to_taxonomies.rb +2 -2
  84. data/db/migrate/20121126040517_add_last_ip_to_spree_orders.rb +1 -1
  85. data/db/migrate/20121213162028_add_state_to_spree_adjustments.rb +1 -1
  86. data/db/migrate/20130114053446_add_display_on_to_spree_payment_methods.rb +1 -1
  87. data/db/migrate/20130120201805_add_position_to_product_properties.spree.rb +2 -2
  88. data/db/migrate/20130203232234_add_identifier_to_spree_payments.rb +1 -1
  89. data/db/migrate/20130207155350_add_order_id_index_to_payments.rb +1 -1
  90. data/db/migrate/20130208032954_add_primary_to_spree_products_taxons.rb +1 -1
  91. data/db/migrate/20130211190146_create_spree_stock_items.rb +2 -2
  92. data/db/migrate/20130211191120_create_spree_stock_locations.rb +1 -1
  93. data/db/migrate/20130213191427_create_default_stock.rb +1 -2
  94. data/db/migrate/20130222032153_add_order_id_index_to_shipments.rb +1 -1
  95. data/db/migrate/20130226032817_change_meta_description_on_spree_products_to_text.rb +2 -2
  96. data/db/migrate/20130226191231_add_stock_location_id_to_spree_shipments.rb +1 -1
  97. data/db/migrate/20130227143905_add_pending_to_inventory_unit.rb +3 -3
  98. data/db/migrate/20130228164411_remove_on_demand_from_product_and_variant.rb +1 -1
  99. data/db/migrate/20130228210442_create_shipping_method_zone.rb +3 -3
  100. data/db/migrate/20130301162745_remove_shipping_category_id_from_shipping_method.rb +1 -1
  101. data/db/migrate/20130301162924_create_shipping_method_categories.rb +3 -3
  102. data/db/migrate/20130301205200_add_tracking_url_to_spree_shipping_methods.rb +1 -1
  103. data/db/migrate/20130304162240_create_spree_shipping_rates.rb +5 -5
  104. data/db/migrate/20130304192936_remove_category_match_attributes_from_shipping_method.rb +1 -1
  105. data/db/migrate/20130305143310_create_stock_movements.rb +1 -1
  106. data/db/migrate/20130306181701_add_address_fields_to_stock_location.rb +3 -3
  107. data/db/migrate/20130306191917_add_active_field_to_stock_locations.rb +2 -2
  108. data/db/migrate/20130306195650_add_backorderable_to_stock_item.rb +2 -2
  109. data/db/migrate/20130307161754_add_default_quantity_to_stock_movement.rb +2 -2
  110. data/db/migrate/20130318151756_add_source_and_destination_to_stock_movements.rb +1 -1
  111. data/db/migrate/20130319062004_change_orders_total_precision.rb +5 -5
  112. data/db/migrate/20130319063911_change_spree_payments_amount_precision.rb +2 -2
  113. data/db/migrate/20130319064308_change_spree_return_authorization_amount_precision.rb +2 -2
  114. data/db/migrate/20130319082943_change_adjustments_amount_precision.rb +2 -2
  115. data/db/migrate/20130319183250_add_originator_to_stock_movement.rb +1 -1
  116. data/db/migrate/20130319190507_drop_source_and_destination_from_stock_movement.rb +3 -3
  117. data/db/migrate/20130325163316_migrate_inventory_unit_sold_to_on_hand.rb +3 -3
  118. data/db/migrate/20130326175857_add_stock_location_to_rma.rb +1 -1
  119. data/db/migrate/20130328130308_update_shipment_state_for_canceled_orders.rb +1 -1
  120. data/db/migrate/20130328195253_add_seo_metas_to_taxons.rb +1 -1
  121. data/db/migrate/20130329134939_remove_stock_item_and_variant_lock.rb +1 -1
  122. data/db/migrate/20130413230529_add_name_to_spree_credit_cards.rb +1 -1
  123. data/db/migrate/20130414000512_update_name_fields_on_spree_credit_cards.rb +2 -2
  124. data/db/migrate/20130417120034_add_index_to_source_columns_on_adjustments.rb +1 -1
  125. data/db/migrate/20130417120035_update_adjustment_states.rb +3 -3
  126. data/db/migrate/20130417123427_add_shipping_rates_to_shipments.rb +4 -4
  127. data/db/migrate/20130418125341_create_spree_stock_transfers.rb +1 -1
  128. data/db/migrate/20130423110707_drop_products_count_on_hand.rb +1 -1
  129. data/db/migrate/20130423223847_set_default_shipping_rate_cost.rb +1 -1
  130. data/db/migrate/20130509115210_add_number_to_stock_transfer.rb +1 -1
  131. data/db/migrate/20130514151929_add_sku_index_to_spree_variants.rb +1 -1
  132. data/db/migrate/20130515180736_add_backorderable_default_to_spree_stock_location.rb +1 -1
  133. data/db/migrate/20130516151222_add_propage_all_variants_to_spree_stock_location.rb +1 -1
  134. data/db/migrate/20130611054351_rename_shipping_methods_zones_to_spree_shipping_methods_zones.rb +1 -1
  135. data/db/migrate/20130611185927_add_user_id_index_to_spree_orders.rb +1 -1
  136. data/db/migrate/20130618041418_add_updated_at_to_spree_countries.rb +1 -1
  137. data/db/migrate/20130619012236_add_updated_at_to_spree_states.rb +1 -1
  138. data/db/migrate/20130626232741_add_cvv_result_code_and_cvv_result_message_to_spree_payments.rb +1 -1
  139. data/db/migrate/20130628021056_add_unique_index_to_permalink_on_spree_products.rb +2 -2
  140. data/db/migrate/20130628022817_add_unique_index_to_orders_shipments_and_stock_transfers.rb +4 -4
  141. data/db/migrate/20130708052307_add_deleted_at_to_spree_tax_rates.rb +1 -1
  142. data/db/migrate/20130711200933_remove_lock_version_from_inventory_units.rb +1 -1
  143. data/db/migrate/20130718042445_add_cost_price_to_line_item.rb +2 -2
  144. data/db/migrate/20130718233855_set_backorderable_to_default_to_false.rb +3 -3
  145. data/db/migrate/20130725031716_add_created_by_id_to_spree_orders.rb +1 -1
  146. data/db/migrate/20130729214043_index_completed_at_on_spree_orders.rb +1 -1
  147. data/db/migrate/20130802014537_add_tax_category_id_to_spree_line_items.rb +1 -1
  148. data/db/migrate/20130802022321_migrate_tax_categories_to_line_items.rb +1 -1
  149. data/db/migrate/20130806022521_drop_spree_mail_methods.rb +1 -1
  150. data/db/migrate/20130806145853_set_default_stock_location_on_shipments.rb +1 -1
  151. data/db/migrate/20130807024301_upgrade_adjustments.rb +4 -4
  152. data/db/migrate/20130807024302_rename_adjustment_fields.rb +1 -1
  153. data/db/migrate/20130809164245_add_admin_name_column_to_spree_shipping_methods.rb +1 -1
  154. data/db/migrate/20130809164330_add_admin_name_column_to_spree_stock_locations.rb +1 -1
  155. data/db/migrate/20130813004002_add_shipment_total_to_spree_orders.rb +2 -2
  156. data/db/migrate/20130813140619_expand_order_number_size.rb +3 -3
  157. data/db/migrate/20130813232134_rename_activators_to_promotions.rb +1 -1
  158. data/db/migrate/20130815000406_add_adjustment_total_to_line_items.rb +2 -2
  159. data/db/migrate/20130815024413_add_adjustment_total_to_shipments.rb +2 -2
  160. data/db/migrate/20130826062534_add_depth_to_spree_taxons.rb +1 -1
  161. data/db/migrate/20130828234942_add_tax_total_to_line_items_shipments_and_orders.rb +2 -2
  162. data/db/migrate/20130830001033_add_shipping_category_to_shipping_methods_and_products.rb +2 -2
  163. data/db/migrate/20130830001159_migrate_old_shipping_calculators.rb +1 -1
  164. data/db/migrate/20130903183026_add_code_to_spree_promotion_rules.rb +1 -1
  165. data/db/migrate/20130909115621_change_states_required_for_countries.rb +1 -1
  166. data/db/migrate/20130915032339_add_deleted_at_to_spree_stock_items.rb +1 -1
  167. data/db/migrate/20130917024658_remove_promotions_event_name_field.rb +1 -1
  168. data/db/migrate/20130924040529_add_promo_total_to_line_items_and_shipments_and_orders.rb +1 -1
  169. data/db/migrate/20131001013410_remove_unused_credit_card_fields.rb +2 -2
  170. data/db/migrate/20131026154747_add_track_inventory_to_variant.rb +2 -2
  171. data/db/migrate/20131107132123_add_tax_category_to_variants.rb +1 -1
  172. data/db/migrate/20131113035136_add_channel_to_spree_orders.rb +1 -1
  173. data/db/migrate/20131118043959_add_included_to_adjustments.rb +2 -2
  174. data/db/migrate/20131118050234_rename_tax_total_fields.rb +1 -1
  175. data/db/migrate/20131118183431_add_line_item_id_to_spree_inventory_units.rb +1 -1
  176. data/db/migrate/20131120234456_add_updated_at_to_variants.rb +1 -1
  177. data/db/migrate/20131127001002_add_position_to_classifications.rb +1 -1
  178. data/db/migrate/20131211112807_create_spree_orders_promotions.rb +2 -2
  179. data/db/migrate/20131211192741_unique_shipping_method_categories.rb +1 -1
  180. data/db/migrate/20131218054603_add_item_count_to_spree_orders.rb +2 -2
  181. data/db/migrate/20140106065820_remove_value_type_from_spree_preferences.rb +1 -1
  182. data/db/migrate/20140106224208_rename_permalink_to_slug_for_products.rb +1 -1
  183. data/db/migrate/20140120160805_add_index_to_variant_id_and_currency_on_prices.rb +1 -1
  184. data/db/migrate/20140124023232_rename_activator_id_in_rules_and_actions_to_promotion_id.rb +1 -1
  185. data/db/migrate/20140129024326_add_deleted_at_to_spree_prices.rb +1 -1
  186. data/db/migrate/20140203161722_add_approver_id_and_approved_at_to_orders.rb +1 -1
  187. data/db/migrate/20140204115338_add_confirmation_delivered_to_spree_orders.rb +1 -1
  188. data/db/migrate/20140204192230_add_auto_capture_to_payment_methods.rb +1 -1
  189. data/db/migrate/20140205120320_create_spree_payment_capture_events.rb +1 -1
  190. data/db/migrate/20140205144710_add_uncaptured_amount_to_payments.rb +1 -1
  191. data/db/migrate/20140205181631_default_variant_weight_to_zero.rb +1 -1
  192. data/db/migrate/20140207085910_add_tax_category_id_to_shipping_methods.rb +1 -1
  193. data/db/migrate/20140207093021_add_tax_rate_id_to_shipping_rates.rb +1 -1
  194. data/db/migrate/20140211040159_add_pre_tax_amount_to_line_items_and_shipments.rb +1 -1
  195. data/db/migrate/20140213184916_add_more_indexes.rb +1 -1
  196. data/db/migrate/20140219060952_add_considered_risky_to_orders.rb +2 -2
  197. data/db/migrate/20140227112348_add_preference_store_to_everything.rb +1 -1
  198. data/db/migrate/20140307235515_add_user_id_to_spree_credit_cards.rb +1 -1
  199. data/db/migrate/20140309023735_migrate_old_preferences.rb +1 -1
  200. data/db/migrate/20140309024355_create_spree_stores.rb +2 -2
  201. data/db/migrate/20140309033438_create_store_from_preferences.rb +2 -2
  202. data/db/migrate/20140315053743_add_timestamps_to_spree_assets.rb +1 -1
  203. data/db/migrate/20140318191500_create_spree_taxons_promotion_rules.rb +1 -1
  204. data/db/migrate/20140331100557_add_additional_store_fields.rb +1 -1
  205. data/db/migrate/20140410141842_add_many_missing_indexes.rb +1 -1
  206. data/db/migrate/20140410150358_correct_some_polymorphic_index_and_add_more_missing.rb +1 -1
  207. data/db/migrate/20140415041315_add_user_id_created_by_id_index_to_order.rb +1 -1
  208. data/db/migrate/20140508151342_change_spree_price_amount_precision.rb +5 -5
  209. data/db/migrate/20140518174634_add_token_to_spree_orders.rb +1 -1
  210. data/db/migrate/20140530024945_move_order_token_from_tokenized_permission.rb +2 -2
  211. data/db/migrate/20140601011216_set_shipment_total_for_users_upgrading.rb +1 -1
  212. data/db/migrate/20140604135309_drop_credit_card_first_name_and_last_name.rb +1 -1
  213. data/db/migrate/20140609201656_add_deleted_at_to_spree_promotion_actions.rb +1 -1
  214. data/db/migrate/20140616202624_remove_uncaptured_amount_from_spree_payments.rb +1 -1
  215. data/db/migrate/20140625214618_create_spree_refunds.rb +1 -1
  216. data/db/migrate/20140702140656_create_spree_return_authorization_inventory_unit.rb +1 -1
  217. data/db/migrate/20140707125621_rename_return_authorization_inventory_unit_to_return_items.rb +1 -1
  218. data/db/migrate/20140709160534_backfill_line_item_pre_tax_amount.rb +1 -1
  219. data/db/migrate/20140710041921_recreate_spree_return_authorizations.rb +2 -2
  220. data/db/migrate/20140710181204_add_amount_fields_to_return_items.rb +1 -1
  221. data/db/migrate/20140710190048_drop_return_authorization_amount.rb +1 -1
  222. data/db/migrate/20140713140455_create_spree_return_authorization_reasons.rb +1 -1
  223. data/db/migrate/20140713140527_create_spree_refund_reasons.rb +1 -1
  224. data/db/migrate/20140713142214_rename_return_authorization_reason.rb +1 -1
  225. data/db/migrate/20140715182625_create_spree_promotion_categories.rb +1 -1
  226. data/db/migrate/20140716204111_drop_received_at_on_return_items.rb +1 -1
  227. data/db/migrate/20140716212330_add_reception_and_acceptance_status_to_return_items.rb +1 -1
  228. data/db/migrate/20140717155155_create_default_refund_reason.rb +1 -1
  229. data/db/migrate/20140717185932_add_default_to_spree_stock_locations.rb +1 -1
  230. data/db/migrate/20140718133010_create_spree_customer_returns.rb +1 -1
  231. data/db/migrate/20140718133349_add_customer_return_id_to_return_item.rb +1 -1
  232. data/db/migrate/20140718195325_create_friendly_id_slugs.rb +5 -5
  233. data/db/migrate/20140723004419_rename_spree_refund_return_authorization_id.rb +1 -1
  234. data/db/migrate/20140723152808_increase_return_item_pre_tax_amount_precision.rb +1 -1
  235. data/db/migrate/20140723214541_copy_product_slugs_to_slug_history.rb +2 -2
  236. data/db/migrate/20140725131539_create_spree_reimbursements.rb +1 -1
  237. data/db/migrate/20140728225422_add_promotionable_to_spree_products.rb +1 -1
  238. data/db/migrate/20140729133613_add_exchange_inventory_unit_foreign_keys.rb +1 -1
  239. data/db/migrate/20140730155938_add_acceptance_status_errors_to_return_item.rb +1 -1
  240. data/db/migrate/20140731150017_create_spree_reimbursement_types.rb +1 -1
  241. data/db/migrate/20140804185157_add_default_to_shipment_cost.rb +1 -1
  242. data/db/migrate/20140805171035_add_default_to_spree_credit_cards.rb +1 -1
  243. data/db/migrate/20140805171219_make_existing_credit_cards_default.rb +1 -1
  244. data/db/migrate/20140806144901_add_type_to_reimbursement_type.rb +1 -1
  245. data/db/migrate/20140808184039_create_spree_reimbursement_credits.rb +1 -1
  246. data/db/migrate/20140827170513_add_meta_title_to_spree_products.rb +1 -1
  247. data/db/migrate/20140911173301_add_kind_to_zone.rb +1 -1
  248. data/db/migrate/20140924164824_add_code_to_spree_tax_categories.rb +1 -1
  249. data/db/migrate/20140927193717_default_pre_tax_amount_should_be_zero.rb +1 -1
  250. data/db/migrate/20141002191113_add_code_to_spree_shipping_methods.rb +1 -1
  251. data/db/migrate/20141007230328_add_cancel_audit_fields_to_spree_orders.rb +1 -1
  252. data/db/migrate/20141009204607_add_store_id_to_orders.rb +1 -1
  253. data/db/migrate/20141012083513_create_spree_taxons_prototypes.rb +1 -1
  254. data/db/migrate/20141021194502_add_state_lock_version_to_order.rb +1 -1
  255. data/db/migrate/20141023005240_add_counter_cache_from_spree_variants_to_spree_stock_items.rb +2 -7
  256. data/db/migrate/20141101231208_fix_adjustment_order_presence.rb +1 -1
  257. data/db/migrate/20141105213646_update_classifications_positions.rb +1 -1
  258. data/db/migrate/20141120135441_add_guest_token_index_to_spree_orders.rb +1 -1
  259. data/db/migrate/20141215232040_remove_token_permissions_table.rb +1 -1
  260. data/db/migrate/20141215235502_remove_extra_products_slug_index.rb +1 -1
  261. data/db/migrate/20141217215630_update_product_slug_index.rb +1 -1
  262. data/db/migrate/20141218025915_rename_identifier_to_number_for_payment.rb +1 -1
  263. data/db/migrate/20150118210639_create_spree_store_credits.rb +1 -1
  264. data/db/migrate/20150118211500_create_spree_store_credit_categories.rb +1 -1
  265. data/db/migrate/20150118212051_create_spree_store_credit_events.rb +1 -1
  266. data/db/migrate/20150118212101_create_spree_store_credit_types.rb +1 -1
  267. data/db/migrate/20150121022521_remove_environment_from_payment_method.rb +1 -1
  268. data/db/migrate/20150122145607_add_resellable_to_return_items.rb +1 -1
  269. data/db/migrate/20150122202432_add_code_to_spree_promotion_categories.rb +1 -1
  270. data/db/migrate/20150128032538_remove_environment_from_tracker.rb +1 -1
  271. data/db/migrate/20150128060325_remove_spree_configurations.rb +1 -1
  272. data/db/migrate/20150216173445_add_index_to_spree_stock_items_variant_id.rb +1 -1
  273. data/db/migrate/20150309161154_ensure_payments_have_numbers.rb +1 -1
  274. data/db/migrate/20150314013438_add_missing_indexes_on_spree_tables.rb +1 -1
  275. data/db/migrate/20150317174308_remove_duplicated_indexes_from_multi_columns.rb +1 -1
  276. data/db/migrate/20150324104002_remove_user_index_from_spree_state_changes.rb +1 -1
  277. data/db/migrate/20150515211137_fix_adjustment_order_id.rb +1 -1
  278. data/db/migrate/20150522071831_add_position_to_spree_payment_methods.rb +1 -1
  279. data/db/migrate/20150522181728_add_deleted_at_to_friendly_id_slugs.rb +1 -1
  280. data/db/migrate/20150609093816_increase_scale_on_pre_tax_amounts.rb +1 -1
  281. data/db/migrate/20150626181949_add_taxable_adjustment_total_to_line_item.rb +1 -1
  282. data/db/migrate/20150627090949_migrate_payment_methods_display.rb +1 -1
  283. data/db/migrate/20150707204155_enable_acts_as_paranoid_on_calculators.rb +1 -1
  284. data/db/migrate/20150714154102_spree_payment_method_store_credits.rb +1 -1
  285. data/db/migrate/20150726141425_rename_has_and_belongs_to_associations_to_model_names.rb +1 -1
  286. data/db/migrate/20150727191614_spree_store_credit_types.rb +1 -1
  287. data/db/migrate/20150819154308_add_discontinued_to_products_and_variants.rb +1 -1
  288. data/db/migrate/20151220072838_remove_shipping_method_id_from_spree_orders.rb +1 -1
  289. data/db/migrate/20160207191757_add_id_column_to_earlier_habtm_tables.rb +1 -1
  290. data/db/migrate/20160219165458_add_indexes.rb +1 -1
  291. data/db/migrate/20160509064646_remove_counter_cache_from_spree_variants_to_spree_stock_items.rb +10 -0
  292. data/db/migrate/20160511071954_acts_as_taggable_on_spree_migration.rb +40 -0
  293. data/db/migrate/20160511072249_change_collation_for_spree_tag_names.rb +9 -0
  294. data/db/migrate/20160511072335_add_missing_indexes_to_spree_taggings.rb +14 -0
  295. data/db/migrate/20160608090604_add_zipcode_required_to_spree_countries.rb +7 -0
  296. data/db/migrate/20161014145148_add_created_at_to_variant.rb +8 -0
  297. data/db/migrate/20161014152814_add_null_false_to_spree_variants_timestamps.rb +6 -0
  298. data/lib/generators/spree/custom_user/custom_user_generator.rb +1 -1
  299. data/lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt +3 -3
  300. data/lib/generators/spree/custom_user/templates/migration.rb.tt +2 -2
  301. data/lib/generators/spree/dummy/dummy_generator.rb +11 -11
  302. data/lib/generators/spree/dummy/templates/rails/application.rb +1 -1
  303. data/lib/generators/spree/dummy/templates/rails/database.yml +9 -6
  304. data/lib/generators/spree/dummy/templates/rails/test.rb +2 -2
  305. data/lib/generators/spree/install/install_generator.rb +37 -13
  306. data/lib/spree/core/controller_helpers/common.rb +3 -3
  307. data/lib/spree/core/controller_helpers/order.rb +2 -5
  308. data/lib/spree/core/controller_helpers/respond_with.rb +1 -1
  309. data/lib/spree/core/delegate_belongs_to.rb +2 -2
  310. data/lib/spree/core/engine.rb +5 -4
  311. data/lib/spree/core/importer/product.rb +2 -2
  312. data/lib/spree/core/product_duplicator.rb +1 -1
  313. data/lib/spree/core/product_filters.rb +1 -1
  314. data/lib/spree/core/search/base.rb +1 -1
  315. data/lib/spree/core/version.rb +1 -1
  316. data/lib/spree/i18n/initializer.rb +1 -1
  317. data/lib/spree/money.rb +1 -15
  318. data/lib/spree/permitted_attributes.rb +1 -1
  319. data/lib/spree/testing_support/caching.rb +3 -3
  320. data/lib/spree/testing_support/common_rake.rb +0 -2
  321. data/lib/spree/testing_support/controller_requests.rb +4 -4
  322. data/lib/spree/testing_support/factories/line_item_factory.rb +0 -1
  323. data/lib/spree/testing_support/factories/order_factory.rb +1 -0
  324. data/lib/spree/testing_support/factories/tag_factory.rb +5 -0
  325. data/lib/spree/testing_support/kernel.rb +18 -0
  326. data/lib/spree/testing_support/order_walkthrough.rb +4 -4
  327. data/lib/tasks/core.rake +2 -2
  328. data/spec/helpers/base_helper_spec.rb +200 -0
  329. data/spec/helpers/products_helper_spec.rb +289 -0
  330. data/spec/lib/calculated_adjustments_spec.rb +7 -0
  331. data/spec/lib/i18n_spec.rb +123 -0
  332. data/spec/lib/search/base_spec.rb +86 -0
  333. data/spec/lib/spree/core/controller_helpers/auth_spec.rb +103 -0
  334. data/spec/lib/spree/core/controller_helpers/order_spec.rb +110 -0
  335. data/spec/lib/spree/core/controller_helpers/search_spec.rb +17 -0
  336. data/spec/lib/spree/core/controller_helpers/store_spec.rb +72 -0
  337. data/spec/lib/spree/core/controller_helpers/strong_parameters_spec.rb +39 -0
  338. data/spec/lib/spree/core/delegate_belongs_to_spec.rb +22 -0
  339. data/spec/lib/spree/core/importer/order_spec.rb +605 -0
  340. data/spec/lib/spree/core/number_generator_spec.rb +175 -0
  341. data/spec/lib/spree/core/token_generator_spec.rb +24 -0
  342. data/spec/lib/spree/core/validators/email_spec.rb +53 -0
  343. data/spec/lib/spree/core_spec.rb +23 -0
  344. data/spec/lib/spree/localized_number_spec.rb +48 -0
  345. data/spec/lib/spree/migrations_spec.rb +36 -0
  346. data/spec/lib/spree/money_spec.rb +122 -0
  347. data/spec/lib/tasks/exchanges_spec.rb +136 -0
  348. data/spec/mailers/order_mailer_spec.rb +122 -0
  349. data/spec/mailers/reimbursement_mailer_spec.rb +47 -0
  350. data/spec/mailers/shipment_mailer_spec.rb +81 -0
  351. data/spec/mailers/test_mailer_spec.rb +38 -0
  352. data/spec/models/option_type_prototype_spec.rb +9 -0
  353. data/spec/models/spree/ability_spec.rb +251 -0
  354. data/spec/models/spree/address_spec.rb +402 -0
  355. data/spec/models/spree/adjustable/adjuster/base_spec.rb +10 -0
  356. data/spec/models/spree/adjustable/adjuster/promotion_spec.rb +211 -0
  357. data/spec/models/spree/adjustable/adjuster/tax_spec.rb +86 -0
  358. data/spec/models/spree/adjustable/adjustments_updater_spec.rb +26 -0
  359. data/spec/models/spree/adjustment_spec.rb +189 -0
  360. data/spec/models/spree/app_configuration_spec.rb +26 -0
  361. data/spec/models/spree/asset_spec.rb +28 -0
  362. data/spec/models/spree/calculator/default_tax_spec.rb +152 -0
  363. data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +25 -0
  364. data/spec/models/spree/calculator/flat_rate_spec.rb +47 -0
  365. data/spec/models/spree/calculator/flexi_rate_spec.rb +41 -0
  366. data/spec/models/spree/calculator/percent_on_line_item_spec.rb +15 -0
  367. data/spec/models/spree/calculator/price_sack_spec.rb +30 -0
  368. data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +47 -0
  369. data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +23 -0
  370. data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +13 -0
  371. data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +52 -0
  372. data/spec/models/spree/calculator/shipping/per_item_spec.rb +20 -0
  373. data/spec/models/spree/calculator/shipping/price_sack_spec.rb +29 -0
  374. data/spec/models/spree/calculator/shipping.rb +8 -0
  375. data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +40 -0
  376. data/spec/models/spree/calculator/tiered_percent_spec.rb +51 -0
  377. data/spec/models/spree/calculator_spec.rb +69 -0
  378. data/spec/models/spree/classification_spec.rb +93 -0
  379. data/spec/models/spree/concerns/display_money_spec.rb +43 -0
  380. data/spec/models/spree/concerns/user_methods_spec.rb +82 -0
  381. data/spec/models/spree/concerns/vat_price_calculation_spec.rb +66 -0
  382. data/spec/models/spree/country_spec.rb +55 -0
  383. data/spec/models/spree/credit_card_spec.rb +328 -0
  384. data/spec/models/spree/customer_return_spec.rb +240 -0
  385. data/spec/models/spree/exchange_spec.rb +75 -0
  386. data/spec/models/spree/gateway/bogus_simple.rb +20 -0
  387. data/spec/models/spree/gateway/bogus_spec.rb +13 -0
  388. data/spec/models/spree/gateway_spec.rb +61 -0
  389. data/spec/models/spree/image_spec.rb +8 -0
  390. data/spec/models/spree/inventory_unit_spec.rb +256 -0
  391. data/spec/models/spree/line_item_spec.rb +346 -0
  392. data/spec/models/spree/option_type_spec.rb +14 -0
  393. data/spec/models/spree/option_value_spec.rb +18 -0
  394. data/spec/models/spree/order/address_spec.rb +50 -0
  395. data/spec/models/spree/order/adjustments_spec.rb +29 -0
  396. data/spec/models/spree/order/callbacks_spec.rb +42 -0
  397. data/spec/models/spree/order/checkout_spec.rb +770 -0
  398. data/spec/models/spree/order/currency_updater_spec.rb +32 -0
  399. data/spec/models/spree/order/finalizing_spec.rb +114 -0
  400. data/spec/models/spree/order/helpers_spec.rb +5 -0
  401. data/spec/models/spree/order/payment_spec.rb +214 -0
  402. data/spec/models/spree/order/risk_assessment_spec.rb +84 -0
  403. data/spec/models/spree/order/shipments_spec.rb +43 -0
  404. data/spec/models/spree/order/state_machine_spec.rb +212 -0
  405. data/spec/models/spree/order/store_credit_spec.rb +426 -0
  406. data/spec/models/spree/order/tax_spec.rb +84 -0
  407. data/spec/models/spree/order/totals_spec.rb +24 -0
  408. data/spec/models/spree/order/updating_spec.rb +18 -0
  409. data/spec/models/spree/order/validations_spec.rb +15 -0
  410. data/spec/models/spree/order_contents_spec.rb +297 -0
  411. data/spec/models/spree/order_inventory_spec.rb +239 -0
  412. data/spec/models/spree/order_merger_spec.rb +135 -0
  413. data/spec/models/spree/order_spec.rb +1046 -0
  414. data/spec/models/spree/order_updater_spec.rb +294 -0
  415. data/spec/models/spree/payment/gateway_options_spec.rb +127 -0
  416. data/spec/models/spree/payment/store_credit_spec.rb +60 -0
  417. data/spec/models/spree/payment_method/store_credit_spec.rb +291 -0
  418. data/spec/models/spree/payment_method_spec.rb +103 -0
  419. data/spec/models/spree/payment_spec.rb +919 -0
  420. data/spec/models/spree/preference_spec.rb +80 -0
  421. data/spec/models/spree/preferences/configuration_spec.rb +30 -0
  422. data/spec/models/spree/preferences/preferable_spec.rb +344 -0
  423. data/spec/models/spree/preferences/scoped_store_spec.rb +58 -0
  424. data/spec/models/spree/preferences/store_spec.rb +46 -0
  425. data/spec/models/spree/price_spec.rb +128 -0
  426. data/spec/models/spree/product/scopes_spec.rb +183 -0
  427. data/spec/models/spree/product_duplicator_spec.rb +103 -0
  428. data/spec/models/spree/product_filter_spec.rb +26 -0
  429. data/spec/models/spree/product_option_type_spec.rb +9 -0
  430. data/spec/models/spree/product_promotion_rule_spec.rb +9 -0
  431. data/spec/models/spree/product_property_spec.rb +22 -0
  432. data/spec/models/spree/product_spec.rb +619 -0
  433. data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +50 -0
  434. data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +148 -0
  435. data/spec/models/spree/promotion/actions/create_line_items_spec.rb +86 -0
  436. data/spec/models/spree/promotion/actions/free_shipping_spec.rb +36 -0
  437. data/spec/models/spree/promotion/rules/country_spec.rb +36 -0
  438. data/spec/models/spree/promotion/rules/first_order_spec.rb +75 -0
  439. data/spec/models/spree/promotion/rules/item_total_spec.rb +282 -0
  440. data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +42 -0
  441. data/spec/models/spree/promotion/rules/option_value_spec.rb +90 -0
  442. data/spec/models/spree/promotion/rules/product_spec.rb +143 -0
  443. data/spec/models/spree/promotion/rules/taxon_spec.rb +102 -0
  444. data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +27 -0
  445. data/spec/models/spree/promotion/rules/user_spec.rb +45 -0
  446. data/spec/models/spree/promotion_action_spec.rb +10 -0
  447. data/spec/models/spree/promotion_category_spec.rb +17 -0
  448. data/spec/models/spree/promotion_handler/cart_spec.rb +102 -0
  449. data/spec/models/spree/promotion_handler/coupon_spec.rb +323 -0
  450. data/spec/models/spree/promotion_handler/free_shipping_spec.rb +48 -0
  451. data/spec/models/spree/promotion_handler/page_spec.rb +44 -0
  452. data/spec/models/spree/promotion_rule_spec.rb +29 -0
  453. data/spec/models/spree/promotion_rule_taxon_spec.rb +9 -0
  454. data/spec/models/spree/promotion_rule_user_spec.rb +9 -0
  455. data/spec/models/spree/promotion_spec.rb +679 -0
  456. data/spec/models/spree/property_prototype_spec.rb +9 -0
  457. data/spec/models/spree/property_spec.rb +5 -0
  458. data/spec/models/spree/prototype_spec.rb +5 -0
  459. data/spec/models/spree/prototype_taxon_spec.rb +9 -0
  460. data/spec/models/spree/refund_reason_spec.rb +20 -0
  461. data/spec/models/spree/refund_spec.rb +195 -0
  462. data/spec/models/spree/reimbursement/credit_spec.rb +36 -0
  463. data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +140 -0
  464. data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +83 -0
  465. data/spec/models/spree/reimbursement_performer_spec.rb +30 -0
  466. data/spec/models/spree/reimbursement_spec.rb +188 -0
  467. data/spec/models/spree/reimbursement_tax_calculator_spec.rb +63 -0
  468. data/spec/models/spree/reimbursement_type/credit_spec.rb +53 -0
  469. data/spec/models/spree/reimbursement_type/exchange_spec.rb +46 -0
  470. data/spec/models/spree/reimbursement_type/original_payment_spec.rb +55 -0
  471. data/spec/models/spree/reimbursement_type/store_credit_spec.rb +101 -0
  472. data/spec/models/spree/return_authorization_reason_spec.rb +7 -0
  473. data/spec/models/spree/return_authorization_spec.rb +230 -0
  474. data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +77 -0
  475. data/spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb +58 -0
  476. data/spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb +61 -0
  477. data/spec/models/spree/return_item/eligibility_validator/order_completed_spec.rb +32 -0
  478. data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +29 -0
  479. data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +35 -0
  480. data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +65 -0
  481. data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +43 -0
  482. data/spec/models/spree/return_item_spec.rb +731 -0
  483. data/spec/models/spree/returns_calculator_spec.rb +14 -0
  484. data/spec/models/spree/role_spec.rb +7 -0
  485. data/spec/models/spree/shipment_spec.rb +742 -0
  486. data/spec/models/spree/shipping_calculator_spec.rb +45 -0
  487. data/spec/models/spree/shipping_category_spec.rb +19 -0
  488. data/spec/models/spree/shipping_method_spec.rb +95 -0
  489. data/spec/models/spree/shipping_rate_spec.rb +140 -0
  490. data/spec/models/spree/state_spec.rb +29 -0
  491. data/spec/models/spree/stock/availability_validator_spec.rb +36 -0
  492. data/spec/models/spree/stock/content_item_spec.rb +31 -0
  493. data/spec/models/spree/stock/coordinator_spec.rb +61 -0
  494. data/spec/models/spree/stock/differentiator_spec.rb +39 -0
  495. data/spec/models/spree/stock/estimator_spec.rb +202 -0
  496. data/spec/models/spree/stock/inventory_unit_builder_spec.rb +38 -0
  497. data/spec/models/spree/stock/package_spec.rb +182 -0
  498. data/spec/models/spree/stock/packer_spec.rb +70 -0
  499. data/spec/models/spree/stock/prioritizer_spec.rb +125 -0
  500. data/spec/models/spree/stock/quantifier_spec.rb +126 -0
  501. data/spec/models/spree/stock/splitter/backordered_spec.rb +29 -0
  502. data/spec/models/spree/stock/splitter/base_spec.rb +21 -0
  503. data/spec/models/spree/stock/splitter/shipping_category_spec.rb +47 -0
  504. data/spec/models/spree/stock/splitter/weight_spec.rb +32 -0
  505. data/spec/models/spree/stock_item_spec.rb +432 -0
  506. data/spec/models/spree/stock_location_spec.rb +243 -0
  507. data/spec/models/spree/stock_movement_spec.rb +120 -0
  508. data/spec/models/spree/stock_transfer_spec.rb +50 -0
  509. data/spec/models/spree/store_credit_event_spec.rb +101 -0
  510. data/spec/models/spree/store_credit_spec.rb +786 -0
  511. data/spec/models/spree/store_spec.rb +78 -0
  512. data/spec/models/spree/tax_category_spec.rb +32 -0
  513. data/spec/models/spree/tax_rate_spec.rb +561 -0
  514. data/spec/models/spree/taxon_spec.rb +85 -0
  515. data/spec/models/spree/taxonomy_spec.rb +18 -0
  516. data/spec/models/spree/tracker_spec.rb +21 -0
  517. data/spec/models/spree/user_spec.rb +203 -0
  518. data/spec/models/spree/variant_spec.rb +809 -0
  519. data/spec/models/spree/zone_member_spec.rb +38 -0
  520. data/spec/models/spree/zone_spec.rb +472 -0
  521. data/spec/spec_helper.rb +79 -0
  522. data/spec/support/big_decimal.rb +5 -0
  523. data/spec/support/concerns/adjustment_source.rb +23 -0
  524. data/spec/support/concerns/default_price.rb +37 -0
  525. data/spec/support/rake.rb +13 -0
  526. data/spec/support/test_gateway.rb +2 -0
  527. data/spree_core.gemspec +12 -12
  528. metadata +249 -43
  529. data/config/initializers/premailer_rails.rb +0 -3
@@ -1,4 +1,4 @@
1
- class CreateSpreeStoreCreditTypes < ActiveRecord::Migration
1
+ class CreateSpreeStoreCreditTypes < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :spree_store_credit_types do |t|
4
4
  t.string :name
@@ -1,4 +1,4 @@
1
- class RemoveEnvironmentFromPaymentMethod < ActiveRecord::Migration
1
+ class RemoveEnvironmentFromPaymentMethod < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  Spree::PaymentMethod.where('environment != ?', Rails.env).update_all(active: false)
4
4
  remove_column :spree_payment_methods, :environment
@@ -1,4 +1,4 @@
1
- class AddResellableToReturnItems < ActiveRecord::Migration
1
+ class AddResellableToReturnItems < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_return_items, :resellable, :boolean, default: true, null: false
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddCodeToSpreePromotionCategories < ActiveRecord::Migration
1
+ class AddCodeToSpreePromotionCategories < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_promotion_categories, :code, :string
4
4
  end
@@ -1,4 +1,4 @@
1
- class RemoveEnvironmentFromTracker < ActiveRecord::Migration
1
+ class RemoveEnvironmentFromTracker < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  Spree::Tracker.where('environment != ?', Rails.env).update_all(active: false)
4
4
  remove_column :spree_trackers, :environment
@@ -1,4 +1,4 @@
1
- class RemoveSpreeConfigurations < ActiveRecord::Migration
1
+ class RemoveSpreeConfigurations < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  drop_table "spree_configurations"
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddIndexToSpreeStockItemsVariantId < ActiveRecord::Migration
1
+ class AddIndexToSpreeStockItemsVariantId < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  unless index_exists? :spree_stock_items, :variant_id
4
4
  add_index :spree_stock_items, :variant_id
@@ -1,4 +1,4 @@
1
- class EnsurePaymentsHaveNumbers < ActiveRecord::Migration
1
+ class EnsurePaymentsHaveNumbers < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_index :spree_payments, :number unless index_exists?(:spree_payments, :number)
4
4
  Spree::Payment.where(number: nil).find_each do |payment|
@@ -1,4 +1,4 @@
1
- class AddMissingIndexesOnSpreeTables < ActiveRecord::Migration
1
+ class AddMissingIndexesOnSpreeTables < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  if table_exists?(:spree_promotion_rules_users) && !index_exists?(:spree_promotion_rules_users,
4
4
  [:user_id, :promotion_rule_id],
@@ -1,4 +1,4 @@
1
- class RemoveDuplicatedIndexesFromMultiColumns < ActiveRecord::Migration
1
+ class RemoveDuplicatedIndexesFromMultiColumns < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  remove_index :spree_adjustments, name: "index_adjustments_on_order_id"
4
4
  remove_index :spree_option_types_prototypes, :prototype_id
@@ -1,4 +1,4 @@
1
- class RemoveUserIndexFromSpreeStateChanges < ActiveRecord::Migration
1
+ class RemoveUserIndexFromSpreeStateChanges < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  if index_exists? :spree_state_changes, :user_id
4
4
  remove_index :spree_state_changes, :user_id
@@ -1,4 +1,4 @@
1
- class FixAdjustmentOrderId < ActiveRecord::Migration
1
+ class FixAdjustmentOrderId < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  say 'Populate order_id from adjustable_id where appropriate'
4
4
  execute(<<-SQL.squish)
@@ -1,4 +1,4 @@
1
- class AddPositionToSpreePaymentMethods < ActiveRecord::Migration
1
+ class AddPositionToSpreePaymentMethods < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_payment_methods, :position, :integer, default: 0
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddDeletedAtToFriendlyIdSlugs < ActiveRecord::Migration
1
+ class AddDeletedAtToFriendlyIdSlugs < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :friendly_id_slugs, :deleted_at, :datetime
4
4
  add_index :friendly_id_slugs, :deleted_at
@@ -1,4 +1,4 @@
1
- class IncreaseScaleOnPreTaxAmounts < ActiveRecord::Migration
1
+ class IncreaseScaleOnPreTaxAmounts < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  # set pre_tax_amount on shipments to discounted_amount - included_tax_total
4
4
  # so that the null: false option on the shipment pre_tax_amount doesn't generate
@@ -1,4 +1,4 @@
1
- class AddTaxableAdjustmentTotalToLineItem < ActiveRecord::Migration
1
+ class AddTaxableAdjustmentTotalToLineItem < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_line_items, :taxable_adjustment_total, :decimal,
4
4
  precision: 10, scale: 2, default: 0.0, null: false
@@ -1,4 +1,4 @@
1
- class MigratePaymentMethodsDisplay < ActiveRecord::Migration
1
+ class MigratePaymentMethodsDisplay < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  Spree::PaymentMethod.all.each do |method|
4
4
  if method.display_on.blank?
@@ -1,4 +1,4 @@
1
- class EnableActsAsParanoidOnCalculators < ActiveRecord::Migration
1
+ class EnableActsAsParanoidOnCalculators < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_calculators, :deleted_at, :datetime
4
4
  add_index :spree_calculators, :deleted_at
@@ -1,4 +1,4 @@
1
- class SpreePaymentMethodStoreCredits < ActiveRecord::Migration
1
+ class SpreePaymentMethodStoreCredits < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  # Reload to pick up new position column for acts_as_list
4
4
  Spree::PaymentMethod.reset_column_information
@@ -1,4 +1,4 @@
1
- class RenameHasAndBelongsToAssociationsToModelNames < ActiveRecord::Migration
1
+ class RenameHasAndBelongsToAssociationsToModelNames < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  {
4
4
  'spree_option_types_prototypes' => 'spree_option_type_prototypes',
@@ -1,4 +1,4 @@
1
- class SpreeStoreCreditTypes < ActiveRecord::Migration
1
+ class SpreeStoreCreditTypes < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  Spree::StoreCreditType.find_or_create_by(name: 'Expiring', priority: 1)
4
4
  Spree::StoreCreditType.find_or_create_by(name: 'Non-expiring', priority: 2)
@@ -1,4 +1,4 @@
1
- class AddDiscontinuedToProductsAndVariants < ActiveRecord::Migration
1
+ class AddDiscontinuedToProductsAndVariants < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  add_column :spree_products, :discontinue_on, :datetime, after: :available_on
4
4
  add_column :spree_variants, :discontinue_on, :datetime, after: :deleted_at
@@ -1,4 +1,4 @@
1
- class RemoveShippingMethodIdFromSpreeOrders < ActiveRecord::Migration
1
+ class RemoveShippingMethodIdFromSpreeOrders < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  if column_exists?(:spree_orders, :shipping_method_id, :integer)
4
4
  remove_column :spree_orders, :shipping_method_id, :integer
@@ -1,4 +1,4 @@
1
- class AddIdColumnToEarlierHabtmTables < ActiveRecord::Migration
1
+ class AddIdColumnToEarlierHabtmTables < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  add_column :spree_option_type_prototypes, :id, :primary_key
4
4
  add_column :spree_option_value_variants, :id, :primary_key
@@ -1,4 +1,4 @@
1
- class AddIndexes < ActiveRecord::Migration
1
+ class AddIndexes < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_index :spree_assets, :position
4
4
  add_index :spree_option_types, :name
@@ -0,0 +1,10 @@
1
+ class RemoveCounterCacheFromSpreeVariantsToSpreeStockItems < ActiveRecord::Migration[4.2]
2
+ def up
3
+ if column_exists?(:spree_variants, :stock_items_count)
4
+ remove_column :spree_variants, :stock_items_count
5
+ end
6
+ end
7
+
8
+ def down
9
+ end
10
+ end
@@ -0,0 +1,40 @@
1
+ class ActsAsTaggableOnSpreeMigration < ActiveRecord::Migration[4.2]
2
+ def self.up
3
+ create_table :spree_tags do |t|
4
+ t.string :name
5
+ t.integer :taggings_count, default: 0
6
+ end
7
+
8
+ create_table :spree_taggings do |t|
9
+ t.references :tag
10
+
11
+ # You should make sure that the column created is
12
+ # long enough to store the required class names.
13
+ t.references :taggable, polymorphic: true
14
+ t.references :tagger, polymorphic: true
15
+
16
+ # Limit is created to prevent MySQL error on index
17
+ # length for MyISAM table type: http://bit.ly/vgW2Ql
18
+ t.string :context, limit: 128
19
+
20
+ t.datetime :created_at
21
+ end
22
+
23
+ add_index :spree_tags, :name, unique: true
24
+ add_index :spree_taggings,
25
+ [
26
+ :tag_id,
27
+ :taggable_id,
28
+ :taggable_type,
29
+ :context,
30
+ :tagger_id,
31
+ :tagger_type
32
+ ],
33
+ unique: true, name: "spree_taggings_idx"
34
+ end
35
+
36
+ def self.down
37
+ drop_table :spree_taggings
38
+ drop_table :spree_tags
39
+ end
40
+ end
@@ -0,0 +1,9 @@
1
+ # This migration is added to circumvent issue #623 and have special characters
2
+ # work properly
3
+ class ChangeCollationForSpreeTagNames < ActiveRecord::Migration[4.2]
4
+ def up
5
+ if ActsAsTaggableOn::Utils.using_mysql?
6
+ execute("ALTER TABLE spree_tags MODIFY name varchar(255) CHARACTER SET utf8 COLLATE utf8_bin;")
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,14 @@
1
+ class AddMissingIndexesToSpreeTaggings < ActiveRecord::Migration[4.2]
2
+ def change
3
+ add_index :spree_taggings, :tag_id
4
+ add_index :spree_taggings, :taggable_id
5
+ add_index :spree_taggings, :taggable_type
6
+ add_index :spree_taggings, :tagger_id
7
+ add_index :spree_taggings, :context
8
+
9
+ add_index :spree_taggings, [:tagger_id, :tagger_type]
10
+ add_index :spree_taggings,
11
+ [:taggable_id, :taggable_type, :tagger_id, :context],
12
+ name: "spree_taggings_idy"
13
+ end
14
+ end
@@ -0,0 +1,7 @@
1
+ class AddZipcodeRequiredToSpreeCountries < ActiveRecord::Migration[4.2]
2
+ def change
3
+ add_column :spree_countries, :zipcode_required, :boolean, default: true
4
+ Spree::Country.reset_column_information
5
+ Spree::Country.where(iso: Spree::Address::NO_ZIPCODE_ISO_CODES).update_all(zipcode_required: false)
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ class AddCreatedAtToVariant < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :spree_variants, :created_at, :datetime
4
+ Spree::Variant.reset_column_information
5
+ Spree::Variant.where.not(updated_at: nil).update_all('created_at = updated_at')
6
+ Spree::Variant.where(updated_at: nil).update_all(created_at: Time.current, updated_at: Time.current)
7
+ end
8
+ end
@@ -0,0 +1,6 @@
1
+ class AddNullFalseToSpreeVariantsTimestamps < ActiveRecord::Migration[5.0]
2
+ def change
3
+ change_column_null :spree_variants, :created_at, false
4
+ change_column_null :spree_variants, :updated_at, false
5
+ end
6
+ end
@@ -35,7 +35,7 @@ module Spree
35
35
  end
36
36
 
37
37
  def self.next_migration_number(dirname)
38
- if ActiveRecord::Base.timestamped_migrations
38
+ if ApplicationRecord.timestamped_migrations
39
39
  sleep 1 # make sure to get a different migration every time
40
40
  Time.new.utc.strftime("%Y%m%d%H%M%S")
41
41
  else
@@ -30,7 +30,7 @@ module Spree
30
30
  end
31
31
  end
32
32
 
33
- ApplicationController.send :include, Spree::AuthenticationHelpers
34
- ApplicationController.send :include, Spree::CurrentUserHelpers
33
+ ApplicationController.include Spree::AuthenticationHelpers
34
+ ApplicationController.include Spree::CurrentUserHelpers
35
35
 
36
- Spree::Api::BaseController.send :include, Spree::CurrentUserHelpers
36
+ Spree::Api::BaseController.include Spree::CurrentUserHelpers
@@ -1,6 +1,6 @@
1
- class AddSpreeFieldsToCustomUserTable < ActiveRecord::Migration
1
+ class AddSpreeFieldsToCustomUserTable < ActiveRecord::Migration[4.2]
2
2
  def up
3
- add_column <%= table_name.inspect %>, :spree_api_key, :string, :limit => 48
3
+ add_column <%= table_name.inspect %>, :spree_api_key, :string, limit: 48
4
4
  add_column <%= table_name.inspect %>, :ship_address_id, :integer
5
5
  add_column <%= table_name.inspect %>, :bill_address_id, :integer
6
6
  end
@@ -6,8 +6,8 @@ module Spree
6
6
  class DummyGenerator < Rails::Generators::Base
7
7
  desc "Creates blank Rails application, installs Spree and all sample data"
8
8
 
9
- class_option :lib_name, :default => ''
10
- class_option :database, :default => ''
9
+ class_option :lib_name, default: ''
10
+ class_option :database, default: ''
11
11
 
12
12
  def self.source_paths
13
13
  paths = self.superclass.source_paths
@@ -41,14 +41,14 @@ module Spree
41
41
  @lib_name = options[:lib_name]
42
42
  @database = options[:database]
43
43
 
44
- template "rails/database.yml", "#{dummy_path}/config/database.yml", :force => true
45
- template "rails/boot.rb", "#{dummy_path}/config/boot.rb", :force => true
46
- template "rails/application.rb", "#{dummy_path}/config/application.rb", :force => true
47
- template "rails/routes.rb", "#{dummy_path}/config/routes.rb", :force => true
48
- template "rails/test.rb", "#{dummy_path}/config/environments/test.rb", :force => true
49
- template "rails/script/rails", "#{dummy_path}/spec/dummy/script/rails", :force => true
50
- template "initializers/custom_user.rb", "#{dummy_path}/config/initializers/custom_user.rb", :force => true
51
- template "initializers/devise.rb", "#{dummy_path}/config/initializers/devise.rb", :force => true
44
+ template "rails/database.yml", "#{dummy_path}/config/database.yml", force: true
45
+ template "rails/boot.rb", "#{dummy_path}/config/boot.rb", force: true
46
+ template "rails/application.rb", "#{dummy_path}/config/application.rb", force: true
47
+ template "rails/routes.rb", "#{dummy_path}/config/routes.rb", force: true
48
+ template "rails/test.rb", "#{dummy_path}/config/environments/test.rb", force: true
49
+ template "rails/script/rails", "#{dummy_path}/spec/dummy/script/rails", force: true
50
+ template "initializers/custom_user.rb", "#{dummy_path}/config/initializers/custom_user.rb", force: true
51
+ template "initializers/devise.rb", "#{dummy_path}/config/initializers/devise.rb", force: true
52
52
  end
53
53
 
54
54
  def test_dummy_inject_extension_requirements
@@ -91,7 +91,7 @@ begin
91
91
  rescue LoadError
92
92
  # #{requirement} is not available.
93
93
  end
94
- ], :before => /require '#{@lib_name}'/, :verbose => true
94
+ ], before: /require '#{@lib_name}'/, verbose: true
95
95
  end
96
96
 
97
97
  def dummy_path
@@ -2,7 +2,7 @@ require File.expand_path('../boot', __FILE__)
2
2
 
3
3
  require 'rails/all'
4
4
 
5
- Bundler.require(*Rails.groups(:assets => %w(development test)))
5
+ Bundler.require(*Rails.groups(assets: %w(development test)))
6
6
 
7
7
  require '<%= lib_name %>'
8
8
 
@@ -1,6 +1,9 @@
1
1
  <% if agent_number = ENV['TC_AGENT_NUMBER']
2
2
  database_prefix = agent_number + '_'
3
3
  end %>
4
+ <% if options[:lib_name]
5
+ lib_name = options[:lib_name].gsub('/', '_')
6
+ end %>
4
7
  <% db_password = ENV['DB_PASSWORD'] %>
5
8
  <% db_username = ENV['DB_USERNAME'] %>
6
9
  <% case ENV['DB']
@@ -28,13 +31,13 @@ mysql: &mysql
28
31
 
29
32
  development:
30
33
  <<: *mysql
31
- database: <%= database_prefix %><%= options[:lib_name] %>_spree_development
34
+ database: <%= database_prefix %><%= lib_name %>_spree_development
32
35
  test:
33
36
  <<: *mysql
34
- database: <%= database_prefix %><%= options[:lib_name] %>_spree_test
37
+ database: <%= database_prefix %><%= lib_name %>_spree_test
35
38
  production:
36
39
  <<: *mysql
37
- database: <%= database_prefix %><%= options[:lib_name] %>_spree_production
40
+ database: <%= database_prefix %><%= lib_name %>_spree_production
38
41
  <% when 'postgres' %>
39
42
  <% db_host = ENV['DB_HOST'] %>
40
43
  postgres: &postgres
@@ -52,13 +55,13 @@ postgres: &postgres
52
55
 
53
56
  development:
54
57
  <<: *postgres
55
- database: <%= database_prefix %><%= options[:lib_name] %>_spree_development
58
+ database: <%= database_prefix %><%= lib_name %>_spree_development
56
59
  test:
57
60
  <<: *postgres
58
- database: <%= database_prefix %><%= options[:lib_name] %>_spree_test
61
+ database: <%= database_prefix %><%= lib_name %>_spree_test
59
62
  production:
60
63
  <<: *postgres
61
- database: <%= database_prefix %><%= options[:lib_name] %>_spree_production
64
+ database: <%= database_prefix %><%= lib_name %>_spree_production
62
65
  <% else %>
63
66
  development:
64
67
  adapter: sqlite3
@@ -8,8 +8,8 @@ Dummy::Application.configure do
8
8
  config.cache_classes = true
9
9
 
10
10
  # Configure static asset server for tests with Cache-Control for performance
11
- config.serve_static_files = true
12
- config.static_cache_control = "public, max-age=3600"
11
+ config.public_file_server.enabled = true
12
+ config.public_file_server.headers = { 'Cache-Control' => 'public, max-age=3600' }
13
13
 
14
14
  # Show full error reports and disable caching
15
15
  config.consider_all_requests_local = true
@@ -5,15 +5,15 @@ require 'bundler/cli'
5
5
 
6
6
  module Spree
7
7
  class InstallGenerator < Rails::Generators::Base
8
- class_option :migrate, :type => :boolean, :default => true, :banner => 'Run Spree migrations'
9
- class_option :seed, :type => :boolean, :default => true, :banner => 'load seed data (migrations must be run)'
10
- class_option :sample, :type => :boolean, :default => true, :banner => 'load sample data (migrations must be run)'
11
- class_option :auto_accept, :type => :boolean
12
- class_option :user_class, :type => :string
13
- class_option :admin_email, :type => :string
14
- class_option :admin_password, :type => :string
15
- class_option :lib_name, :type => :string, :default => 'spree'
16
- class_option :enforce_available_locales, :type => :boolean, :default => nil
8
+ class_option :migrate, type: :boolean, default: true, banner: 'Run Spree migrations'
9
+ class_option :seed, type: :boolean, default: true, banner: 'load seed data (migrations must be run)'
10
+ class_option :sample, type: :boolean, default: true, banner: 'load sample data (migrations must be run)'
11
+ class_option :auto_accept, type: :boolean
12
+ class_option :user_class, type: :string
13
+ class_option :admin_email, type: :string
14
+ class_option :admin_password, type: :string
15
+ class_option :lib_name, type: :string, default: 'spree'
16
+ class_option :enforce_available_locales, type: :boolean, default: nil
17
17
 
18
18
  def self.source_paths
19
19
  paths = self.superclass.source_paths
@@ -125,7 +125,11 @@ Spree::Auth::Engine.load_seed if defined?(Spree::Auth)
125
125
  def run_migrations
126
126
  if @run_migrations
127
127
  say_status :running, "migrations"
128
- quietly { rake 'db:migrate' }
128
+ silence_stream(STDOUT) do
129
+ silence_stream(STDERR) do
130
+ silence_warnings { rake 'db:migrate' }
131
+ end
132
+ end
129
133
  else
130
134
  say_status :skipping, "migrations (don't forget to run rake db:migrate)"
131
135
  end
@@ -141,7 +145,11 @@ Spree::Auth::Engine.load_seed if defined?(Spree::Auth)
141
145
 
142
146
  cmd = lambda { rake("db:seed #{rake_options.join(' ')}") }
143
147
  if options[:auto_accept] || (options[:admin_email] && options[:admin_password])
144
- quietly &cmd
148
+ silence_stream(STDOUT) do
149
+ silence_stream(STDERR) do
150
+ silence_warnings &cmd
151
+ end
152
+ end
145
153
  else
146
154
  cmd.call
147
155
  end
@@ -153,14 +161,18 @@ Spree::Auth::Engine.load_seed if defined?(Spree::Auth)
153
161
  def load_sample_data
154
162
  if @load_sample_data
155
163
  say_status :loading, "sample data"
156
- quietly { rake 'spree_sample:load' }
164
+ silence_stream(STDOUT) do
165
+ silence_stream(STDERR) do
166
+ silence_warnings { rake 'spree_sample:load' }
167
+ end
168
+ end
157
169
  else
158
170
  say_status :skipping, "sample data (you can always run rake spree_sample:load)"
159
171
  end
160
172
  end
161
173
 
162
174
  def notify_about_routes
163
- insert_into_file File.join('config', 'routes.rb'), :after => "Rails.application.routes.draw do\n" do
175
+ insert_into_file File.join('config', 'routes.rb'), after: "Rails.application.routes.draw do\n" do
164
176
  %Q{
165
177
  # This line mounts Spree's routes at the root of your application.
166
178
  # This means, any requests to URLs such as /products, will go to Spree::ProductsController.
@@ -205,5 +217,17 @@ Spree::Auth::Engine.load_seed if defined?(Spree::Auth)
205
217
  File.exists?("#{filename}#{extension}")
206
218
  end
207
219
  end
220
+
221
+ private
222
+
223
+ def silence_stream(stream)
224
+ old_stream = stream.dup
225
+ stream.reopen(RbConfig::CONFIG['host_os'] =~ /mswin|mingw/ ? 'NUL:' : '/dev/null')
226
+ stream.sync = true
227
+ yield
228
+ ensure
229
+ stream.reopen(old_stream)
230
+ old_stream.close
231
+ end
208
232
  end
209
233
  end
@@ -22,7 +22,7 @@ module Spree
22
22
  title_string = @title.present? ? @title : accurate_title
23
23
  if title_string.present?
24
24
  if Spree::Config[:always_put_site_name_in_title]
25
- [title_string, default_title].join(' - ')
25
+ [title_string, default_title].join(" #{Spree::Config[:title_site_name_separator]} ")
26
26
  else
27
27
  title_string
28
28
  end
@@ -42,8 +42,8 @@ module Spree
42
42
 
43
43
  def render_404(exception = nil)
44
44
  respond_to do |type|
45
- type.html { render :status => :not_found, :file => "#{::Rails.root}/public/404", :formats => [:html], :layout => nil}
46
- type.all { render :status => :not_found, :nothing => true }
45
+ type.html { render status: :not_found, file: "#{::Rails.root}/public/404", formats: [:html], layout: nil}
46
+ type.all { head :not_found }
47
47
  end
48
48
  end
49
49
 
@@ -35,11 +35,8 @@ module Spree
35
35
  @current_order = find_order_by_token_or_user(options, true)
36
36
 
37
37
  if options[:create_order_if_necessary] && (@current_order.nil? || @current_order.completed?)
38
- @current_order = Spree::Order.new(current_order_params)
39
- @current_order.user ||= try_spree_current_user
40
- # See issue #3346 for reasons why this line is here
41
- @current_order.created_by ||= try_spree_current_user
42
- @current_order.save!
38
+ @current_order = Spree::Order.create!(current_order_params)
39
+ @current_order.associate_user! try_spree_current_user if try_spree_current_user
43
40
  end
44
41
 
45
42
  if @current_order
@@ -52,7 +52,7 @@ module Spree
52
52
  end
53
53
 
54
54
  if format_value.is_a?(Proc)
55
- options = {action_name.to_sym => {format_name.to_sym => {:success => format_value}}}
55
+ options = {action_name.to_sym => {format_name.to_sym => {success: format_value}}}
56
56
  end
57
57
 
58
58
  self.spree_responders.deep_merge!(self.name.to_sym => options)
@@ -29,7 +29,7 @@ module DelegateBelongsTo
29
29
  # @todo Integrate this with ActiveRecord::Dirty, so if you set a property through one of these setters and then call save on this object, it will save the associated object automatically.
30
30
  # delegate_belongs_to :contact
31
31
  # delegate_belongs_to :contact, [:defaults] ## same as above, and useless
32
- # delegate_belongs_to :contact, [:defaults, :address, :fullname], :class_name => 'VCard'
32
+ # delegate_belongs_to :contact, [:defaults, :address, :fullname], class_name: 'VCard'
33
33
  ##
34
34
  def delegate_belongs_to(association, *attrs)
35
35
  opts = attrs.extract_options!
@@ -92,4 +92,4 @@ module DelegateBelongsTo
92
92
  protected :delegator_for_setter
93
93
  end
94
94
 
95
- ActiveRecord::Base.send :include, DelegateBelongsTo
95
+ ActiveRecord::Base.include DelegateBelongsTo
@@ -89,7 +89,8 @@ module Spree
89
89
  Spree::Promotion::Rules::UserLoggedIn,
90
90
  Spree::Promotion::Rules::OneUsePerUser,
91
91
  Spree::Promotion::Rules::Taxon,
92
- Spree::Promotion::Rules::OptionValue
92
+ Spree::Promotion::Rules::OptionValue,
93
+ Spree::Promotion::Rules::Country
93
94
  ]
94
95
  end
95
96
 
@@ -115,12 +116,12 @@ module Spree
115
116
  end
116
117
 
117
118
  config.to_prepare do
118
- # Ensure spree locale paths are present before decorators
119
- I18n.load_path.unshift(*(Dir.glob(
119
+ # Load spree locales before decorators
120
+ I18n.load_path += Dir.glob(
120
121
  File.join(
121
122
  File.dirname(__FILE__), '../../../config/locales', '*.{rb,yml}'
122
123
  )
123
- ) - I18n.load_path))
124
+ )
124
125
 
125
126
  # Load application's model / class decorators
126
127
  Dir.glob(File.join(File.dirname(__FILE__), '../../../app/**/*_decorator*.rb')) do |c|
@@ -7,8 +7,8 @@ module Spree
7
7
  def initialize(product, product_params, options = {})
8
8
  @product = product || Spree::Product.new(product_params)
9
9
 
10
- @product_attrs = product_params
11
- @variants_attrs = options[:variants_attrs] || []
10
+ @product_attrs = product_params.to_h
11
+ @variants_attrs = (options[:variants_attrs] || []).map(&:to_h)
12
12
  @options_attrs = options[:options_attrs] || []
13
13
  end
14
14
 
@@ -58,7 +58,7 @@ module Spree
58
58
 
59
59
  def duplicate_image(image)
60
60
  new_image = image.dup
61
- new_image.assign_attributes(:attachment => image.attachment.clone)
61
+ new_image.assign_attributes(attachment: image.attachment.clone)
62
62
  new_image
63
63
  end
64
64