spree_core 3.0.9 → 3.2.0

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 (627) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/{spree.js.coffee.erb → spree.js.coffee} +13 -4
  3. data/app/helpers/spree/base_helper.rb +5 -2
  4. data/app/helpers/spree/products_helper.rb +37 -12
  5. data/app/mailers/spree/base_mailer.rb +11 -2
  6. data/app/mailers/spree/reimbursement_mailer.rb +6 -6
  7. data/app/models/concerns/spree/acts_as_taggable.rb +11 -0
  8. data/app/models/concerns/spree/adjustment_source.rb +3 -10
  9. data/app/models/concerns/spree/default_price.rb +7 -1
  10. data/app/models/concerns/spree/named_type.rb +1 -1
  11. data/app/models/concerns/spree/ransackable_attributes.rb +6 -1
  12. data/app/models/concerns/spree/user_api_authentication.rb +7 -1
  13. data/app/models/concerns/spree/user_methods.rb +57 -0
  14. data/app/models/concerns/spree/user_reporting.rb +2 -2
  15. data/app/models/concerns/spree/vat_price_calculation.rb +47 -0
  16. data/app/models/spree/ability.rb +9 -1
  17. data/app/models/spree/address.rb +75 -45
  18. data/app/models/spree/adjustable/adjuster/base.rb +25 -0
  19. data/app/models/spree/adjustable/adjuster/promotion.rb +41 -0
  20. data/app/models/spree/adjustable/adjuster/tax.rb +26 -0
  21. data/app/models/spree/adjustable/adjustments_updater.rb +22 -45
  22. data/app/models/spree/adjustment.rb +8 -10
  23. data/app/models/spree/app_configuration.rb +14 -8
  24. data/app/models/spree/base.rb +5 -1
  25. data/app/models/spree/calculator/default_tax.rb +2 -10
  26. data/app/models/spree/calculator/free_shipping.rb +6 -5
  27. data/app/models/spree/calculator.rb +1 -6
  28. data/app/models/spree/classification.rb +7 -3
  29. data/app/models/spree/country.rb +15 -3
  30. data/app/models/spree/credit_card.rb +37 -38
  31. data/app/models/spree/customer_return.rb +7 -15
  32. data/app/models/spree/gateway/bogus.rb +12 -12
  33. data/app/models/spree/gateway/bogus_simple.rb +4 -4
  34. data/app/models/spree/gateway.rb +8 -7
  35. data/app/models/spree/image.rb +3 -3
  36. data/app/models/spree/inventory_unit.rb +13 -14
  37. data/app/models/spree/legacy_user.rb +1 -14
  38. data/app/models/spree/line_item.rb +79 -67
  39. data/app/models/spree/log_entry.rb +1 -4
  40. data/app/models/spree/option_type.rb +15 -6
  41. data/app/models/spree/option_type_prototype.rb +9 -0
  42. data/app/models/spree/option_value.rb +11 -3
  43. data/app/models/spree/option_value_variant.rb +6 -0
  44. data/app/models/spree/order/checkout.rb +10 -13
  45. data/app/models/spree/order/currency_updater.rb +1 -1
  46. data/app/models/spree/order/store_credit.rb +96 -0
  47. data/app/models/spree/order.rb +105 -68
  48. data/app/models/spree/order_contents.rb +13 -7
  49. data/app/models/spree/order_inventory.rb +16 -9
  50. data/app/models/spree/order_promotion.rb +6 -0
  51. data/app/models/spree/order_updater.rb +4 -8
  52. data/app/models/spree/payment/gateway_options.rb +8 -4
  53. data/app/models/spree/payment/processing.rb +1 -1
  54. data/app/models/spree/payment.rb +55 -29
  55. data/app/models/spree/payment_method/store_credit.rb +130 -0
  56. data/app/models/spree/payment_method.rb +18 -13
  57. data/app/models/spree/preference.rb +1 -1
  58. data/app/models/spree/preferences/store.rb +2 -2
  59. data/app/models/spree/price.rb +16 -6
  60. data/app/models/spree/product/scopes.rb +22 -13
  61. data/app/models/spree/product.rb +83 -52
  62. data/app/models/spree/product_option_type.rb +7 -2
  63. data/app/models/spree/product_promotion_rule.rb +9 -0
  64. data/app/models/spree/product_property.rb +9 -10
  65. data/app/models/spree/promotion/actions/create_adjustment.rb +1 -1
  66. data/app/models/spree/promotion/actions/create_line_items.rb +21 -3
  67. data/app/models/spree/promotion/rules/country.rb +23 -0
  68. data/app/models/spree/promotion/rules/option_value.rb +13 -10
  69. data/app/models/spree/promotion/rules/product.rb +3 -1
  70. data/app/models/spree/promotion/rules/taxon.rb +3 -2
  71. data/app/models/spree/promotion/rules/user.rb +4 -4
  72. data/app/models/spree/promotion.rb +55 -19
  73. data/app/models/spree/promotion_action.rb +3 -3
  74. data/app/models/spree/promotion_category.rb +1 -1
  75. data/app/models/spree/promotion_handler/cart.rb +3 -17
  76. data/app/models/spree/promotion_handler/coupon.rb +22 -22
  77. data/app/models/spree/promotion_handler/page.rb +2 -2
  78. data/app/models/spree/promotion_rule_taxon.rb +9 -0
  79. data/app/models/spree/promotion_rule_user.rb +9 -0
  80. data/app/models/spree/property.rb +2 -1
  81. data/app/models/spree/property_prototype.rb +9 -0
  82. data/app/models/spree/prototype.rb +8 -3
  83. data/app/models/spree/prototype_taxon.rb +9 -0
  84. data/app/models/spree/refund.rb +10 -7
  85. data/app/models/spree/refund_reason.rb +2 -2
  86. data/app/models/spree/reimbursement.rb +12 -16
  87. data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +23 -6
  88. data/app/models/spree/reimbursement_type/store_credit.rb +28 -0
  89. data/app/models/spree/reimbursement_type.rb +5 -1
  90. data/app/models/spree/return_authorization.rb +8 -13
  91. data/app/models/spree/return_authorization_reason.rb +1 -1
  92. data/app/models/spree/return_item/eligibility_validator/time_since_purchase.rb +1 -1
  93. data/app/models/spree/return_item.rb +14 -13
  94. data/app/models/spree/role.rb +3 -2
  95. data/app/models/spree/role_user.rb +6 -0
  96. data/app/models/spree/shipment.rb +23 -30
  97. data/app/models/spree/shipment_handler.rb +2 -2
  98. data/app/models/spree/shipping_category.rb +6 -3
  99. data/app/models/spree/shipping_method.rb +12 -11
  100. data/app/models/spree/shipping_method_zone.rb +6 -0
  101. data/app/models/spree/shipping_rate.rb +16 -29
  102. data/app/models/spree/state.rb +3 -2
  103. data/app/models/spree/state_change.rb +1 -1
  104. data/app/models/spree/stock/adjuster.rb +9 -2
  105. data/app/models/spree/stock/content_item.rb +10 -12
  106. data/app/models/spree/stock/coordinator.rb +21 -15
  107. data/app/models/spree/stock/estimator.rb +28 -30
  108. data/app/models/spree/stock/inventory_unit_builder.rb +2 -10
  109. data/app/models/spree/stock/package.rb +11 -3
  110. data/app/models/spree/stock/packer.rb +16 -6
  111. data/app/models/spree/stock/prioritizer.rb +25 -15
  112. data/app/models/spree/stock/quantifier.rb +5 -5
  113. data/app/models/spree/stock/splitter/backordered.rb +2 -2
  114. data/app/models/spree/stock/splitter/shipping_category.rb +6 -1
  115. data/app/models/spree/stock_item.rb +15 -18
  116. data/app/models/spree/stock_location.rb +4 -7
  117. data/app/models/spree/stock_movement.rb +16 -9
  118. data/app/models/spree/stock_transfer.rb +11 -12
  119. data/app/models/spree/store.rb +15 -6
  120. data/app/models/spree/store_credit.rb +252 -0
  121. data/app/models/spree/store_credit_category.rb +22 -0
  122. data/app/models/spree/store_credit_event.rb +38 -0
  123. data/app/models/spree/store_credit_type.rb +6 -0
  124. data/app/models/spree/tag.rb +4 -0
  125. data/app/models/spree/tax_category.rb +3 -8
  126. data/app/models/spree/tax_rate.rb +61 -121
  127. data/app/models/spree/taxon.rb +12 -6
  128. data/app/models/spree/tracker.rb +12 -1
  129. data/app/models/spree/validations/db_maximum_length_validator.rb +2 -1
  130. data/app/models/spree/variant.rb +94 -49
  131. data/app/models/spree/zone.rb +23 -19
  132. data/app/models/spree/zone_member.rb +6 -0
  133. data/app/validators/db_maximum_length_validator.rb +11 -0
  134. data/app/views/layouts/spree/base_mailer.html.erb +38 -781
  135. data/app/views/spree/order_mailer/_adjustment.html.erb +8 -0
  136. data/app/views/spree/order_mailer/_subtotal.html.erb +8 -0
  137. data/app/views/spree/order_mailer/_total.html.erb +8 -0
  138. data/app/views/spree/order_mailer/cancel_email.html.erb +13 -28
  139. data/app/views/spree/order_mailer/cancel_email.text.erb +1 -1
  140. data/app/views/spree/order_mailer/confirm_email.html.erb +49 -63
  141. data/app/views/spree/order_mailer/confirm_email.text.erb +1 -1
  142. data/app/views/spree/shared/_base_mailer_header.html.erb +5 -7
  143. data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +777 -0
  144. data/app/views/spree/shared/_error_messages.html.erb +1 -1
  145. data/app/views/spree/shared/_mailer_line_item.html.erb +12 -0
  146. data/app/views/spree/shared/_paths.html.erb +8 -0
  147. data/app/views/spree/shipment_mailer/shipped_email.html.erb +21 -14
  148. data/app/views/spree/shipment_mailer/shipped_email.text.erb +3 -3
  149. data/config/initializers/acts_as_taggable_on.rb +9 -0
  150. data/config/initializers/friendly_id.rb +0 -81
  151. data/config/initializers/user_class_extensions.rb +7 -38
  152. data/config/locales/en.yml +137 -12
  153. data/config/routes.rb +7 -0
  154. data/db/default/spree/countries.rb +5 -1
  155. data/db/default/spree/default_reimbursement_type.rb +1 -1
  156. data/db/default/spree/roles.rb +2 -2
  157. data/db/default/spree/states.rb +1 -1
  158. data/db/default/spree/zones.rb +4 -5
  159. data/db/migrate/20120831092320_spree_one_two.rb +101 -101
  160. data/db/migrate/20120831092359_spree_promo_one_two.rb +14 -14
  161. data/db/migrate/20120905145253_add_tax_rate_label.rb +1 -1
  162. data/db/migrate/20120905151823_add_toggle_tax_rate_display.rb +2 -2
  163. data/db/migrate/20120929093553_remove_unused_preference_columns.rb +4 -4
  164. data/db/migrate/20121009142519_add_lock_version_to_variant.rb +2 -2
  165. data/db/migrate/20121010142909_add_states_required_to_countries.rb +2 -2
  166. data/db/migrate/20121012071449_add_on_demand_to_product_and_variant.rb +3 -3
  167. data/db/migrate/20121017010007_remove_not_null_constraint_from_products_on_hand.rb +5 -5
  168. data/db/migrate/20121031162139_split_prices_from_variants.rb +10 -10
  169. data/db/migrate/20121107003422_remove_not_null_from_spree_prices_amount.rb +3 -3
  170. data/db/migrate/20121107184631_add_currency_to_line_items.rb +1 -1
  171. data/db/migrate/20121107194006_add_currency_to_orders.rb +1 -1
  172. data/db/migrate/20121109173623_add_cost_currency_to_variants.rb +2 -2
  173. data/db/migrate/20121111231553_remove_display_on_from_payment_methods.rb +1 -1
  174. data/db/migrate/20121124203911_add_position_to_taxonomies.rb +2 -2
  175. data/db/migrate/20121126040517_add_last_ip_to_spree_orders.rb +1 -1
  176. data/db/migrate/20121213162028_add_state_to_spree_adjustments.rb +1 -1
  177. data/db/migrate/20130114053446_add_display_on_to_spree_payment_methods.rb +1 -1
  178. data/db/migrate/20130120201805_add_position_to_product_properties.spree.rb +2 -2
  179. data/db/migrate/20130203232234_add_identifier_to_spree_payments.rb +1 -1
  180. data/db/migrate/20130207155350_add_order_id_index_to_payments.rb +1 -1
  181. data/db/migrate/20130208032954_add_primary_to_spree_products_taxons.rb +1 -1
  182. data/db/migrate/20130211190146_create_spree_stock_items.rb +2 -2
  183. data/db/migrate/20130211191120_create_spree_stock_locations.rb +1 -1
  184. data/db/migrate/20130213191427_create_default_stock.rb +1 -2
  185. data/db/migrate/20130222032153_add_order_id_index_to_shipments.rb +1 -1
  186. data/db/migrate/20130226032817_change_meta_description_on_spree_products_to_text.rb +2 -2
  187. data/db/migrate/20130226191231_add_stock_location_id_to_spree_shipments.rb +1 -1
  188. data/db/migrate/20130227143905_add_pending_to_inventory_unit.rb +3 -3
  189. data/db/migrate/20130228164411_remove_on_demand_from_product_and_variant.rb +1 -1
  190. data/db/migrate/20130228210442_create_shipping_method_zone.rb +3 -3
  191. data/db/migrate/20130301162745_remove_shipping_category_id_from_shipping_method.rb +1 -1
  192. data/db/migrate/20130301162924_create_shipping_method_categories.rb +3 -3
  193. data/db/migrate/20130301205200_add_tracking_url_to_spree_shipping_methods.rb +1 -1
  194. data/db/migrate/20130304162240_create_spree_shipping_rates.rb +5 -5
  195. data/db/migrate/20130304192936_remove_category_match_attributes_from_shipping_method.rb +1 -1
  196. data/db/migrate/20130305143310_create_stock_movements.rb +1 -1
  197. data/db/migrate/20130306181701_add_address_fields_to_stock_location.rb +3 -3
  198. data/db/migrate/20130306191917_add_active_field_to_stock_locations.rb +2 -2
  199. data/db/migrate/20130306195650_add_backorderable_to_stock_item.rb +2 -2
  200. data/db/migrate/20130307161754_add_default_quantity_to_stock_movement.rb +2 -2
  201. data/db/migrate/20130318151756_add_source_and_destination_to_stock_movements.rb +1 -1
  202. data/db/migrate/20130319062004_change_orders_total_precision.rb +5 -5
  203. data/db/migrate/20130319063911_change_spree_payments_amount_precision.rb +2 -2
  204. data/db/migrate/20130319064308_change_spree_return_authorization_amount_precision.rb +2 -2
  205. data/db/migrate/20130319082943_change_adjustments_amount_precision.rb +2 -2
  206. data/db/migrate/20130319183250_add_originator_to_stock_movement.rb +1 -1
  207. data/db/migrate/20130319190507_drop_source_and_destination_from_stock_movement.rb +3 -3
  208. data/db/migrate/20130325163316_migrate_inventory_unit_sold_to_on_hand.rb +3 -3
  209. data/db/migrate/20130326175857_add_stock_location_to_rma.rb +1 -1
  210. data/db/migrate/20130328130308_update_shipment_state_for_canceled_orders.rb +1 -1
  211. data/db/migrate/20130328195253_add_seo_metas_to_taxons.rb +1 -1
  212. data/db/migrate/20130329134939_remove_stock_item_and_variant_lock.rb +1 -1
  213. data/db/migrate/20130413230529_add_name_to_spree_credit_cards.rb +1 -1
  214. data/db/migrate/20130414000512_update_name_fields_on_spree_credit_cards.rb +2 -2
  215. data/db/migrate/20130417120034_add_index_to_source_columns_on_adjustments.rb +1 -1
  216. data/db/migrate/20130417120035_update_adjustment_states.rb +3 -3
  217. data/db/migrate/20130417123427_add_shipping_rates_to_shipments.rb +4 -4
  218. data/db/migrate/20130418125341_create_spree_stock_transfers.rb +1 -1
  219. data/db/migrate/20130423110707_drop_products_count_on_hand.rb +1 -1
  220. data/db/migrate/20130423223847_set_default_shipping_rate_cost.rb +1 -1
  221. data/db/migrate/20130509115210_add_number_to_stock_transfer.rb +1 -1
  222. data/db/migrate/20130514151929_add_sku_index_to_spree_variants.rb +1 -1
  223. data/db/migrate/20130515180736_add_backorderable_default_to_spree_stock_location.rb +1 -1
  224. data/db/migrate/20130516151222_add_propage_all_variants_to_spree_stock_location.rb +1 -1
  225. data/db/migrate/20130611054351_rename_shipping_methods_zones_to_spree_shipping_methods_zones.rb +1 -1
  226. data/db/migrate/20130611185927_add_user_id_index_to_spree_orders.rb +1 -1
  227. data/db/migrate/20130618041418_add_updated_at_to_spree_countries.rb +1 -1
  228. data/db/migrate/20130619012236_add_updated_at_to_spree_states.rb +1 -1
  229. data/db/migrate/20130626232741_add_cvv_result_code_and_cvv_result_message_to_spree_payments.rb +1 -1
  230. data/db/migrate/20130628021056_add_unique_index_to_permalink_on_spree_products.rb +2 -2
  231. data/db/migrate/20130628022817_add_unique_index_to_orders_shipments_and_stock_transfers.rb +4 -4
  232. data/db/migrate/20130708052307_add_deleted_at_to_spree_tax_rates.rb +1 -1
  233. data/db/migrate/20130711200933_remove_lock_version_from_inventory_units.rb +1 -1
  234. data/db/migrate/20130718042445_add_cost_price_to_line_item.rb +2 -2
  235. data/db/migrate/20130718233855_set_backorderable_to_default_to_false.rb +3 -3
  236. data/db/migrate/20130725031716_add_created_by_id_to_spree_orders.rb +1 -1
  237. data/db/migrate/20130729214043_index_completed_at_on_spree_orders.rb +1 -1
  238. data/db/migrate/20130802014537_add_tax_category_id_to_spree_line_items.rb +1 -1
  239. data/db/migrate/20130802022321_migrate_tax_categories_to_line_items.rb +1 -1
  240. data/db/migrate/20130806022521_drop_spree_mail_methods.rb +1 -1
  241. data/db/migrate/20130806145853_set_default_stock_location_on_shipments.rb +1 -1
  242. data/db/migrate/20130807024301_upgrade_adjustments.rb +4 -4
  243. data/db/migrate/20130807024302_rename_adjustment_fields.rb +1 -1
  244. data/db/migrate/20130809164245_add_admin_name_column_to_spree_shipping_methods.rb +1 -1
  245. data/db/migrate/20130809164330_add_admin_name_column_to_spree_stock_locations.rb +1 -1
  246. data/db/migrate/20130813004002_add_shipment_total_to_spree_orders.rb +2 -2
  247. data/db/migrate/20130813140619_expand_order_number_size.rb +3 -3
  248. data/db/migrate/20130813232134_rename_activators_to_promotions.rb +1 -1
  249. data/db/migrate/20130815000406_add_adjustment_total_to_line_items.rb +2 -2
  250. data/db/migrate/20130815024413_add_adjustment_total_to_shipments.rb +2 -2
  251. data/db/migrate/20130826062534_add_depth_to_spree_taxons.rb +1 -1
  252. data/db/migrate/20130828234942_add_tax_total_to_line_items_shipments_and_orders.rb +2 -2
  253. data/db/migrate/20130830001033_add_shipping_category_to_shipping_methods_and_products.rb +2 -2
  254. data/db/migrate/20130830001159_migrate_old_shipping_calculators.rb +1 -1
  255. data/db/migrate/20130903183026_add_code_to_spree_promotion_rules.rb +1 -1
  256. data/db/migrate/20130909115621_change_states_required_for_countries.rb +1 -1
  257. data/db/migrate/20130915032339_add_deleted_at_to_spree_stock_items.rb +1 -1
  258. data/db/migrate/20130917024658_remove_promotions_event_name_field.rb +2 -2
  259. data/db/migrate/20130924040529_add_promo_total_to_line_items_and_shipments_and_orders.rb +1 -1
  260. data/db/migrate/20131001013410_remove_unused_credit_card_fields.rb +2 -2
  261. data/db/migrate/20131026154747_add_track_inventory_to_variant.rb +2 -2
  262. data/db/migrate/20131107132123_add_tax_category_to_variants.rb +1 -1
  263. data/db/migrate/20131113035136_add_channel_to_spree_orders.rb +1 -1
  264. data/db/migrate/20131118043959_add_included_to_adjustments.rb +2 -2
  265. data/db/migrate/20131118050234_rename_tax_total_fields.rb +1 -1
  266. data/db/migrate/20131118183431_add_line_item_id_to_spree_inventory_units.rb +1 -1
  267. data/db/migrate/20131120234456_add_updated_at_to_variants.rb +1 -1
  268. data/db/migrate/20131127001002_add_position_to_classifications.rb +1 -1
  269. data/db/migrate/20131211112807_create_spree_orders_promotions.rb +2 -2
  270. data/db/migrate/20131211192741_unique_shipping_method_categories.rb +1 -1
  271. data/db/migrate/20131218054603_add_item_count_to_spree_orders.rb +2 -2
  272. data/db/migrate/20140106065820_remove_value_type_from_spree_preferences.rb +1 -1
  273. data/db/migrate/20140106224208_rename_permalink_to_slug_for_products.rb +1 -1
  274. data/db/migrate/20140120160805_add_index_to_variant_id_and_currency_on_prices.rb +1 -1
  275. data/db/migrate/20140124023232_rename_activator_id_in_rules_and_actions_to_promotion_id.rb +1 -1
  276. data/db/migrate/20140129024326_add_deleted_at_to_spree_prices.rb +1 -1
  277. data/db/migrate/20140203161722_add_approver_id_and_approved_at_to_orders.rb +1 -1
  278. data/db/migrate/20140204115338_add_confirmation_delivered_to_spree_orders.rb +1 -1
  279. data/db/migrate/20140204192230_add_auto_capture_to_payment_methods.rb +1 -1
  280. data/db/migrate/20140205120320_create_spree_payment_capture_events.rb +1 -1
  281. data/db/migrate/20140205144710_add_uncaptured_amount_to_payments.rb +1 -1
  282. data/db/migrate/20140205181631_default_variant_weight_to_zero.rb +1 -1
  283. data/db/migrate/20140207085910_add_tax_category_id_to_shipping_methods.rb +1 -1
  284. data/db/migrate/20140207093021_add_tax_rate_id_to_shipping_rates.rb +1 -1
  285. data/db/migrate/20140211040159_add_pre_tax_amount_to_line_items_and_shipments.rb +1 -1
  286. data/db/migrate/20140213184916_add_more_indexes.rb +1 -1
  287. data/db/migrate/20140219060952_add_considered_risky_to_orders.rb +2 -2
  288. data/db/migrate/20140227112348_add_preference_store_to_everything.rb +1 -1
  289. data/db/migrate/20140307235515_add_user_id_to_spree_credit_cards.rb +1 -1
  290. data/db/migrate/20140309023735_migrate_old_preferences.rb +1 -1
  291. data/db/migrate/20140309024355_create_spree_stores.rb +2 -2
  292. data/db/migrate/20140309033438_create_store_from_preferences.rb +2 -2
  293. data/db/migrate/20140315053743_add_timestamps_to_spree_assets.rb +1 -1
  294. data/db/migrate/20140318191500_create_spree_taxons_promotion_rules.rb +1 -1
  295. data/db/migrate/20140331100557_add_additional_store_fields.rb +1 -1
  296. data/db/migrate/20140410141842_add_many_missing_indexes.rb +1 -1
  297. data/db/migrate/20140410150358_correct_some_polymorphic_index_and_add_more_missing.rb +1 -1
  298. data/db/migrate/20140415041315_add_user_id_created_by_id_index_to_order.rb +1 -1
  299. data/db/migrate/20140508151342_change_spree_price_amount_precision.rb +5 -5
  300. data/db/migrate/20140518174634_add_token_to_spree_orders.rb +1 -1
  301. data/db/migrate/20140530024945_move_order_token_from_tokenized_permission.rb +2 -2
  302. data/db/migrate/20140601011216_set_shipment_total_for_users_upgrading.rb +1 -1
  303. data/db/migrate/20140604135309_drop_credit_card_first_name_and_last_name.rb +1 -1
  304. data/db/migrate/20140609201656_add_deleted_at_to_spree_promotion_actions.rb +1 -1
  305. data/db/migrate/20140616202624_remove_uncaptured_amount_from_spree_payments.rb +1 -1
  306. data/db/migrate/20140625214618_create_spree_refunds.rb +1 -1
  307. data/db/migrate/20140702140656_create_spree_return_authorization_inventory_unit.rb +1 -1
  308. data/db/migrate/20140707125621_rename_return_authorization_inventory_unit_to_return_items.rb +1 -1
  309. data/db/migrate/20140709160534_backfill_line_item_pre_tax_amount.rb +1 -1
  310. data/db/migrate/20140710041921_recreate_spree_return_authorizations.rb +2 -2
  311. data/db/migrate/20140710181204_add_amount_fields_to_return_items.rb +1 -1
  312. data/db/migrate/20140710190048_drop_return_authorization_amount.rb +1 -1
  313. data/db/migrate/20140713140455_create_spree_return_authorization_reasons.rb +1 -1
  314. data/db/migrate/20140713140527_create_spree_refund_reasons.rb +1 -1
  315. data/db/migrate/20140713142214_rename_return_authorization_reason.rb +1 -1
  316. data/db/migrate/20140715182625_create_spree_promotion_categories.rb +1 -1
  317. data/db/migrate/20140716204111_drop_received_at_on_return_items.rb +1 -1
  318. data/db/migrate/20140716212330_add_reception_and_acceptance_status_to_return_items.rb +1 -1
  319. data/db/migrate/20140717155155_create_default_refund_reason.rb +1 -1
  320. data/db/migrate/20140717185932_add_default_to_spree_stock_locations.rb +1 -1
  321. data/db/migrate/20140718133010_create_spree_customer_returns.rb +1 -1
  322. data/db/migrate/20140718133349_add_customer_return_id_to_return_item.rb +1 -1
  323. data/db/migrate/20140718195325_create_friendly_id_slugs.rb +5 -5
  324. data/db/migrate/20140723004419_rename_spree_refund_return_authorization_id.rb +1 -1
  325. data/db/migrate/20140723152808_increase_return_item_pre_tax_amount_precision.rb +1 -1
  326. data/db/migrate/20140723214541_copy_product_slugs_to_slug_history.rb +2 -2
  327. data/db/migrate/20140725131539_create_spree_reimbursements.rb +1 -1
  328. data/db/migrate/20140728225422_add_promotionable_to_spree_products.rb +1 -1
  329. data/db/migrate/20140729133613_add_exchange_inventory_unit_foreign_keys.rb +1 -1
  330. data/db/migrate/20140730155938_add_acceptance_status_errors_to_return_item.rb +1 -1
  331. data/db/migrate/20140731150017_create_spree_reimbursement_types.rb +1 -1
  332. data/db/migrate/20140804185157_add_default_to_shipment_cost.rb +1 -1
  333. data/db/migrate/20140805171035_add_default_to_spree_credit_cards.rb +1 -1
  334. data/db/migrate/20140805171219_make_existing_credit_cards_default.rb +1 -1
  335. data/db/migrate/20140806144901_add_type_to_reimbursement_type.rb +1 -1
  336. data/db/migrate/20140808184039_create_spree_reimbursement_credits.rb +1 -1
  337. data/db/migrate/20140827170513_add_meta_title_to_spree_products.rb +1 -1
  338. data/db/migrate/20140911173301_add_kind_to_zone.rb +1 -1
  339. data/db/migrate/20140924164824_add_code_to_spree_tax_categories.rb +1 -1
  340. data/db/migrate/20140927193717_default_pre_tax_amount_should_be_zero.rb +1 -1
  341. data/db/migrate/20141002191113_add_code_to_spree_shipping_methods.rb +1 -1
  342. data/db/migrate/20141007230328_add_cancel_audit_fields_to_spree_orders.rb +1 -1
  343. data/db/migrate/20141009204607_add_store_id_to_orders.rb +1 -1
  344. data/db/migrate/20141012083513_create_spree_taxons_prototypes.rb +1 -1
  345. data/db/migrate/20141021194502_add_state_lock_version_to_order.rb +1 -1
  346. data/db/migrate/20141023005240_add_counter_cache_from_spree_variants_to_spree_stock_items.rb +2 -7
  347. data/db/migrate/20141101231208_fix_adjustment_order_presence.rb +1 -1
  348. data/db/migrate/20141105213646_update_classifications_positions.rb +1 -1
  349. data/db/migrate/20141120135441_add_guest_token_index_to_spree_orders.rb +1 -1
  350. data/db/migrate/20141215232040_remove_token_permissions_table.rb +1 -1
  351. data/db/migrate/20141215235502_remove_extra_products_slug_index.rb +1 -1
  352. data/db/migrate/20141217215630_update_product_slug_index.rb +1 -1
  353. data/db/migrate/20141218025915_rename_identifier_to_number_for_payment.rb +1 -1
  354. data/db/migrate/20150118210639_create_spree_store_credits.rb +24 -0
  355. data/db/migrate/20150118211500_create_spree_store_credit_categories.rb +8 -0
  356. data/db/migrate/20150118212051_create_spree_store_credit_events.rb +17 -0
  357. data/db/migrate/20150118212101_create_spree_store_credit_types.rb +10 -0
  358. data/db/migrate/20150121022521_remove_environment_from_payment_method.rb +1 -1
  359. data/db/migrate/20150122145607_add_resellable_to_return_items.rb +1 -1
  360. data/db/migrate/20150122202432_add_code_to_spree_promotion_categories.rb +1 -1
  361. data/db/migrate/20150128032538_remove_environment_from_tracker.rb +1 -1
  362. data/db/migrate/20150128060325_remove_spree_configurations.rb +1 -1
  363. data/db/migrate/20150216173445_add_index_to_spree_stock_items_variant_id.rb +1 -1
  364. data/db/migrate/20150309161154_ensure_payments_have_numbers.rb +1 -1
  365. data/db/migrate/20150314013438_add_missing_indexes_on_spree_tables.rb +67 -0
  366. data/db/migrate/20150317174308_remove_duplicated_indexes_from_multi_columns.rb +18 -0
  367. data/db/migrate/20150324104002_remove_user_index_from_spree_state_changes.rb +14 -0
  368. data/db/migrate/20150515211137_fix_adjustment_order_id.rb +1 -1
  369. data/db/migrate/20150522071831_add_position_to_spree_payment_methods.rb +5 -0
  370. data/db/migrate/20150522181728_add_deleted_at_to_friendly_id_slugs.rb +1 -1
  371. data/db/migrate/20150609093816_increase_scale_on_pre_tax_amounts.rb +1 -1
  372. data/db/migrate/20150626181949_add_taxable_adjustment_total_to_line_item.rb +19 -0
  373. data/db/migrate/20150627090949_migrate_payment_methods_display.rb +12 -0
  374. data/db/migrate/20150707204155_enable_acts_as_paranoid_on_calculators.rb +1 -1
  375. data/db/migrate/20150714154102_spree_payment_method_store_credits.rb +12 -0
  376. data/db/migrate/20150726141425_rename_has_and_belongs_to_associations_to_model_names.rb +18 -0
  377. data/db/migrate/20150727191614_spree_store_credit_types.rb +11 -0
  378. data/db/migrate/20150819154308_add_discontinued_to_products_and_variants.rb +68 -0
  379. data/db/migrate/20151220072838_remove_shipping_method_id_from_spree_orders.rb +13 -0
  380. data/db/migrate/20160207191757_add_id_column_to_earlier_habtm_tables.rb +16 -0
  381. data/db/migrate/20160219165458_add_indexes.rb +14 -0
  382. data/db/migrate/20160509064646_remove_counter_cache_from_spree_variants_to_spree_stock_items.rb +10 -0
  383. data/db/migrate/20160511071954_acts_as_taggable_on_spree_migration.rb +40 -0
  384. data/db/migrate/20160511072249_change_collation_for_spree_tag_names.rb +9 -0
  385. data/db/migrate/20160511072335_add_missing_indexes_to_spree_taggings.rb +14 -0
  386. data/db/migrate/20160608090604_add_zipcode_required_to_spree_countries.rb +7 -0
  387. data/db/migrate/20161014145148_add_created_at_to_variant.rb +8 -0
  388. data/db/migrate/20161014152814_add_null_false_to_spree_variants_timestamps.rb +6 -0
  389. data/lib/generators/spree/custom_user/custom_user_generator.rb +1 -1
  390. data/lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt +3 -3
  391. data/lib/generators/spree/custom_user/templates/migration.rb.tt +2 -2
  392. data/lib/generators/spree/dummy/dummy_generator.rb +11 -11
  393. data/lib/generators/spree/dummy/templates/rails/application.rb +1 -1
  394. data/lib/generators/spree/dummy/templates/rails/database.yml +38 -28
  395. data/lib/generators/spree/dummy/templates/rails/test.rb +4 -3
  396. data/lib/generators/spree/install/install_generator.rb +37 -13
  397. data/lib/spree/core/controller_helpers/auth.rb +1 -1
  398. data/lib/spree/core/controller_helpers/common.rb +6 -6
  399. data/lib/spree/core/controller_helpers/order.rb +9 -10
  400. data/lib/spree/core/controller_helpers/respond_with.rb +1 -1
  401. data/lib/spree/core/controller_helpers/search.rb +1 -1
  402. data/lib/spree/core/controller_helpers/store.rb +29 -0
  403. data/lib/spree/core/delegate_belongs_to.rb +4 -4
  404. data/lib/spree/core/engine.rb +39 -20
  405. data/lib/spree/core/environment.rb +1 -1
  406. data/lib/spree/core/importer/order.rb +37 -40
  407. data/lib/spree/core/importer/product.rb +2 -2
  408. data/lib/spree/core/number_generator.rb +52 -0
  409. data/lib/spree/core/product_duplicator.rb +1 -1
  410. data/lib/spree/core/product_filters.rb +2 -2
  411. data/lib/spree/core/search/base.rb +4 -3
  412. data/lib/spree/core/version.rb +1 -1
  413. data/lib/spree/core.rb +16 -0
  414. data/lib/spree/i18n/initializer.rb +1 -1
  415. data/lib/spree/localized_number.rb +3 -1
  416. data/lib/spree/permitted_attributes.rb +6 -3
  417. data/lib/spree/testing_support/caching.rb +3 -3
  418. data/lib/spree/testing_support/common_rake.rb +3 -3
  419. data/lib/spree/testing_support/controller_requests.rb +4 -4
  420. data/lib/spree/testing_support/factories/address_factory.rb +1 -1
  421. data/lib/spree/testing_support/factories/country_factory.rb +2 -2
  422. data/lib/spree/testing_support/factories/line_item_factory.rb +0 -1
  423. data/lib/spree/testing_support/factories/order_factory.rb +3 -2
  424. data/lib/spree/testing_support/factories/payment_factory.rb +5 -0
  425. data/lib/spree/testing_support/factories/payment_method_factory.rb +8 -0
  426. data/lib/spree/testing_support/factories/promotion_rule_factory.rb +5 -0
  427. data/lib/spree/testing_support/factories/refund_factory.rb +9 -1
  428. data/lib/spree/testing_support/factories/return_authorization_factory.rb +2 -0
  429. data/lib/spree/testing_support/factories/state_factory.rb +2 -2
  430. data/lib/spree/testing_support/factories/store_credit_category_factory.rb +9 -0
  431. data/lib/spree/testing_support/factories/store_credit_event_factory.rb +8 -0
  432. data/lib/spree/testing_support/factories/store_credit_factory.rb +17 -0
  433. data/lib/spree/testing_support/factories/store_credit_type_factory.rb +11 -0
  434. data/lib/spree/testing_support/factories/tag_factory.rb +5 -0
  435. data/lib/spree/testing_support/factories/user_factory.rb +1 -1
  436. data/lib/spree/testing_support/factories/zone_member_factory.rb +6 -0
  437. data/lib/spree/testing_support/factories.rb +3 -3
  438. data/lib/spree/testing_support/kernel.rb +18 -0
  439. data/lib/spree/testing_support/microdata.rb +189 -0
  440. data/lib/spree/testing_support/order_walkthrough.rb +4 -4
  441. data/lib/tasks/core.rake +69 -1
  442. data/lib/tasks/exchanges.rake +2 -2
  443. data/spec/fixtures/microdata.html +22 -0
  444. data/spec/fixtures/microdata_itemref.html +15 -0
  445. data/spec/fixtures/microdata_no_itemscope.html +20 -0
  446. data/spec/helpers/base_helper_spec.rb +74 -11
  447. data/spec/helpers/products_helper_spec.rb +80 -15
  448. data/spec/lib/i18n_spec.rb +13 -13
  449. data/spec/lib/search/base_spec.rb +18 -18
  450. data/spec/lib/spree/core/controller_helpers/auth_spec.rb +6 -4
  451. data/spec/lib/spree/core/controller_helpers/order_spec.rb +15 -0
  452. data/spec/lib/spree/core/controller_helpers/store_spec.rb +56 -0
  453. data/spec/lib/spree/core/importer/order_spec.rb +227 -124
  454. data/spec/lib/spree/core/number_generator_spec.rb +175 -0
  455. data/spec/lib/spree/core_spec.rb +23 -0
  456. data/spec/lib/spree/localized_number_spec.rb +11 -1
  457. data/spec/lib/spree/money_spec.rb +6 -6
  458. data/spec/mailers/order_mailer_spec.rb +11 -13
  459. data/spec/mailers/reimbursement_mailer_spec.rb +2 -2
  460. data/spec/mailers/shipment_mailer_spec.rb +26 -8
  461. data/spec/mailers/test_mailer_spec.rb +16 -2
  462. data/spec/models/option_type_prototype_spec.rb +9 -0
  463. data/spec/models/spree/ability_spec.rb +20 -15
  464. data/spec/models/spree/address_spec.rb +144 -33
  465. data/spec/models/spree/adjustable/adjuster/base_spec.rb +10 -0
  466. data/spec/models/spree/adjustable/adjuster/promotion_spec.rb +211 -0
  467. data/spec/models/spree/adjustable/adjuster/tax_spec.rb +86 -0
  468. data/spec/models/spree/adjustable/adjustments_updater_spec.rb +2 -262
  469. data/spec/models/spree/adjustment_spec.rb +28 -2
  470. data/spec/models/spree/app_configuration_spec.rb +6 -3
  471. data/spec/models/spree/asset_spec.rb +9 -6
  472. data/spec/models/spree/calculator/default_tax_spec.rb +39 -14
  473. data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +1 -1
  474. data/spec/models/spree/calculator/flexi_rate_spec.rb +6 -6
  475. data/spec/models/spree/calculator/percent_on_line_item_spec.rb +1 -1
  476. data/spec/models/spree/calculator/price_sack_spec.rb +2 -2
  477. data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +4 -8
  478. data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +4 -4
  479. data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +2 -2
  480. data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +6 -6
  481. data/spec/models/spree/calculator/shipping/per_item_spec.rb +2 -2
  482. data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +1 -1
  483. data/spec/models/spree/calculator/tiered_percent_spec.rb +1 -1
  484. data/spec/models/spree/calculator_spec.rb +3 -3
  485. data/spec/models/spree/classification_spec.rb +1 -1
  486. data/spec/models/spree/concerns/user_methods_spec.rb +82 -0
  487. data/spec/models/spree/concerns/vat_price_calculation_spec.rb +66 -0
  488. data/spec/models/spree/country_spec.rb +45 -8
  489. data/spec/models/spree/credit_card_spec.rb +13 -9
  490. data/spec/models/spree/customer_return_spec.rb +4 -26
  491. data/spec/models/spree/exchange_spec.rb +1 -1
  492. data/spec/models/spree/gateway/bogus_simple.rb +1 -1
  493. data/spec/models/spree/gateway/bogus_spec.rb +1 -1
  494. data/spec/models/spree/gateway_spec.rb +8 -1
  495. data/spec/models/spree/image_spec.rb +4 -1
  496. data/spec/models/spree/inventory_unit_spec.rb +35 -21
  497. data/spec/models/spree/line_item_spec.rb +100 -21
  498. data/spec/models/spree/option_type_spec.rb +3 -3
  499. data/spec/models/spree/option_value_spec.rb +8 -3
  500. data/spec/models/spree/order/address_spec.rb +1 -1
  501. data/spec/models/spree/order/adjustments_spec.rb +1 -1
  502. data/spec/models/spree/order/callbacks_spec.rb +3 -3
  503. data/spec/models/spree/order/checkout_spec.rb +99 -93
  504. data/spec/models/spree/order/currency_updater_spec.rb +4 -4
  505. data/spec/models/spree/order/finalizing_spec.rb +5 -8
  506. data/spec/models/spree/order/helpers_spec.rb +1 -1
  507. data/spec/models/spree/order/payment_spec.rb +21 -21
  508. data/spec/models/spree/order/risk_assessment_spec.rb +1 -1
  509. data/spec/models/spree/order/state_machine_spec.rb +4 -8
  510. data/spec/models/spree/order/store_credit_spec.rb +426 -0
  511. data/spec/models/spree/order/tax_spec.rb +13 -13
  512. data/spec/models/spree/order/totals_spec.rb +2 -2
  513. data/spec/models/spree/order/updating_spec.rb +4 -4
  514. data/spec/models/spree/order/validations_spec.rb +2 -2
  515. data/spec/models/spree/order_contents_spec.rb +45 -4
  516. data/spec/models/spree/order_inventory_spec.rb +28 -17
  517. data/spec/models/spree/order_merger_spec.rb +3 -1
  518. data/spec/models/spree/order_spec.rb +188 -96
  519. data/spec/models/spree/order_updater_spec.rb +43 -32
  520. data/spec/models/spree/payment/gateway_options_spec.rb +10 -2
  521. data/spec/models/spree/payment/store_credit_spec.rb +60 -0
  522. data/spec/models/spree/payment_method/store_credit_spec.rb +291 -0
  523. data/spec/models/spree/payment_method_spec.rb +22 -14
  524. data/spec/models/spree/payment_spec.rb +75 -82
  525. data/spec/models/spree/preference_spec.rb +1 -1
  526. data/spec/models/spree/preferences/configuration_spec.rb +2 -2
  527. data/spec/models/spree/preferences/preferable_spec.rb +15 -19
  528. data/spec/models/spree/preferences/scoped_store_spec.rb +1 -1
  529. data/spec/models/spree/preferences/store_spec.rb +3 -3
  530. data/spec/models/spree/price_spec.rb +87 -1
  531. data/spec/models/spree/product/scopes_spec.rb +39 -4
  532. data/spec/models/spree/product_duplicator_spec.rb +2 -2
  533. data/spec/models/spree/product_filter_spec.rb +2 -2
  534. data/spec/models/spree/product_option_type_spec.rb +6 -2
  535. data/spec/models/spree/product_promotion_rule_spec.rb +9 -0
  536. data/spec/models/spree/product_property_spec.rb +16 -1
  537. data/spec/models/spree/product_spec.rb +196 -41
  538. data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +63 -0
  539. data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +6 -6
  540. data/spec/models/spree/promotion/actions/free_shipping_spec.rb +1 -1
  541. data/spec/models/spree/promotion/rules/country_spec.rb +36 -0
  542. data/spec/models/spree/promotion/rules/first_order_spec.rb +11 -11
  543. data/spec/models/spree/promotion/rules/item_total_spec.rb +1 -1
  544. data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +1 -1
  545. data/spec/models/spree/promotion/rules/product_spec.rb +8 -8
  546. data/spec/models/spree/promotion/rules/taxon_spec.rb +1 -1
  547. data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +3 -3
  548. data/spec/models/spree/promotion/rules/user_spec.rb +15 -7
  549. data/spec/models/spree/promotion_action_spec.rb +2 -2
  550. data/spec/models/spree/promotion_category_spec.rb +1 -1
  551. data/spec/models/spree/promotion_handler/cart_spec.rb +1 -1
  552. data/spec/models/spree/promotion_handler/coupon_spec.rb +28 -28
  553. data/spec/models/spree/promotion_handler/page_spec.rb +6 -6
  554. data/spec/models/spree/promotion_rule_spec.rb +2 -2
  555. data/spec/models/spree/promotion_rule_taxon_spec.rb +9 -0
  556. data/spec/models/spree/promotion_rule_user_spec.rb +9 -0
  557. data/spec/models/spree/promotion_spec.rb +141 -65
  558. data/spec/models/spree/property_prototype_spec.rb +9 -0
  559. data/spec/models/spree/property_spec.rb +1 -1
  560. data/spec/models/spree/prototype_spec.rb +1 -1
  561. data/spec/models/spree/prototype_taxon_spec.rb +9 -0
  562. data/spec/models/spree/refund_reason_spec.rb +20 -0
  563. data/spec/models/spree/refund_spec.rb +1 -1
  564. data/spec/models/spree/reimbursement/credit_spec.rb +1 -1
  565. data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +1 -1
  566. data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +1 -1
  567. data/spec/models/spree/reimbursement_performer_spec.rb +1 -1
  568. data/spec/models/spree/reimbursement_spec.rb +3 -30
  569. data/spec/models/spree/reimbursement_tax_calculator_spec.rb +18 -6
  570. data/spec/models/spree/reimbursement_type/credit_spec.rb +1 -1
  571. data/spec/models/spree/reimbursement_type/exchange_spec.rb +1 -1
  572. data/spec/models/spree/reimbursement_type/original_payment_spec.rb +1 -1
  573. data/spec/models/spree/reimbursement_type/store_credit_spec.rb +101 -0
  574. data/spec/models/spree/return_authorization_reason_spec.rb +7 -0
  575. data/spec/models/spree/return_authorization_spec.rb +3 -23
  576. data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +1 -1
  577. data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +1 -1
  578. data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +1 -1
  579. data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +1 -1
  580. data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +1 -1
  581. data/spec/models/spree/return_item_spec.rb +51 -2
  582. data/spec/models/spree/returns_calculator_spec.rb +2 -2
  583. data/spec/models/spree/role_spec.rb +7 -0
  584. data/spec/models/spree/shipment_spec.rb +24 -22
  585. data/spec/models/spree/shipping_calculator_spec.rb +5 -5
  586. data/spec/models/spree/shipping_category_spec.rb +15 -1
  587. data/spec/models/spree/shipping_method_spec.rb +11 -4
  588. data/spec/models/spree/shipping_rate_spec.rb +40 -41
  589. data/spec/models/spree/state_spec.rb +13 -2
  590. data/spec/models/spree/stock/availability_validator_spec.rb +1 -1
  591. data/spec/models/spree/stock/content_item_spec.rb +9 -0
  592. data/spec/models/spree/stock/coordinator_spec.rb +13 -3
  593. data/spec/models/spree/stock/differentiator_spec.rb +1 -1
  594. data/spec/models/spree/stock/estimator_spec.rb +60 -12
  595. data/spec/models/spree/stock/inventory_unit_builder_spec.rb +1 -1
  596. data/spec/models/spree/stock/package_spec.rb +6 -18
  597. data/spec/models/spree/stock/packer_spec.rb +1 -1
  598. data/spec/models/spree/stock/prioritizer_spec.rb +7 -7
  599. data/spec/models/spree/stock/quantifier_spec.rb +61 -32
  600. data/spec/models/spree/stock/splitter/backordered_spec.rb +1 -1
  601. data/spec/models/spree/stock/splitter/base_spec.rb +1 -1
  602. data/spec/models/spree/stock/splitter/shipping_category_spec.rb +3 -3
  603. data/spec/models/spree/stock_item_spec.rb +30 -8
  604. data/spec/models/spree/stock_location_spec.rb +5 -5
  605. data/spec/models/spree/stock_movement_spec.rb +101 -37
  606. data/spec/models/spree/stock_transfer_spec.rb +1 -1
  607. data/spec/models/spree/store_credit_event_spec.rb +101 -0
  608. data/spec/models/spree/store_credit_spec.rb +786 -0
  609. data/spec/models/spree/store_spec.rb +40 -12
  610. data/spec/models/spree/tax_category_spec.rb +7 -2
  611. data/spec/models/spree/tax_rate_spec.rb +288 -109
  612. data/spec/models/spree/taxon_spec.rb +15 -4
  613. data/spec/models/spree/taxonomy_spec.rb +2 -2
  614. data/spec/models/spree/tracker_spec.rb +1 -1
  615. data/spec/models/spree/user_spec.rb +114 -41
  616. data/spec/models/spree/variant_spec.rb +310 -15
  617. data/spec/models/spree/zone_member_spec.rb +38 -0
  618. data/spec/models/spree/zone_spec.rb +38 -10
  619. data/spec/spec_helper.rb +5 -0
  620. data/spec/support/concerns/{adjustment_source_spec.rb → adjustment_source.rb} +0 -0
  621. data/spec/support/concerns/{default_price_spec.rb → default_price.rb} +9 -0
  622. data/spree_core.gemspec +12 -13
  623. data/vendor/assets/javascripts/jquery.payment.js +239 -84
  624. metadata +136 -65
  625. data/CHANGELOG.md +0 -4
  626. data/app/models/concerns/spree/number_generator.rb +0 -39
  627. data/spec/models/spree/validations/db_maximum_length_validator_spec.rb +0 -24
