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
data/config/routes.rb CHANGED
@@ -1 +1,8 @@
1
+ Spree::Core::Engine.add_routes do
2
+ get '/forbidden', to: 'home#forbidden', as: :forbidden
3
+ # those routes are needed for mailers
4
+ root to: 'home#index'
5
+ resources :products, only: [:index, :show]
6
+ end
7
+
1
8
  Spree::Core::Engine.draw_routes
@@ -1,6 +1,6 @@
1
1
  require 'carmen'
2
2
 
3
- connection = ActiveRecord::Base.connection
3
+ connection = ApplicationRecord.connection
4
4
  country_inserts = []
5
5
 
6
6
  country_values = -> do
@@ -27,3 +27,7 @@ connection.execute <<-SQL
27
27
  SQL
28
28
 
29
29
  Spree::Config[:default_country_id] = Spree::Country.find_by(iso: "US").id
30
+
31
+ # find countries that do not use postal codes (by iso) and set 'zipcode_required' to false for them.
32
+
33
+ Spree::Country.where(iso: Spree::Address::NO_ZIPCODE_ISO_CODES).update_all(zipcode_required: false)
@@ -1 +1 @@
1
- Spree::RefundReason.find_or_create_by(name: "Return processing", mutable: false)
1
+ Spree::RefundReason.find_or_create_by!(name: "Return processing", mutable: false)
@@ -1,2 +1,2 @@
1
- Spree::Role.where(:name => "admin").first_or_create
2
- Spree::Role.where(:name => "user").first_or_create
1
+ Spree::Role.where(name: "admin").first_or_create
2
+ Spree::Role.where(name: "user").first_or_create
@@ -1,4 +1,4 @@
1
- connection = ActiveRecord::Base.connection
1
+ connection = ApplicationRecord.connection
2
2
  state_inserts = []
3
3
 
4
4
  state_values = -> do
@@ -1,6 +1,7 @@
1
- eu_vat = Spree::Zone.create!(name: "EU_VAT", description: "Countries that make up the EU VAT zone.")
2
- north_america = Spree::Zone.create!(name: "North America", description: "USA + Canada")
3
- %w(PL FI PT RO DE FR SK HU SI IE AT ES IT BE SE LV BG GB LT CY LU MT DK NL EE).
1
+ eu_vat = Spree::Zone.create!(name: "EU_VAT", description: "Countries that make up the EU VAT zone.", kind: 'country')
2
+ north_america = Spree::Zone.create!(name: "North America", description: "USA + Canada", kind: 'country')
3
+
4
+ %w(PL FI PT RO DE FR SK HU SI IE AT ES IT BE SE LV BG GB LT CY LU MT DK NL EE HR CZ GR).
4
5
  each do |name|
5
6
  eu_vat.zone_members.create!(zoneable: Spree::Country.find_by!(iso: name))
6
7
  end
@@ -8,5 +9,3 @@ end
8
9
  %w(US CA).each do |name|
9
10
  north_america.zone_members.create!(zoneable: Spree::Country.find_by!(iso: name))
10
11
  end
11
-
12
-
@@ -1,9 +1,9 @@
1
- class SpreeOneTwo < ActiveRecord::Migration
1
+ class SpreeOneTwo < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  # This migration is just a compressed version of all the previous
4
4
  # migrations for spree_core. Do not run it if one of the core tables
5
5
  # already exists. Assume the best.
6
- return if table_exists?(:spree_addresses)
6
+ return if data_source_exists?(:spree_addresses)
7
7
 
8
8
 
9
9
  create_table :spree_activators do |t|
@@ -14,9 +14,9 @@ class SpreeOneTwo < ActiveRecord::Migration
14
14
  t.string :event_name
15
15
  t.string :type
16
16
  t.integer :usage_limit
17
- t.string :match_policy, :default => 'all'
17
+ t.string :match_policy, default: 'all'
18
18
  t.string :code
19
- t.boolean :advertise, :default => false
19
+ t.boolean :advertise, default: false
20
20
  t.string :path
21
21
  t.timestamps null: false
22
22
  end