@@ -1,4 +1,4 @@
1
- class AddManyMissingIndexes < ActiveRecord::Migration
1
+ class AddManyMissingIndexes < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_index :spree_adjustments, [:adjustable_id, :adjustable_type]
4
4
  add_index :spree_adjustments, :eligible
@@ -1,4 +1,4 @@
1
- class CorrectSomePolymorphicIndexAndAddMoreMissing < ActiveRecord::Migration
1
+ class CorrectSomePolymorphicIndexAndAddMoreMissing < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_index :spree_addresses, :country_id
4
4
  add_index :spree_addresses, :state_id
@@ -1,4 +1,4 @@
1
- class AddUserIdCreatedByIdIndexToOrder < ActiveRecord::Migration
1
+ class AddUserIdCreatedByIdIndexToOrder < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_index :spree_orders, [:user_id, :created_by_id]
4
4
  end
@@ -1,8 +1,8 @@
1
- class ChangeSpreePriceAmountPrecision < ActiveRecord::Migration
1
+ class ChangeSpreePriceAmountPrecision < ActiveRecord::Migration[4.2]
2
2
  def change
3
- change_column :spree_prices, :amount, :decimal, :precision => 10, :scale => 2
4
- change_column :spree_line_items, :price, :decimal, :precision => 10, :scale => 2
5
- change_column :spree_line_items, :cost_price, :decimal, :precision => 10, :scale => 2
6
- change_column :spree_variants, :cost_price, :decimal, :precision => 10, :scale => 2
3
+ change_column :spree_prices, :amount, :decimal, precision: 10, scale: 2
4
+ change_column :spree_line_items, :price, :decimal, precision: 10, scale: 2
5
+ change_column :spree_line_items, :cost_price, :decimal, precision: 10, scale: 2
6
+ change_column :spree_variants, :cost_price, :decimal, precision: 10, scale: 2
7
7
  end
8
8
  end
@@ -1,4 +1,4 @@
1
- class AddTokenToSpreeOrders < ActiveRecord::Migration
1
+ class AddTokenToSpreeOrders < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_orders, :guest_token, :string
4
4
  end
@@ -1,4 +1,4 @@
1
- class MoveOrderTokenFromTokenizedPermission < ActiveRecord::Migration
1
+ class MoveOrderTokenFromTokenizedPermission < ActiveRecord::Migration[4.2]
2
2
  class Spree::TokenizedPermission < Spree::Base
3
3
  belongs_to :permissable, polymorphic: true
4
4
  end
@@ -6,7 +6,7 @@ class MoveOrderTokenFromTokenizedPermission < ActiveRecord::Migration
6
6
  def up
7
7
  case Spree::Order.connection.adapter_name
8
8
  when 'SQLite'
9
- Spree::Order.has_one :tokenized_permission, :as => :permissable
9
+ Spree::Order.has_one :tokenized_permission, as: :permissable
10
10
  Spree::Order.includes(:tokenized_permission).each do |o|
11
11
  o.update_column :guest_token, o.tokenized_permission.token
12
12
  end
@@ -1,4 +1,4 @@
1
- class SetShipmentTotalForUsersUpgrading < ActiveRecord::Migration
1
+ class SetShipmentTotalForUsersUpgrading < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  # NOTE You might not need this at all unless you're upgrading from Spree 2.1.x
4
4
  # or below. For those upgrading this should populate the Order#shipment_total