@@ -37,52 +37,52 @@ class SpreeOneTwo < ActiveRecord::Migration
37
37
  t.timestamps null: false
38
38
  end
39
39
 
40
- add_index :spree_addresses, [:firstname], :name => 'index_addresses_on_firstname'
41
- add_index :spree_addresses, [:lastname], :name => 'index_addresses_on_lastname'
40
+ add_index :spree_addresses, [:firstname], name: 'index_addresses_on_firstname'
41
+ add_index :spree_addresses, [:lastname], name: 'index_addresses_on_lastname'
42
42
 
43
43
  create_table :spree_adjustments do |t|
44
- t.references :source, :polymorphic => true
45
- t.references :adjustable, :polymorphic => true
46
- t.references :originator, :polymorphic => true
47
- t.decimal :amount, :precision => 8, :scale => 2
44
+ t.references :source, polymorphic: true
45
+ t.references :adjustable, polymorphic: true
46
+ t.references :originator, polymorphic: true
47
+ t.decimal :amount, precision: 8, scale: 2
48
48
  t.string :label
49
49
  t.boolean :mandatory
50
50
  t.boolean :locked
51
- t.boolean :eligible, :default => true
51
+ t.boolean :eligible, default: true
52
52
  t.timestamps null: false
53
53
  end
54
54
 
55
- add_index :spree_adjustments, [:adjustable_id], :name => 'index_adjustments_on_order_id'
55
+ add_index :spree_adjustments, [:adjustable_id], name: 'index_adjustments_on_order_id'
56
56
 
57
57
  create_table :spree_assets do |t|
58
- t.references :viewable, :polymorphic => true
58
+ t.references :viewable, polymorphic: true
59
59
  t.integer :attachment_width
60
60
  t.integer :attachment_height
61
61
  t.integer :attachment_file_size
62
62
  t.integer :position
63
63
  t.string :attachment_content_type
64
64
  t.string :attachment_file_name
65
- t.string :type, :limit => 75
65
+ t.string :type, limit: 75
66
66
  t.datetime :attachment_updated_at
67
67
  t.text :alt
68
68
  end
69
69
 
70
- add_index :spree_assets, [:viewable_id], :name => 'index_assets_on_viewable_id'
71
- add_index :spree_assets, [:viewable_type, :type], :name => 'index_assets_on_viewable_type_and_type'
70
+ add_index :spree_assets, [:viewable_id], name: 'index_assets_on_viewable_id'
71
+ add_index :spree_assets, [:viewable_type, :type], name: 'index_assets_on_viewable_type_and_type'
72
72
 
73
73
  create_table :spree_calculators do |t|
74
74
  t.string :type
75
- t.references :calculable, :polymorphic => true
75
+ t.references :calculable, polymorphic: true
76
76
  t.timestamps null: false
77
77
  end
78
78
 
79
79
  create_table :spree_configurations do |t|
80
80
  t.string :name
81
- t.string :type, :limit => 50
81
+ t.string :type, limit: 50
82
82
  t.timestamps null: false
83
83
  end
84
84
 
85
- add_index :spree_configurations, [:name, :type], :name => 'index_spree_configurations_on_name_and_type'
85
+ add_index :spree_configurations, [:name, :type], name: 'index_spree_configurations_on_name_and_type'
86
86
 
87
87
  create_table :spree_countries do |t|
88
88
  t.string :iso_name
@@ -112,15 +112,15 @@ class SpreeOneTwo < ActiveRecord::Migration
112
112
  t.string :type
113
113
  t.string :name
114
114
  t.text :description
115
- t.boolean :active, :default => true
116
- t.string :environment, :default => 'development'
117
- t.string :server, :default => 'test'
118
- t.boolean :test_mode, :default => true
115
+ t.boolean :active, default: true
116
+ t.string :environment, default: 'development'
117
+ t.string :server, default: 'test'
118
+ t.boolean :test_mode, default: true
119
119
  t.timestamps null: false
120
120
  end
121
121
 
122
122
  create_table :spree_inventory_units do |t|