@@ -1,4 +1,4 @@
1
- class DropCreditCardFirstNameAndLastName < ActiveRecord::Migration
1
+ class DropCreditCardFirstNameAndLastName < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  remove_column :spree_credit_cards, :first_name, :string
4
4
  remove_column :spree_credit_cards, :last_name, :string
@@ -1,4 +1,4 @@
1
- class AddDeletedAtToSpreePromotionActions < ActiveRecord::Migration
1
+ class AddDeletedAtToSpreePromotionActions < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_promotion_actions, :deleted_at, :datetime
4
4
  add_index :spree_promotion_actions, :deleted_at
@@ -1,4 +1,4 @@
1
- class RemoveUncapturedAmountFromSpreePayments < ActiveRecord::Migration
1
+ class RemoveUncapturedAmountFromSpreePayments < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  remove_column :spree_payments, :uncaptured_amount
4
4
  end
@@ -1,4 +1,4 @@
1
- class CreateSpreeRefunds < ActiveRecord::Migration
1
+ class CreateSpreeRefunds < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :spree_refunds do |t|
4
4
  t.integer :payment_id
@@ -1,4 +1,4 @@
1
- class CreateSpreeReturnAuthorizationInventoryUnit < ActiveRecord::Migration
1
+ class CreateSpreeReturnAuthorizationInventoryUnit < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :spree_return_authorization_inventory_units do |t|
4
4
  t.integer :return_authorization_id