123
- t.integer :lock_version, :default => 0
123
+ t.integer :lock_version, default: 0
124
124
  t.string :state
125
125
  t.references :variant
126
126
  t.references :order
@@ -129,41 +129,41 @@ class SpreeOneTwo < ActiveRecord::Migration
129
129
  t.timestamps null: false
130
130
  end
131
131
 
132
- add_index :spree_inventory_units, [:order_id], :name => 'index_inventory_units_on_order_id'
133
- add_index :spree_inventory_units, [:shipment_id], :name => 'index_inventory_units_on_shipment_id'
134
- add_index :spree_inventory_units, [:variant_id], :name => 'index_inventory_units_on_variant_id'
132
+ add_index :spree_inventory_units, [:order_id], name: 'index_inventory_units_on_order_id'
133
+ add_index :spree_inventory_units, [:shipment_id], name: 'index_inventory_units_on_shipment_id'
134
+ add_index :spree_inventory_units, [:variant_id], name: 'index_inventory_units_on_variant_id'
135
135
 
136
136
  create_table :spree_line_items do |t|
137
137
  t.references :variant
138
138
  t.references :order
139
- t.integer :quantity, :null => false
140
- t.decimal :price, :precision => 8, :scale => 2, :null => false
139
+ t.integer :quantity, null: false
140
+ t.decimal :price, precision: 8, scale: 2, null: false
141
141
  t.timestamps null: false
142
142
  end
143
143
 
144
- add_index :spree_line_items, [:order_id], :name => 'index_spree_line_items_on_order_id'
145
- add_index :spree_line_items, [:variant_id], :name => 'index_spree_line_items_on_variant_id'
144
+ add_index :spree_line_items, [:order_id], name: 'index_spree_line_items_on_order_id'
145
+ add_index :spree_line_items, [:variant_id], name: 'index_spree_line_items_on_variant_id'
146
146
 
147
147
  create_table :spree_log_entries do |t|
148
- t.references :source, :polymorphic => true
148
+ t.references :source, polymorphic: true
149
149
  t.text :details
150
150
  t.timestamps null: false
151
151
  end
152
152
 
153
153
  create_table :spree_mail_methods do |t|
154
154
  t.string :environment
155
- t.boolean :active, :default => true
155
+ t.boolean :active, default: true
156
156
  t.timestamps null: false
157
157
  end
158
158
 
159
159
  create_table :spree_option_types do |t|
160
- t.string :name, :limit => 100
161
- t.string :presentation, :limit => 100
162
- t.integer :position, :default => 0, :null => false
160
+ t.string :name, limit: 100
161
+ t.string :presentation, limit: 100
162
+ t.integer :position, default: 0, null: false
163
163
  t.timestamps null: false
164
164
  end
165
165
 
166
- create_table :spree_option_types_prototypes, :id => false do |t|
166
+ create_table :spree_option_types_prototypes, id: false do |t|
167
167
  t.references :prototype
168
168
  t.references :option_type
169
169
  end
@@ -176,25 +176,25 @@ class SpreeOneTwo < ActiveRecord::Migration
176
176
  t.timestamps null: false
177
177
  end
178
178
 
179
- create_table :spree_option_values_variants, :id => false do |t|
179
+ create_table :spree_option_values_variants, id: false do |t|
180
180
  t.references :variant
181
181
  t.references :option_value
182
182
  end
183
183
 
184
- add_index :spree_option_values_variants, [:variant_id, :option_value_id], :name => 'index_option_values_variants_on_variant_id_and_option_value_id'
185
- add_index :spree_option_values_variants, [:variant_id], :name => 'index_spree_option_values_variants_on_variant_id'
184
+ add_index :spree_option_values_variants, [:variant_id, :option_value_id], name: 'index_option_values_variants_on_variant_id_and_option_value_id'
185
+ add_index :spree_option_values_variants, [:variant_id], name: 'index_spree_option_values_variants_on_variant_id'
186
186
 
187
187
  create_table :spree_orders do |t|
188
- t.string :number, :limit => 15
189
- t.decimal :item_total, :precision => 8, :scale => 2, :default => 0.0, :null => false
190
- t.decimal :total, :precision => 8, :scale => 2, :default => 0.0, :null => false
188
+ t.string :number, limit: 15
189
+ t.decimal :item_total, precision: 8, scale: 2, default: 0.0, null: false
190
+ t.decimal :total, precision: 8, scale: 2, default: 0.0, null: false
191
191
  t.string :state
192
- t.decimal :adjustment_total, :precision => 8, :scale => 2, :default => 0.0, :null => false
192
+ t.decimal :adjustment_total, precision: 8, scale: 2, default: 0.0, null: false
193
193
  t.references :user
194
194
  t.datetime :completed_at
195
195
  t.references :bill_address
196
196
  t.references :ship_address
197
- t.decimal :payment_total, :precision => 8, :scale => 2, :default => 0.0
197
+ t.decimal :payment_total, precision: 8, scale: 2, default: 0.0
198
198
  t.references :shipping_method
199
199
  t.string :shipment_state
200
200
  t.string :payment_state
@@ -203,23 +203,23 @@ class SpreeOneTwo < ActiveRecord::Migration
203
203
  t.timestamps null: false
204
204
  end
205
205
 
206
- add_index :spree_orders, [:number], :name => 'index_spree_orders_on_number'
206
+ add_index :spree_orders, [:number], name: 'index_spree_orders_on_number'
207
207
 
208
208
  create_table :spree_payment_methods do |t|
209
209
  t.string :type
210
210
  t.string :name
211
211
  t.text :description
212
- t.boolean :active, :default => true
213
- t.string :environment, :default => 'development'
212
+ t.boolean :active, default: true
213
+ t.string :environment, default: 'development'
214
214
  t.datetime :deleted_at
215
215
  t.string :display_on
216
216
  t.timestamps null: false
217
217
  end
218
218
 
219
219
  create_table :spree_payments do |t|
220
- t.decimal :amount, :precision => 8, :scale => 2, :default => 0.0, :null => false
220
+ t.decimal :amount, precision: 8, scale: 2, default: 0.0, null: false
221
221
  t.references :order
222
- t.references :source, :polymorphic => true
222
+ t.references :source, polymorphic: true
223
223
  t.references :payment_method
224
224
  t.string :state
225
225
  t.string :response_code
@@ -228,15 +228,15 @@ class SpreeOneTwo < ActiveRecord::Migration
228
228
  end
229
229
 
230
230
  create_table :spree_preferences do |t|
231
- t.string :name, :limit => 100
232
- t.references :owner, :polymorphic => true
231
+ t.string :name, limit: 100
232
+ t.references :owner, polymorphic: true
233
233
  t.text :value
234
234
  t.string :key
235
235
  t.string :value_type
236
236
  t.timestamps null: false
237
237
  end
238
238
 
239
- add_index :spree_preferences, [:key], :name => 'index_spree_preferences_on_key', :unique => true
239
+ add_index :spree_preferences, [:key], name: 'index_spree_preferences_on_key', unique: true
240
240
 
241
241
  create_table :spree_product_option_types do |t|
242
242
  t.integer :position
@@ -252,10 +252,10 @@ class SpreeOneTwo < ActiveRecord::Migration
252
252
  t.timestamps null: false
253
253
  end
254
254
 
255
- add_index :spree_product_properties, [:product_id], :name => 'index_product_properties_on_product_id'
255
+ add_index :spree_product_properties, [:product_id], name: 'index_product_properties_on_product_id'
256
256
 
257
257
  create_table :spree_products do |t|
258
- t.string :name, :default => '', :null => false
258
+ t.string :name, default: '', null: false
259
259
  t.text :description
260
260
  t.datetime :available_on
261
261
  t.datetime :deleted_at
@@ -264,30 +264,30 @@ class SpreeOneTwo < ActiveRecord::Migration
264
264
  t.string :meta_keywords
265
265
  t.references :tax_category
266
266
  t.references :shipping_category
267
- t.integer :count_on_hand, :default => 0, :null => false
267
+ t.integer :count_on_hand, default: 0, null: false
268
268
  t.timestamps null: false