@@ -1,4 +1,4 @@
1
- class RenameReturnAuthorizationInventoryUnitToReturnItems < ActiveRecord::Migration
1
+ class RenameReturnAuthorizationInventoryUnitToReturnItems < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  rename_table :spree_return_authorization_inventory_units, :spree_return_items
4
4
  end
@@ -1,4 +1,4 @@
1
- class BackfillLineItemPreTaxAmount < ActiveRecord::Migration
1
+ class BackfillLineItemPreTaxAmount < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  # set pre_tax_amount to discounted_amount - included_tax_total
4
4
  execute(<<-SQL)
@@ -1,4 +1,4 @@
1
- class RecreateSpreeReturnAuthorizations < ActiveRecord::Migration
1
+ class RecreateSpreeReturnAuthorizations < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  # If the app has any legacy return authorizations then rename the table & columns and leave them there
4
4
  # for the spree_legacy_return_authorizations extension to pick up with.
@@ -34,7 +34,7 @@ class RecreateSpreeReturnAuthorizations < ActiveRecord::Migration
34
34
 
35
35
  Spree::Adjustment.where(source_type: 'Spree::LegacyReturnAuthorization').update_all(source_type: 'Spree::ReturnAuthorization')
36
36
 
37
- if table_exists?(:spree_legacy_return_authorizations)
37
+ if data_source_exists?(:spree_legacy_return_authorizations)
38
38
  rename_table :spree_legacy_return_authorizations, :spree_return_authorizations