269
269
  end
270
270
 
271
- add_index :spree_products, [:available_on], :name => 'index_spree_products_on_available_on'
272
- add_index :spree_products, [:deleted_at], :name => 'index_spree_products_on_deleted_at'
273
- add_index :spree_products, [:name], :name => 'index_spree_products_on_name'
274
- add_index :spree_products, [:permalink], :name => 'index_spree_products_on_permalink'
271
+ add_index :spree_products, [:available_on], name: 'index_spree_products_on_available_on'
272
+ add_index :spree_products, [:deleted_at], name: 'index_spree_products_on_deleted_at'
273
+ add_index :spree_products, [:name], name: 'index_spree_products_on_name'
274
+ add_index :spree_products, [:permalink], name: 'index_spree_products_on_permalink'
275
275
 
276
- create_table :spree_products_taxons, :id => false do |t|
276
+ create_table :spree_products_taxons, id: false do |t|
277
277
  t.references :product
278
278
  t.references :taxon
279
279
  end
280
280
 
281
- add_index :spree_products_taxons, [:product_id], :name => 'index_spree_products_taxons_on_product_id'
282
- add_index :spree_products_taxons, [:taxon_id], :name => 'index_spree_products_taxons_on_taxon_id'
281
+ add_index :spree_products_taxons, [:product_id], name: 'index_spree_products_taxons_on_product_id'
282
+ add_index :spree_products_taxons, [:taxon_id], name: 'index_spree_products_taxons_on_taxon_id'
283
283
 
284
284
  create_table :spree_properties do |t|
285
285
  t.string :name
286
- t.string :presentation, :null => false
286
+ t.string :presentation, null: false
287
287
  t.timestamps null: false
288
288
  end
289
289
 
290
- create_table :spree_properties_prototypes, :id => false do |t|
290
+ create_table :spree_properties_prototypes, id: false do |t|
291
291
  t.references :prototype
292
292
  t.references :property
293
293
  end
@@ -300,7 +300,7 @@ class SpreeOneTwo < ActiveRecord::Migration
300
300
  create_table :spree_return_authorizations do |t|
301
301
  t.string :number
302
302
  t.string :state
303
- t.decimal :amount, :precision => 8, :scale => 2, :default => 0.0, :null => false
303
+ t.decimal :amount, precision: 8, scale: 2, default: 0.0, null: false
304
304
  t.references :order
305
305
  t.text :reason
306
306
  t.timestamps null: false
@@ -310,18 +310,18 @@ class SpreeOneTwo < ActiveRecord::Migration
310
310
  t.string :name
311
311
  end
312
312
 
313
- create_table :spree_roles_users, :id => false do |t|
313
+ create_table :spree_roles_users, id: false do |t|
314
314
  t.references :role
315
315
  t.references :user
316
316
  end
317
317
 
318
- add_index :spree_roles_users, [:role_id], :name => 'index_spree_roles_users_on_role_id'
319
- add_index :spree_roles_users, [:user_id], :name => 'index_spree_roles_users_on_user_id'
318
+ add_index :spree_roles_users, [:role_id], name: 'index_spree_roles_users_on_role_id'
319
+ add_index :spree_roles_users, [:user_id], name: 'index_spree_roles_users_on_user_id'
320
320
 
321
321
  create_table :spree_shipments do |t|
322
322
  t.string :tracking
323
323
  t.string :number
324
- t.decimal :cost, :precision => 8, :scale => 2
324
+ t.decimal :cost, precision: 8, scale: 2
325
325
  t.datetime :shipped_at
326
326
  t.references :order
327
327
  t.references :shipping_method
@@ -330,7 +330,7 @@ class SpreeOneTwo < ActiveRecord::Migration
330
330
  t.timestamps null: false
331
331
  end
332
332
 
333
- add_index :spree_shipments, [:number], :name => 'index_shipments_on_number'
333
+ add_index :spree_shipments, [:number], name: 'index_shipments_on_number'
334
334
 
335
335
  create_table :spree_shipping_categories do |t|
336
336
  t.string :name
@@ -368,28 +368,28 @@ class SpreeOneTwo < ActiveRecord::Migration
368
368
  create_table :spree_tax_categories do |t|
369
369
  t.string :name
370
370
  t.string :description
371
- t.boolean :is_default, :default => false
371
+ t.boolean :is_default, default: false
372
372
  t.datetime :deleted_at
373
373
  t.timestamps null: false
374
374
  end
375
375
 
376
376
  create_table :spree_tax_rates do |t|
377
- t.decimal :amount, :precision => 8, :scale => 5
377
+ t.decimal :amount, precision: 8, scale: 5
378
378
  t.references :zone
379
379
  t.references :tax_category
380
- t.boolean :included_in_price, :default => false
380
+ t.boolean :included_in_price, default: false
381
381
  t.timestamps null: false
382
382
  end
383
383
 
384
384
  create_table :spree_taxonomies do |t|
385
- t.string :name, :null => false
385
+ t.string :name, null: false
386
386
  t.timestamps null: false
387
387
  end
388
388
 
389
389
  create_table :spree_taxons do |t|
390
390
  t.references :parent
391
- t.integer :position, :default => 0
392
- t.string :name, :null => false
391
+ t.integer :position, default: 0
392
+ t.string :name, null: false
393
393
  t.string :permalink
394
394
  t.references :taxonomy
395
395
  t.integer :lft
@@ -402,35 +402,35 @@ class SpreeOneTwo < ActiveRecord::Migration
402
402
  t.timestamps null: false
403
403
  end
404
404
 
405
- add_index :spree_taxons, [:parent_id], :name => 'index_taxons_on_parent_id'
406
- add_index :spree_taxons, [:permalink], :name => 'index_taxons_on_permalink'
407
- add_index :spree_taxons, [:taxonomy_id], :name => 'index_taxons_on_taxonomy_id'
405
+ add_index :spree_taxons, [:parent_id], name: 'index_taxons_on_parent_id'
406
+ add_index :spree_taxons, [:permalink], name: 'index_taxons_on_permalink'
407
+ add_index :spree_taxons, [:taxonomy_id], name: 'index_taxons_on_taxonomy_id'
408
408
 
409
- create_table :spree_tokenized_permissions, :force => true do |t|
410
- t.references :permissable, :polymorphic => true
409
+ create_table :spree_tokenized_permissions, force: true do |t|
410
+ t.references :permissable, polymorphic: true
411
411
  t.string :token
412
412
  t.timestamps null: false
413
413
  end
414
414
 
415
- add_index :spree_tokenized_permissions, [:permissable_id, :permissable_type], :name => 'index_tokenized_name_and_type'
415
+ add_index :spree_tokenized_permissions, [:permissable_id, :permissable_type], name: 'index_tokenized_name_and_type'
416
416
 
417
417
  create_table :spree_trackers do |t|
418
418
  t.string :environment
419
419
  t.string :analytics_id
420
- t.boolean :active, :default => true
420
+ t.boolean :active, default: true
421
421
  t.timestamps null: false
422
422
  end
423
423
 
424
424
  create_table :spree_users do |t|
425
- t.string :encrypted_password, :limit => 128
426
- t.string :password_salt, :limit => 128
425
+ t.string :encrypted_password, limit: 128
426
+ t.string :password_salt, limit: 128
427
427
  t.string :email
428
428
  t.string :remember_token
429
429
  t.string :persistence_token
430
430
  t.string :reset_password_token
431
431
  t.string :perishable_token
432
- t.integer :sign_in_count, :default => 0, :null => false
433
- t.integer :failed_attempts, :default => 0, :null => false
432
+ t.integer :sign_in_count, default: 0, null: false
433
+ t.integer :failed_attempts, default: 0, null: false
434
434
  t.datetime :last_request_at
435
435
  t.datetime :current_sign_in_at
436
436
  t.datetime :last_sign_in_at
@@ -448,24 +448,24 @@ class SpreeOneTwo < ActiveRecord::Migration
448
448
  end
449
449
 
450
450
  create_table :spree_variants do |t|