39
39
  rename_column :spree_inventory_units, :legacy_return_authorization_id, :return_authorization_id
40
40
  else
@@ -1,4 +1,4 @@
1
- class AddAmountFieldsToReturnItems < ActiveRecord::Migration
1
+ class AddAmountFieldsToReturnItems < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_return_items, :pre_tax_amount, :decimal, precision: 10, scale: 2, default: 0.0, null: false
4
4
  add_column :spree_return_items, :included_tax_total, :decimal, precision: 10, scale: 2, default: 0.0, null: false
@@ -1,4 +1,4 @@
1
- class DropReturnAuthorizationAmount < ActiveRecord::Migration
1
+ class DropReturnAuthorizationAmount < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  remove_column :spree_return_authorizations, :amount
4
4
  end
@@ -1,4 +1,4 @@
1
- class CreateSpreeReturnAuthorizationReasons < ActiveRecord::Migration
1
+ class CreateSpreeReturnAuthorizationReasons < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :spree_return_authorization_reasons do |t|
4
4
  t.string :name
@@ -1,4 +1,4 @@
1
- class CreateSpreeRefundReasons < ActiveRecord::Migration
1
+ class CreateSpreeRefundReasons < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :spree_refund_reasons do |t|
4
4
  t.string :name
@@ -1,4 +1,4 @@
1
- class RenameReturnAuthorizationReason < ActiveRecord::Migration
1
+ class RenameReturnAuthorizationReason < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  rename_column :spree_return_authorizations, :reason, :memo
4
4
  end
@@ -1,4 +1,4 @@
1
- class CreateSpreePromotionCategories < ActiveRecord::Migration
1
+ class CreateSpreePromotionCategories < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :spree_promotion_categories do |t|
4
4
  t.string :name
@@ -1,4 +1,4 @@
1
- class DropReceivedAtOnReturnItems < ActiveRecord::Migration
1
+ class DropReceivedAtOnReturnItems < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  remove_column :spree_return_items, :received_at
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddReceptionAndAcceptanceStatusToReturnItems < ActiveRecord::Migration
1
+ class AddReceptionAndAcceptanceStatusToReturnItems < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_return_items, :reception_status, :string
4
4
  add_column :spree_return_items, :acceptance_status, :string
@@ -1,4 +1,4 @@
1
- class CreateDefaultRefundReason < ActiveRecord::Migration
1
+ class CreateDefaultRefundReason < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  Spree::RefundReason.create!(name: Spree::RefundReason::RETURN_PROCESSING_REASON, mutable: false)
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddDefaultToSpreeStockLocations < ActiveRecord::Migration
1
+ class AddDefaultToSpreeStockLocations < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  unless column_exists? :spree_stock_locations, :default
4
4
  add_column :spree_stock_locations, :default, :boolean, null: false, default: false
@@ -1,4 +1,4 @@
1
- class CreateSpreeCustomerReturns < ActiveRecord::Migration
1
+ class CreateSpreeCustomerReturns < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :spree_customer_returns do |t|
4
4
  t.string :number
@@ -1,4 +1,4 @@
1
- class AddCustomerReturnIdToReturnItem < ActiveRecord::Migration
1
+ class AddCustomerReturnIdToReturnItem < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_return_items, :customer_return_id, :integer
4
4
  add_index :spree_return_items, :customer_return_id, name: 'index_return_items_on_customer_return_id'
@@ -1,15 +1,15 @@
1
- class CreateFriendlyIdSlugs < ActiveRecord::Migration
1
+ class CreateFriendlyIdSlugs < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :friendly_id_slugs do |t|
4
- t.string :slug, :null => false
5
- t.integer :sluggable_id, :null => false
6
- t.string :sluggable_type, :limit => 50
4
+ t.string :slug, null: false
5
+ t.integer :sluggable_id, null: false
6
+ t.string :sluggable_type, limit: 50
7
7
  t.string :scope
8
8
  t.datetime :created_at
9
9
  end
10
10
  add_index :friendly_id_slugs, :sluggable_id
11
11
  add_index :friendly_id_slugs, [:slug, :sluggable_type]
12
- add_index :friendly_id_slugs, [:slug, :sluggable_type, :scope], :unique => true
12
+ add_index :friendly_id_slugs, [:slug, :sluggable_type, :scope], unique: true
13
13
  add_index :friendly_id_slugs, :sluggable_type
14
14
  end
15
15
  end
@@ -1,4 +1,4 @@
1
- class RenameSpreeRefundReturnAuthorizationId < ActiveRecord::Migration
1
+ class RenameSpreeRefundReturnAuthorizationId < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  rename_column :spree_refunds, :return_authorization_id, :customer_return_id
4
4
  end
@@ -1,4 +1,4 @@
1
- class IncreaseReturnItemPreTaxAmountPrecision < ActiveRecord::Migration
1
+ class IncreaseReturnItemPreTaxAmountPrecision < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  change_column :spree_return_items, :pre_tax_amount, :decimal, precision: 12, scale: 4, default: 0.0, null: false
4
4
  change_column :spree_return_items, :included_tax_total, :decimal, precision: 12, scale: 4, default: 0.0, null: false
@@ -1,11 +1,11 @@
1
- class CopyProductSlugsToSlugHistory < ActiveRecord::Migration
1
+ class CopyProductSlugsToSlugHistory < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
 
4
4
  # do what sql does best: copy all slugs into history table in a single query
5
5
  # rather than load potentially millions of products into memory
6
6
  Spree::Product.connection.execute <<-SQL
7
7
  INSERT INTO #{FriendlyId::Slug.table_name} (slug, sluggable_id, sluggable_type, created_at)
8
- SELECT slug, id, '#{Spree::Product.to_s}', #{ActiveRecord::Base.send(:sanitize_sql_array, ['?', Time.current])}
8
+ SELECT slug, id, '#{Spree::Product.to_s}', #{ApplicationRecord.send(:sanitize_sql_array, ['?', Time.current])}
9
9
  FROM #{Spree::Product.table_name}
10
10
  WHERE slug IS NOT NULL
11
11
  ORDER BY id
@@ -1,4 +1,4 @@
1
- class CreateSpreeReimbursements < ActiveRecord::Migration
1
+ class CreateSpreeReimbursements < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :spree_reimbursements do |t|
4
4
  t.string :number
@@ -1,4 +1,4 @@
1
- class AddPromotionableToSpreeProducts < ActiveRecord::Migration
1
+ class AddPromotionableToSpreeProducts < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_products, :promotionable, :boolean, default: true
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddExchangeInventoryUnitForeignKeys < ActiveRecord::Migration
1
+ class AddExchangeInventoryUnitForeignKeys < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_return_items, :exchange_inventory_unit_id, :integer
4
4
 
@@ -1,4 +1,4 @@
1
- class AddAcceptanceStatusErrorsToReturnItem < ActiveRecord::Migration
1
+ class AddAcceptanceStatusErrorsToReturnItem < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_return_items, :acceptance_status_errors, :text
4
4
  end
@@ -1,4 +1,4 @@
1
- class CreateSpreeReimbursementTypes < ActiveRecord::Migration
1
+ class CreateSpreeReimbursementTypes < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :spree_reimbursement_types do |t|
4
4
  t.string :name