451
- t.string :sku, :default => '', :null => false
452
- t.decimal :price, :precision => 8, :scale => 2, :null => false
453
- t.decimal :weight, :precision => 8, :scale => 2
454
- t.decimal :height, :precision => 8, :scale => 2
455
- t.decimal :width, :precision => 8, :scale => 2
456
- t.decimal :depth, :precision => 8, :scale => 2
451
+ t.string :sku, default: '', null: false
452
+ t.decimal :price, precision: 8, scale: 2, null: false
453
+ t.decimal :weight, precision: 8, scale: 2
454
+ t.decimal :height, precision: 8, scale: 2
455
+ t.decimal :width, precision: 8, scale: 2
456
+ t.decimal :depth, precision: 8, scale: 2
457
457
  t.datetime :deleted_at
458
- t.boolean :is_master, :default => false
458
+ t.boolean :is_master, default: false
459
459
  t.references :product
460
- t.integer :count_on_hand, :default => 0, :null => false
461
- t.decimal :cost_price, :precision => 8, :scale => 2
460
+ t.integer :count_on_hand, default: 0, null: false
461
+ t.decimal :cost_price, precision: 8, scale: 2
462
462
  t.integer :position
463
463
  end
464
464
 
465
- add_index :spree_variants, [:product_id], :name => 'index_spree_variants_on_product_id'
465
+ add_index :spree_variants, [:product_id], name: 'index_spree_variants_on_product_id'
466
466
 
467
467
  create_table :spree_zone_members do |t|
468
- t.references :zoneable, :polymorphic => true
468
+ t.references :zoneable, polymorphic: true
469
469
  t.references :zone
470
470
  t.timestamps null: false
471
471
  end
@@ -473,8 +473,8 @@ class SpreeOneTwo < ActiveRecord::Migration
473
473
  create_table :spree_zones do |t|
474
474
  t.string :name
475
475
  t.string :description
476
- t.boolean :default_tax, :default => false
477
- t.integer :zone_members_count, :default => 0
476
+ t.boolean :default_tax, default: false
477
+ t.integer :zone_members_count, default: 0
478
478
  t.timestamps null: false
479
479
  end
480
480
  end
@@ -1,29 +1,29 @@
1
- class SpreePromoOneTwo < ActiveRecord::Migration
1
+ class SpreePromoOneTwo < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  # This migration is just a compressed migration for all previous versions of spree_promo
4
- return if table_exists?(:spree_products_promotion_rules)
4
+ return if data_source_exists?(:spree_products_promotion_rules)
5
5
 
6
- create_table :spree_products_promotion_rules, :id => false, :force => true do |t|
6
+ create_table :spree_products_promotion_rules, id: false, force: true do |t|
7
7
  t.references :product
8
8
  t.references :promotion_rule
9
9
  end
10
10
 
11
- add_index :spree_products_promotion_rules, [:product_id], :name => 'index_products_promotion_rules_on_product_id'
12
- add_index :spree_products_promotion_rules, [:promotion_rule_id], :name => 'index_products_promotion_rules_on_promotion_rule_id'
11
+ add_index :spree_products_promotion_rules, [:product_id], name: 'index_products_promotion_rules_on_product_id'
12
+ add_index :spree_products_promotion_rules, [:promotion_rule_id], name: 'index_products_promotion_rules_on_promotion_rule_id'
13
13
 
14
- create_table :spree_promotion_action_line_items, :force => true do |t|
14
+ create_table :spree_promotion_action_line_items, force: true do |t|
15
15
  t.references :promotion_action
16
16
  t.references :variant
17
- t.integer :quantity, :default => 1
17
+ t.integer :quantity, default: 1
18
18
  end
19
19
 
20
- create_table :spree_promotion_actions, :force => true do |t|
20
+ create_table :spree_promotion_actions, force: true do |t|
21
21
  t.references :activator
22
22
  t.integer :position
23
23
  t.string :type
24
24
  end
25
25
 
26
- create_table :spree_promotion_rules, :force => true do |t|
26
+ create_table :spree_promotion_rules, force: true do |t|
27
27
  t.references :activator
28
28
  t.references :user
29
29
  t.references :product_group
@@ -31,15 +31,15 @@ class SpreePromoOneTwo < ActiveRecord::Migration
31
31
  t.timestamps null: false
32
32
  end
33
33
 
34
- add_index :spree_promotion_rules, [:product_group_id], :name => 'index_promotion_rules_on_product_group_id'
35
- add_index :spree_promotion_rules, [:user_id], :name => 'index_promotion_rules_on_user_id'
34
+ add_index :spree_promotion_rules, [:product_group_id], name: 'index_promotion_rules_on_product_group_id'
35
+ add_index :spree_promotion_rules, [:user_id], name: 'index_promotion_rules_on_user_id'
36
36
 
37
- create_table :spree_promotion_rules_users, :id => false, :force => true do |t|
37
+ create_table :spree_promotion_rules_users, id: false, force: true do |t|
38
38
  t.references :user
39
39
  t.references :promotion_rule
40
40
  end
41
41
 
42
- add_index :spree_promotion_rules_users, [:promotion_rule_id], :name => 'index_promotion_rules_users_on_promotion_rule_id'
43
- add_index :spree_promotion_rules_users, [:user_id], :name => 'index_promotion_rules_users_on_user_id'
42
+ add_index :spree_promotion_rules_users, [:promotion_rule_id], name: 'index_promotion_rules_users_on_promotion_rule_id'
43
+ add_index :spree_promotion_rules_users, [:user_id], name: 'index_promotion_rules_users_on_user_id'
44
44
  end
45
45
  end
@@ -1,4 +1,4 @@
1
- class AddTaxRateLabel < ActiveRecord::Migration
1
+ class AddTaxRateLabel < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spree_tax_rates, :name, :string
4
4
  end
@@ -1,5 +1,5 @@
1
- class AddToggleTaxRateDisplay < ActiveRecord::Migration
1
+ class AddToggleTaxRateDisplay < ActiveRecord::Migration[4.2]
2
2
  def change
3
- add_column :spree_tax_rates, :show_rate_in_label, :boolean, :default => true
3
+ add_column :spree_tax_rates, :show_rate_in_label, :boolean, default: true
4
4
  end
5
5
  end
@@ -1,8 +1,8 @@
1
- class RemoveUnusedPreferenceColumns < ActiveRecord::Migration
1
+ class RemoveUnusedPreferenceColumns < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  # Columns have already been removed if the application was upgraded from an older version, but must be removed from new apps.
4
- remove_column :spree_preferences, :name if ActiveRecord::Base.connection.column_exists?(:spree_preferences, :name)
5
- remove_column :spree_preferences, :owner_id if ActiveRecord::Base.connection.column_exists?(:spree_preferences, :owner_id)
6
- remove_column :spree_preferences, :owner_type if ActiveRecord::Base.connection.column_exists?(:spree_preferences, :owner_type)
4
+ remove_column :spree_preferences, :name if ApplicationRecord.connection.column_exists?(:spree_preferences, :name)
5
+ remove_column :spree_preferences, :owner_id if ApplicationRecord.connection.column_exists?(:spree_preferences, :owner_id)
6
+ remove_column :spree_preferences, :owner_type if ApplicationRecord.connection.column_exists?(:spree_preferences, :owner_type)
7
7
  end
8
8
  end
@@ -1,5 +1,5 @@
1
- class AddLockVersionToVariant < ActiveRecord::Migration
1
+ class AddLockVersionToVariant < ActiveRecord::Migration[4.2]
2
2
  def change
3
- add_column :spree_variants, :lock_version, :integer, :default => 0
3
+ add_column :spree_variants, :lock_version, :integer, default: 0
4
4
  end
5
5
  end
@@ -1,5 +1,5 @@
1
- class AddStatesRequiredToCountries < ActiveRecord::Migration
1
+ class AddStatesRequiredToCountries < ActiveRecord::Migration[4.2]
2
2
  def change
3
- add_column :spree_countries, :states_required, :boolean,:default => true
3
+ add_column :spree_countries, :states_required, :boolean, default: true
4
4
  end
5
5
  end