@@ -1,4 +1,4 @@
1
- class AddDefaultToShipmentCost < ActiveRecord::Migration
1
+ class AddDefaultToShipmentCost < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  change_column :spree_shipments, :cost, :decimal, precision: 10, scale: 2, default: 0.0
4
4
  Spree::Shipment.where(cost: nil).update_all(cost: 0)
@@ -1,4 +1,4 @@
1
- class AddDefaultToSpreeCreditCards < ActiveRecord::Migration
1
+ class AddDefaultToSpreeCreditCards < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_credit_cards, :default, :boolean, null: false, default: false
4
4
  end
@@ -1,4 +1,4 @@
1
- class MakeExistingCreditCardsDefault < ActiveRecord::Migration
1
+ class MakeExistingCreditCardsDefault < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  # set the newest credit card for every user to be the default; SQL technique from
4
4
  # http://stackoverflow.com/questions/121387/fetch-the-row-which-has-the-max-value-for-a-column
@@ -1,4 +1,4 @@
1
- class AddTypeToReimbursementType < ActiveRecord::Migration
1
+ class AddTypeToReimbursementType < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_reimbursement_types, :type, :string
4
4
  add_index :spree_reimbursement_types, :type
@@ -1,4 +1,4 @@
1
- class CreateSpreeReimbursementCredits < ActiveRecord::Migration
1
+ class CreateSpreeReimbursementCredits < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :spree_reimbursement_credits do |t|
4
4
  t.decimal :amount, precision: 10, scale: 2, default: 0.0, null: false
@@ -1,4 +1,4 @@
1
- class AddMetaTitleToSpreeProducts < ActiveRecord::Migration
1
+ class AddMetaTitleToSpreeProducts < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  change_table :spree_products do |t|
4
4
  t.string :meta_title
@@ -1,4 +1,4 @@
1
- class AddKindToZone < ActiveRecord::Migration
1
+ class AddKindToZone < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_zones, :kind, :string
4
4
  add_index :spree_zones, :kind
@@ -1,4 +1,4 @@
1
- class AddCodeToSpreeTaxCategories < ActiveRecord::Migration
1
+ class AddCodeToSpreeTaxCategories < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_tax_categories, :tax_code, :string
4
4
  end
@@ -1,4 +1,4 @@
1
- class DefaultPreTaxAmountShouldBeZero < ActiveRecord::Migration
1
+ class DefaultPreTaxAmountShouldBeZero < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  change_column :spree_line_items, :pre_tax_amount, :decimal, precision: 8, scale: 2, default: 0
4
4
  change_column :spree_shipments, :pre_tax_amount, :decimal, precision: 8, scale: 2, default: 0
@@ -1,4 +1,4 @@
1
- class AddCodeToSpreeShippingMethods < ActiveRecord::Migration
1
+ class AddCodeToSpreeShippingMethods < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_shipping_methods, :code, :string
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddCancelAuditFieldsToSpreeOrders < ActiveRecord::Migration
1
+ class AddCancelAuditFieldsToSpreeOrders < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_orders, :canceled_at, :datetime
4
4
  add_column :spree_orders, :canceler_id, :integer
@@ -1,4 +1,4 @@
1
- class AddStoreIdToOrders < ActiveRecord::Migration
1
+ class AddStoreIdToOrders < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_orders, :store_id, :integer
4
4
  if Spree::Store.default.persisted?
@@ -1,4 +1,4 @@
1
- class CreateSpreeTaxonsPrototypes < ActiveRecord::Migration
1
+ class CreateSpreeTaxonsPrototypes < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :spree_taxons_prototypes do |t|
4
4
  t.belongs_to :taxon, index: true
@@ -1,4 +1,4 @@
1
- class AddStateLockVersionToOrder < ActiveRecord::Migration
1
+ class AddStateLockVersionToOrder < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_orders, :state_lock_version, :integer, default: 0, null: false
4
4
  end
@@ -1,13 +1,8 @@
1
- class AddCounterCacheFromSpreeVariantsToSpreeStockItems < ActiveRecord::Migration
1
+ class AddCounterCacheFromSpreeVariantsToSpreeStockItems < ActiveRecord::Migration[4.2]
2
+ # This was unnecessary and was removed
2
3
  def up
3
- add_column :spree_variants, :stock_items_count, :integer, default: 0, null: false
4
-
5
- Spree::Variant.find_each do |variant|
6
- Spree::Variant.reset_counters(variant.id, :stock_items)
7
- end
8
4
  end
9
5
 
10
6
  def down
11
- remove_column :spree_variants, :stock_items_count
12
7
  end
13
8
  end
@@ -1,4 +1,4 @@
1
- class FixAdjustmentOrderPresence < ActiveRecord::Migration
1
+ class FixAdjustmentOrderPresence < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  say 'Fixing adjustments without direct order reference'
4
4
  Spree::Adjustment.where(order: nil).find_each do |adjustment|
@@ -1,4 +1,4 @@
1
- class UpdateClassificationsPositions < ActiveRecord::Migration
1
+ class UpdateClassificationsPositions < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  Spree::Taxon.all.each do |taxon|
4
4
  taxon.classifications.each_with_index do |c12n, i|
@@ -1,4 +1,4 @@
1
- class AddGuestTokenIndexToSpreeOrders < ActiveRecord::Migration
1
+ class AddGuestTokenIndexToSpreeOrders < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_index :spree_orders, :guest_token
4
4
  end
@@ -1,4 +1,4 @@
1
- class RemoveTokenPermissionsTable < ActiveRecord::Migration
1
+ class RemoveTokenPermissionsTable < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  # The MoveOrderTokenFromTokenizedPermission migration never dropped this.
4
4
  drop_table :spree_tokenized_permissions
@@ -1,4 +1,4 @@
1
- class RemoveExtraProductsSlugIndex < ActiveRecord::Migration
1
+ class RemoveExtraProductsSlugIndex < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  remove_index :spree_products, name: :permalink_idx_unique
4
4
  end
@@ -1,4 +1,4 @@
1
- class UpdateProductSlugIndex < ActiveRecord::Migration
1
+ class UpdateProductSlugIndex < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  remove_index :spree_products, :slug if index_exists?(:spree_products, :slug)
4
4
  add_index :spree_products, :slug, unique: true
@@ -1,4 +1,4 @@
1
- class RenameIdentifierToNumberForPayment < ActiveRecord::Migration
1
+ class RenameIdentifierToNumberForPayment < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  rename_column :spree_payments, :identifier, :number
4
4
  end
@@ -0,0 +1,24 @@
1
+ class CreateSpreeStoreCredits < ActiveRecord::Migration[4.2]
2
+ def change
3
+ create_table :spree_store_credits do |t|
4
+ t.references :user
5
+ t.references :category
6
+ t.references :created_by
7
+ t.decimal :amount, precision: 8, scale: 2, default: 0.0, null: false
8
+ t.decimal :amount_used, precision: 8, scale: 2, default: 0.0, null: false
9
+ t.text :memo
10
+ t.datetime :deleted_at
11
+ t.string :currency
12
+ t.decimal :amount_authorized, precision: 8, scale: 2, default: 0.0, null: false
13
+ t.integer :originator_id
14
+ t.string :originator_type
15
+ t.integer :type_id
16
+ t.timestamps null: false
17
+ end
18
+
19
+ add_index :spree_store_credits, :deleted_at
20
+ add_index :spree_store_credits, :user_id
21
+ add_index :spree_store_credits, :type_id
22
+ add_index :spree_store_credits, [:originator_id, :originator_type], name: :spree_store_credits_originator
23
+ end
24
+ end
@@ -0,0 +1,8 @@
1
+ class CreateSpreeStoreCreditCategories < ActiveRecord::Migration[4.2]
2
+ def change
3
+ create_table :spree_store_credit_categories do |t|
4
+ t.string :name
5
+ t.timestamps null: false
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,17 @@
1
+ class CreateSpreeStoreCreditEvents < ActiveRecord::Migration[4.2]
2
+ def change
3
+ create_table :spree_store_credit_events do |t|
4
+ t.integer :store_credit_id, null: false
5
+ t.string :action, null: false
6
+ t.decimal :amount, precision: 8, scale: 2
7
+ t.string :authorization_code, null: false
8
+ t.decimal :user_total_amount, precision: 8, scale: 2, default: 0.0, null: false
9
+ t.integer :originator_id
10
+ t.string :originator_type
11
+ t.datetime :deleted_at
12
+ t.timestamps null: false
13
+ end
14
+ add_index :spree_store_credit_events, :store_credit_id
15
+ add_index :spree_store_credit_events, [:originator_id, :originator_type], name: :spree_store_credit_events_originator
16
+ end
17
+ end
@@ -0,0 +1,10 @@
1
+ class CreateSpreeStoreCreditTypes < ActiveRecord::Migration[4.2]
2
+ def change
3
+ create_table :spree_store_credit_types do |t|
4
+ t.string :name
5
+ t.integer :priority
6
+ t.timestamps null: false
7
+ end
8
+ add_index :spree_store_credit_types, :priority
9
+ end
10
+ end
@@ -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|