solidus_core 1.2.3 → 1.3.0.beta1

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 (573) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Rakefile +1 -1
  4. data/app/assets/javascripts/spree.js.coffee.erb +1 -1
  5. data/app/helpers/spree/base_helper.rb +21 -43
  6. data/app/helpers/spree/orders_helper.rb +0 -1
  7. data/app/helpers/spree/products_helper.rb +10 -12
  8. data/app/helpers/spree/taxons_helper.rb +4 -4
  9. data/app/mailers/spree/base_mailer.rb +1 -3
  10. data/app/mailers/spree/carton_mailer.rb +2 -2
  11. data/app/mailers/spree/order_mailer.rb +2 -2
  12. data/app/models/concerns/spree/adjustment_source.rb +12 -16
  13. data/app/models/concerns/spree/calculated_adjustments.rb +17 -14
  14. data/app/models/concerns/spree/default_price.rb +10 -26
  15. data/app/models/concerns/spree/display_money.rb +1 -1
  16. data/app/models/concerns/spree/ordered_property_value_list.rb +10 -12
  17. data/app/models/concerns/spree/ransackable_attributes.rb +6 -5
  18. data/app/models/concerns/spree/user_address_book.rb +87 -81
  19. data/app/models/concerns/spree/user_methods.rb +2 -2
  20. data/app/models/concerns/spree/user_payment_source.rb +12 -8
  21. data/app/models/spree/ability.rb +2 -2
  22. data/app/models/spree/address.rb +37 -38
  23. data/app/models/spree/adjustment.rb +2 -6
  24. data/app/models/spree/app_configuration.rb +60 -5
  25. data/app/models/spree/base.rb +1 -1
  26. data/app/models/spree/calculator/default_tax.rb +28 -24
  27. data/app/models/spree/calculator/flat_percent_item_total.rb +1 -1
  28. data/app/models/spree/calculator/flat_rate.rb +2 -2
  29. data/app/models/spree/calculator/flexi_rate.rb +4 -4
  30. data/app/models/spree/calculator/percent_per_item.rb +8 -9
  31. data/app/models/spree/calculator/price_sack.rb +3 -3
  32. data/app/models/spree/calculator/returns/default_refund_amount.rb +11 -12
  33. data/app/models/spree/calculator/shipping/flat_percent_item_total.rb +1 -1
  34. data/app/models/spree/calculator/shipping/flat_rate.rb +2 -2
  35. data/app/models/spree/calculator/shipping/flexi_rate.rb +3 -3
  36. data/app/models/spree/calculator/shipping/per_item.rb +1 -1
  37. data/app/models/spree/calculator/shipping/price_sack.rb +3 -3
  38. data/app/models/spree/calculator/tiered_flat_rate.rb +2 -1
  39. data/app/models/spree/calculator/tiered_percent.rb +2 -1
  40. data/app/models/spree/calculator.rb +3 -3
  41. data/app/models/spree/carton.rb +2 -2
  42. data/app/models/spree/country.rb +7 -4
  43. data/app/models/spree/credit_card.rb +26 -22
  44. data/app/models/spree/customer_return.rb +8 -7
  45. data/app/models/spree/exchange.rb +1 -9
  46. data/app/models/spree/gateway/bogus.rb +31 -31
  47. data/app/models/spree/gateway/bogus_simple.rb +6 -8
  48. data/app/models/spree/gateway.rb +9 -15
  49. data/app/models/spree/image.rb +3 -3
  50. data/app/models/spree/inventory_unit.rb +23 -23
  51. data/app/models/spree/item_adjustments.rb +3 -2
  52. data/app/models/spree/legacy_user.rb +1 -5
  53. data/app/models/spree/line_item.rb +95 -84
  54. data/app/models/spree/option_type.rb +1 -1
  55. data/app/models/spree/option_value.rb +3 -1
  56. data/app/models/spree/order/checkout.rb +45 -44
  57. data/app/models/spree/order/payments.rb +42 -45
  58. data/app/models/spree/order.rb +70 -75
  59. data/app/models/spree/order_cancellations.rb +4 -4
  60. data/app/models/spree/order_capturing.rb +3 -2
  61. data/app/models/spree/order_contents.rb +61 -59
  62. data/app/models/spree/order_inventory.rb +59 -54
  63. data/app/models/spree/order_mutex.rb +0 -1
  64. data/app/models/spree/order_shipping.rb +8 -9
  65. data/app/models/spree/order_stock_location.rb +3 -3
  66. data/app/models/spree/order_update_attributes.rb +0 -2
  67. data/app/models/spree/order_updater.rb +11 -24
  68. data/app/models/spree/payment/processing.rb +26 -37
  69. data/app/models/spree/payment.rb +68 -71
  70. data/app/models/spree/payment_method/check.rb +2 -2
  71. data/app/models/spree/payment_method/store_credit.rb +6 -7
  72. data/app/models/spree/payment_method.rb +11 -8
  73. data/app/models/spree/preferences/configuration.rb +2 -2
  74. data/app/models/spree/preferences/preferable.rb +1 -1
  75. data/app/models/spree/preferences/preferable_class_methods.rb +1 -1
  76. data/app/models/spree/preferences/scoped_store.rb +6 -5
  77. data/app/models/spree/preferences/static_model_preferences.rb +1 -1
  78. data/app/models/spree/preferences/statically_configurable.rb +2 -2
  79. data/app/models/spree/preferences/store.rb +2 -6
  80. data/app/models/spree/price.rb +17 -19
  81. data/app/models/spree/product/scopes.rb +18 -17
  82. data/app/models/spree/product.rb +28 -11
  83. data/app/models/spree/product_property.rb +2 -0
  84. data/app/models/spree/product_scope/scopes.rb +22 -22
  85. data/app/models/spree/promotion/actions/create_adjustment.rb +3 -4
  86. data/app/models/spree/promotion/actions/create_item_adjustments.rb +8 -8
  87. data/app/models/spree/promotion/actions/create_quantity_adjustments.rb +3 -3
  88. data/app/models/spree/promotion/actions/free_shipping.rb +4 -4
  89. data/app/models/spree/promotion/rules/first_order.rb +7 -6
  90. data/app/models/spree/promotion/rules/first_repeat_purchase_since.rb +2 -3
  91. data/app/models/spree/promotion/rules/item_total.rb +5 -2
  92. data/app/models/spree/promotion/rules/nth_order.rb +3 -4
  93. data/app/models/spree/promotion/rules/one_use_per_user.rb +1 -2
  94. data/app/models/spree/promotion/rules/option_value.rb +1 -2
  95. data/app/models/spree/promotion/rules/product.rb +4 -4
  96. data/app/models/spree/promotion/rules/taxon.rb +5 -5
  97. data/app/models/spree/promotion/rules/user.rb +1 -1
  98. data/app/models/spree/promotion/rules/user_logged_in.rb +1 -1
  99. data/app/models/spree/promotion.rb +8 -8
  100. data/app/models/spree/promotion_action.rb +1 -1
  101. data/app/models/spree/promotion_builder.rb +2 -2
  102. data/app/models/spree/promotion_chooser.rb +1 -0
  103. data/app/models/spree/promotion_code/code_builder.rb +3 -3
  104. data/app/models/spree/promotion_handler/cart.rb +17 -16
  105. data/app/models/spree/promotion_handler/coupon.rb +10 -14
  106. data/app/models/spree/promotion_handler/page.rb +4 -4
  107. data/app/models/spree/promotion_rule.rb +4 -3
  108. data/app/models/spree/prototype.rb +0 -1
  109. data/app/models/spree/refund.rb +3 -3
  110. data/app/models/spree/reimbursement/reimbursement_type_engine.rb +1 -3
  111. data/app/models/spree/reimbursement.rb +3 -5
  112. data/app/models/spree/reimbursement_performer.rb +0 -5
  113. data/app/models/spree/reimbursement_tax_calculator.rb +2 -7
  114. data/app/models/spree/reimbursement_type/credit.rb +1 -1
  115. data/app/models/spree/reimbursement_type/original_payment.rb +1 -1
  116. data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +3 -3
  117. data/app/models/spree/reimbursement_type/store_credit.rb +1 -1
  118. data/app/models/spree/reimbursement_type.rb +1 -1
  119. data/app/models/spree/return_authorization.rb +38 -37
  120. data/app/models/spree/return_item/eligibility_validator/default.rb +4 -4
  121. data/app/models/spree/return_item/eligibility_validator/no_reimbursements.rb +0 -1
  122. data/app/models/spree/return_item/eligibility_validator/rma_required.rb +0 -1
  123. data/app/models/spree/return_item.rb +24 -23
  124. data/app/models/spree/returns_calculator.rb +1 -2
  125. data/app/models/spree/shipment.rb +80 -74
  126. data/app/models/spree/shipping_calculator.rb +4 -5
  127. data/app/models/spree/shipping_manifest.rb +3 -4
  128. data/app/models/spree/shipping_method.rb +54 -23
  129. data/app/models/spree/shipping_method_stock_location.rb +4 -0
  130. data/app/models/spree/shipping_rate.rb +24 -29
  131. data/app/models/spree/shipping_rate_tax.rb +41 -0
  132. data/app/models/spree/state.rb +1 -1
  133. data/app/models/spree/state_change.rb +1 -1
  134. data/app/models/spree/stock/availability_validator.rb +2 -2
  135. data/app/models/spree/stock/coordinator.rb +12 -13
  136. data/app/models/spree/stock/differentiator.rb +1 -0
  137. data/app/models/spree/stock/estimator.rb +18 -25
  138. data/app/models/spree/stock/inventory_unit_builder.rb +1 -1
  139. data/app/models/spree/stock/package.rb +19 -9
  140. data/app/models/spree/stock/packer.rb +2 -3
  141. data/app/models/spree/stock/prioritizer.rb +3 -2
  142. data/app/models/spree/stock/quantifier.rb +2 -3
  143. data/app/models/spree/stock/shipping_rate_selector.rb +0 -1
  144. data/app/models/spree/stock/shipping_rate_sorter.rb +0 -1
  145. data/app/models/spree/stock/splitter/backordered.rb +0 -2
  146. data/app/models/spree/stock/splitter/base.rb +3 -2
  147. data/app/models/spree/stock/splitter/shipping_category.rb +2 -1
  148. data/app/models/spree/stock/splitter/weight.rb +2 -2
  149. data/app/models/spree/stock_item.rb +36 -37
  150. data/app/models/spree/stock_location.rb +17 -13
  151. data/app/models/spree/stock_movement.rb +1 -3
  152. data/app/models/spree/stock_transfer.rb +8 -8
  153. data/app/models/spree/store.rb +6 -0
  154. data/app/models/spree/store_credit.rb +24 -24
  155. data/app/models/spree/store_credit_category.rb +1 -2
  156. data/app/models/spree/tax/item_adjuster.rb +37 -0
  157. data/app/models/spree/tax/order_adjuster.rb +38 -0
  158. data/app/models/spree/tax/shipping_rate_taxer.rb +31 -0
  159. data/app/models/spree/tax/tax_helpers.rb +49 -0
  160. data/app/models/spree/tax/tax_location.rb +33 -0
  161. data/app/models/spree/tax_category.rb +1 -1
  162. data/app/models/spree/tax_rate.rb +46 -111
  163. data/app/models/spree/taxon.rb +36 -12
  164. data/app/models/spree/taxonomy.rb +10 -10
  165. data/app/models/spree/validations/db_maximum_length_validator.rb +0 -1
  166. data/app/models/spree/variant/pricer.rb +19 -0
  167. data/app/models/spree/variant/pricing_options.rb +31 -0
  168. data/app/models/spree/variant/scopes.rb +9 -9
  169. data/app/models/spree/variant.rb +95 -89
  170. data/app/models/spree/variant_property_rule.rb +1 -1
  171. data/app/models/spree/variant_property_rule_value.rb +2 -0
  172. data/app/models/spree/zone.rb +60 -24
  173. data/config/initializers/friendly_id.rb +1 -1
  174. data/config/locales/en.yml +337 -51
  175. data/config/routes.rb +1 -1
  176. data/db/default/spree/countries.rb +9 -15
  177. data/db/default/spree/roles.rb +1 -2
  178. data/db/default/spree/states.rb +7 -11
  179. data/db/default/spree/store_credit.rb +2 -2
  180. data/db/default/spree/stores.rb +2 -1
  181. data/db/migrate/20120831092320_spree_one_two.rb +100 -101
  182. data/db/migrate/20120831092359_spree_promo_one_two.rb +12 -12
  183. data/db/migrate/20120905151823_add_toggle_tax_rate_display.rb +1 -1
  184. data/db/migrate/20121009142519_add_lock_version_to_variant.rb +1 -1
  185. data/db/migrate/20121010142909_add_states_required_to_countries.rb +1 -1
  186. data/db/migrate/20121012071449_add_on_demand_to_product_and_variant.rb +2 -2
  187. data/db/migrate/20121017010007_remove_not_null_constraint_from_products_on_hand.rb +4 -4
  188. data/db/migrate/20121031162139_split_prices_from_variants.rb +8 -8
  189. data/db/migrate/20121107003422_remove_not_null_from_spree_prices_amount.rb +2 -2
  190. data/db/migrate/20121109173623_add_cost_currency_to_variants.rb +1 -1
  191. data/db/migrate/20121124203911_add_position_to_taxonomies.rb +1 -1
  192. data/db/migrate/20130120201805_add_position_to_product_properties.spree.rb +1 -2
  193. data/db/migrate/20130211190146_create_spree_stock_items.rb +1 -1
  194. data/db/migrate/20130213191427_create_default_stock.rb +12 -21
  195. data/db/migrate/20130226032817_change_meta_description_on_spree_products_to_text.rb +1 -1
  196. data/db/migrate/20130227143905_add_pending_to_inventory_unit.rb +2 -2
  197. data/db/migrate/20130228210442_create_shipping_method_zone.rb +1 -1
  198. data/db/migrate/20130301162924_create_shipping_method_categories.rb +2 -2
  199. data/db/migrate/20130304162240_create_spree_shipping_rates.rb +4 -4
  200. data/db/migrate/20130306181701_add_address_fields_to_stock_location.rb +2 -3
  201. data/db/migrate/20130306191917_add_active_field_to_stock_locations.rb +1 -1
  202. data/db/migrate/20130306195650_add_backorderable_to_stock_item.rb +1 -1
  203. data/db/migrate/20130307161754_add_default_quantity_to_stock_movement.rb +1 -1
  204. data/db/migrate/20130319062004_change_orders_total_precision.rb +4 -4
  205. data/db/migrate/20130319063911_change_spree_payments_amount_precision.rb +1 -3
  206. data/db/migrate/20130319064308_change_spree_return_authorization_amount_precision.rb +2 -4
  207. data/db/migrate/20130319082943_change_adjustments_amount_precision.rb +1 -3
  208. data/db/migrate/20130319190507_drop_source_and_destination_from_stock_movement.rb +2 -2
  209. data/db/migrate/20130325163316_migrate_inventory_unit_sold_to_on_hand.rb +2 -2
  210. data/db/migrate/20130417120035_update_adjustment_states.rb +2 -2
  211. data/db/migrate/20130417123427_add_shipping_rates_to_shipments.rb +3 -3
  212. data/db/migrate/20130628021056_add_unique_index_to_permalink_on_spree_products.rb +1 -1
  213. data/db/migrate/20130628022817_add_unique_index_to_orders_shipments_and_stock_transfers.rb +3 -3
  214. data/db/migrate/20130718042445_add_cost_price_to_line_item.rb +1 -1
  215. data/db/migrate/20130718233855_set_backorderable_to_default_to_false.rb +2 -2
  216. data/db/migrate/20130807024301_upgrade_adjustments.rb +3 -3
  217. data/db/migrate/20130813004002_add_shipment_total_to_spree_orders.rb +1 -1
  218. data/db/migrate/20130813140619_expand_order_number_size.rb +2 -2
  219. data/db/migrate/20130815000406_add_adjustment_total_to_line_items.rb +1 -1
  220. data/db/migrate/20130815024413_add_adjustment_total_to_shipments.rb +1 -1
  221. data/db/migrate/20130826062534_add_depth_to_spree_taxons.rb +1 -1
  222. data/db/migrate/20130830001033_add_shipping_category_to_shipping_methods_and_products.rb +1 -1
  223. data/db/migrate/20130830001159_migrate_old_shipping_calculators.rb +1 -1
  224. data/db/migrate/20131001013410_remove_unused_credit_card_fields.rb +1 -0
  225. data/db/migrate/20131026154747_add_track_inventory_to_variant.rb +1 -1
  226. data/db/migrate/20131118043959_add_included_to_adjustments.rb +1 -1
  227. data/db/migrate/20131118183431_add_line_item_id_to_spree_inventory_units.rb +0 -1
  228. data/db/migrate/20131211112807_create_spree_orders_promotions.rb +1 -1
  229. data/db/migrate/20131218054603_add_item_count_to_spree_orders.rb +1 -1
  230. data/db/migrate/20140106065820_remove_value_type_from_spree_preferences.rb +1 -0
  231. data/db/migrate/20140219060952_add_considered_risky_to_orders.rb +1 -1
  232. data/db/migrate/20140309023735_migrate_old_preferences.rb +4 -3
  233. data/db/migrate/20140309033438_create_store_from_preferences.rb +2 -2
  234. data/db/migrate/20140410141842_add_many_missing_indexes.rb +13 -15
  235. data/db/migrate/20140410150358_correct_some_polymorphic_index_and_add_more_missing.rb +38 -40
  236. data/db/migrate/20140508151342_change_spree_price_amount_precision.rb +4 -4
  237. data/db/migrate/20140530024945_move_order_token_from_tokenized_permission.rb +1 -1
  238. data/db/migrate/20140710041921_recreate_spree_return_authorizations.rb +0 -1
  239. data/db/migrate/20140718195325_create_friendly_id_slugs.rb +4 -4
  240. data/db/migrate/20140723214541_copy_product_slugs_to_slug_history.rb +4 -6
  241. data/db/migrate/20140805171219_make_existing_credit_cards_default.rb +1 -0
  242. data/db/migrate/20141217215630_update_product_slug_index.rb +2 -4
  243. data/db/migrate/20150112194216_add_position_to_stock_location.rb +2 -2
  244. data/db/migrate/20150225205344_move_promotion_code_to_promotion_code_value.rb +0 -1
  245. data/db/migrate/20150313201503_copy_shipped_shipments_to_cartons.rb +0 -1
  246. data/db/migrate/20150506181611_create_spree_store_credit_payment_method.rb +3 -3
  247. data/db/migrate/20150515211137_fix_adjustment_order_id.rb +0 -1
  248. data/db/migrate/20150612205731_remove_spree_configurations.rb +2 -2
  249. data/db/migrate/20150619160613_create_adjustment_reason.rb +1 -1
  250. data/db/migrate/20150723224133_remove_unnecessary_indexes.rb +10 -2
  251. data/db/migrate/20150731201146_add_spree_user_addresses.rb +0 -1
  252. data/db/migrate/20150811211025_add_finalized_to_spree_adjustments.rb +1 -1
  253. data/db/migrate/20151001121454_create_spree_shipping_method_stock_locations.rb +13 -0
  254. data/db/migrate/20151002023248_add_foreign_key_to_shipping_method_stock_location.rb +6 -0
  255. data/db/migrate/20151026093607_change_return_item_pre_tax_amount_to_amount.rb +29 -0
  256. data/db/migrate/20160111091912_add_column_available_to_all_on_spree_shipping_method.rb +5 -0
  257. data/db/migrate/20160116133604_add_position_to_spree_payment_methods.rb +5 -0
  258. data/db/migrate/20160122182105_add_carrier_and_service_level_to_spree_shipping_methods.rb +6 -0
  259. data/db/migrate/20160224201413_create_spree_shipping_rate_taxes.rb +11 -0
  260. data/db/migrate/20160229133259_add_cart_tax_country_iso_to_spree_store.rb +5 -0
  261. data/db/migrate/20160301103333_remove_pre_tax_amount_on_line_item_and_shipment.rb +6 -0
  262. data/db/migrate/20160308000300_disallow_adjustment_finalized_nulls.rb +19 -0
  263. data/db/migrate/20160318145302_add_timestamps_to_prices.rb +5 -0
  264. data/db/migrate/20160330204846_add_missing_timestamp_columns.rb +20 -0
  265. data/lib/generators/spree/custom_user/custom_user_generator.rb +3 -8
  266. data/lib/generators/spree/dummy/dummy_generator.rb +17 -19
  267. data/lib/generators/spree/install/install_generator.rb +15 -15
  268. data/lib/generators/spree/install/templates/config/initializers/spree.rb +1 -0
  269. data/lib/spree/core/controller_helpers/auth.rb +2 -4
  270. data/lib/spree/core/controller_helpers/common.rb +42 -43
  271. data/lib/spree/core/controller_helpers/order.rb +5 -9
  272. data/lib/spree/core/controller_helpers/payment_parameters.rb +4 -5
  273. data/lib/spree/core/controller_helpers/pricing.rb +27 -0
  274. data/lib/spree/core/controller_helpers/respond_with.rb +4 -4
  275. data/lib/spree/core/controller_helpers/search.rb +2 -2
  276. data/lib/spree/core/controller_helpers/store.rb +3 -3
  277. data/lib/spree/core/controller_helpers/strong_parameters.rb +4 -4
  278. data/lib/spree/core/current_store.rb +1 -1
  279. data/lib/spree/core/delegate_belongs_to.rb +19 -21
  280. data/lib/spree/core/engine.rb +12 -8
  281. data/lib/spree/core/environment/calculators.rb +0 -1
  282. data/lib/spree/core/environment_extension.rb +4 -4
  283. data/lib/spree/core/importer/order.rb +17 -22
  284. data/lib/spree/core/importer/product.rb +10 -9
  285. data/lib/spree/core/permalinks.rb +16 -16
  286. data/lib/spree/core/product_duplicator.rb +2 -3
  287. data/lib/spree/core/product_filters.rb +15 -16
  288. data/lib/spree/core/role_configuration.rb +2 -2
  289. data/lib/spree/core/search/base.rb +71 -57
  290. data/lib/spree/core/search/variant.rb +2 -4
  291. data/lib/spree/core/unreturned_item_charger.rb +1 -2
  292. data/lib/spree/core/validators/email.rb +2 -2
  293. data/lib/spree/core/version.rb +1 -1
  294. data/lib/spree/core.rb +2 -4
  295. data/lib/spree/i18n.rb +1 -1
  296. data/lib/spree/localized_number.rb +3 -1
  297. data/lib/spree/migrations.rb +27 -26
  298. data/lib/spree/money.rb +19 -4
  299. data/lib/spree/permission_sets/base.rb +1 -1
  300. data/lib/spree/permitted_attributes.rb +7 -7
  301. data/lib/spree/responder.rb +4 -5
  302. data/lib/spree/testing_support/authorization_helpers.rb +1 -1
  303. data/lib/spree/testing_support/caching.rb +8 -8
  304. data/lib/spree/testing_support/capybara_ext.rb +11 -13
  305. data/lib/spree/testing_support/common_rake.rb +4 -4
  306. data/lib/spree/testing_support/controller_requests.rb +1 -1
  307. data/lib/spree/testing_support/extension_rake.rb +1 -2
  308. data/lib/spree/testing_support/factories/address_factory.rb +14 -3
  309. data/lib/spree/testing_support/factories/adjustment_reason_factory.rb +1 -1
  310. data/lib/spree/testing_support/factories/carton_factory.rb +2 -2
  311. data/lib/spree/testing_support/factories/credit_card_factory.rb +4 -0
  312. data/lib/spree/testing_support/factories/customer_return_factory.rb +4 -6
  313. data/lib/spree/testing_support/factories/line_item_factory.rb +1 -1
  314. data/lib/spree/testing_support/factories/order_factory.rb +10 -11
  315. data/lib/spree/testing_support/factories/payment_factory.rb +5 -0
  316. data/lib/spree/testing_support/factories/promotion_category_factory.rb +0 -1
  317. data/lib/spree/testing_support/factories/promotion_factory.rb +0 -1
  318. data/lib/spree/testing_support/factories/refund_factory.rb +1 -1
  319. data/lib/spree/testing_support/factories/reimbursement_factory.rb +1 -1
  320. data/lib/spree/testing_support/factories/return_item_factory.rb +1 -1
  321. data/lib/spree/testing_support/factories/shipping_method_factory.rb +5 -2
  322. data/lib/spree/testing_support/factories/state_factory.rb +17 -7
  323. data/lib/spree/testing_support/factories/stock_location_factory.rb +4 -4
  324. data/lib/spree/testing_support/factories/stock_transfer_factory.rb +1 -1
  325. data/lib/spree/testing_support/factories/store_credit_category_factory.rb +0 -1
  326. data/lib/spree/testing_support/factories/store_credit_type_factory.rb +0 -2
  327. data/lib/spree/testing_support/factories/tax_category_factory.rb +2 -2
  328. data/lib/spree/testing_support/factories/user_factory.rb +1 -1
  329. data/lib/spree/testing_support/factories/variant_factory.rb +1 -2
  330. data/lib/spree/testing_support/factories/zone_factory.rb +2 -1
  331. data/lib/spree/testing_support/i18n.rb +4 -5
  332. data/lib/spree/testing_support/order_walkthrough.rb +8 -9
  333. data/lib/spree/testing_support/preferences.rb +1 -1
  334. data/lib/spree/testing_support/sequences.rb +5 -4
  335. data/lib/tasks/core.rake +15 -19
  336. data/lib/tasks/email.rake +3 -3
  337. data/lib/tasks/exchanges.rake +12 -14
  338. data/lib/tasks/migrations/assure_store_on_orders.rake +38 -0
  339. data/lib/tasks/migrations/copy_order_bill_address_to_credit_card.rake +2 -2
  340. data/lib/tasks/migrations/copy_shipped_shipments_to_cartons.rake +1 -11
  341. data/lib/tasks/migrations/migrate_shipping_rate_taxes.rake +17 -0
  342. data/lib/tasks/migrations/migrate_user_addresses.rake +1 -1
  343. data/lib/tasks/order_capturing.rake +1 -1
  344. data/lib/tasks/upgrade.rake +11 -0
  345. data/script/rails +0 -1
  346. data/solidus_core.gemspec +6 -8
  347. data/spec/helpers/base_helper_spec.rb +15 -18
  348. data/spec/helpers/order_helper_spec.rb +2 -2
  349. data/spec/helpers/products_helper_spec.rb +43 -51
  350. data/spec/helpers/taxons_helper_spec.rb +1 -1
  351. data/spec/lib/i18n_spec.rb +11 -11
  352. data/spec/lib/search/base_spec.rb +12 -14
  353. data/spec/lib/search/variant_spec.rb +1 -0
  354. data/spec/lib/spree/core/controller_helpers/order_spec.rb +1 -7
  355. data/spec/lib/spree/core/controller_helpers/payment_parameters_spec.rb +26 -28
  356. data/spec/lib/spree/core/controller_helpers/pricing_spec.rb +63 -0
  357. data/spec/lib/spree/core/controller_helpers/search_spec.rb +4 -2
  358. data/spec/lib/spree/core/delegate_belongs_to_spec.rb +1 -1
  359. data/spec/lib/spree/core/importer/order_spec.rb +95 -90
  360. data/spec/lib/spree/core/role_configuration_spec.rb +16 -16
  361. data/spec/lib/spree/core/testing_support/factories/address_factory_spec.rb +35 -0
  362. data/spec/lib/spree/core/testing_support/factories/customer_return_factory_spec.rb +10 -1
  363. data/spec/lib/spree/core/testing_support/factories/order_factory_spec.rb +0 -1
  364. data/spec/lib/spree/core/testing_support/factories/shipping_method_factory_spec.rb +6 -1
  365. data/spec/lib/spree/core/testing_support/factories/state_factory_spec.rb +37 -1
  366. data/spec/lib/spree/core/testing_support/factories/stock_package_factory_spec.rb +2 -2
  367. data/spec/lib/spree/core/testing_support/factories/stock_packer_factory_spec.rb +1 -1
  368. data/spec/lib/spree/core/testing_support/factories/store_credit_event_factory_spec.rb +1 -2
  369. data/spec/lib/spree/core/testing_support/preferences_spec.rb +26 -0
  370. data/spec/lib/spree/core/unreturned_item_charger_spec.rb +7 -9
  371. data/spec/lib/spree/core/validators/email_spec.rb +8 -6
  372. data/spec/lib/spree/localized_number_spec.rb +1 -3
  373. data/spec/lib/spree/migrations_spec.rb +2 -2
  374. data/spec/lib/spree/money_spec.rb +75 -6
  375. data/spec/lib/tasks/exchanges_spec.rb +2 -12
  376. data/spec/lib/tasks/migrations/copy_shipped_shipments_to_cartons_spec.rb +0 -1
  377. data/spec/lib/tasks/order_capturing_spec.rb +1 -1
  378. data/spec/mailers/carton_mailer_spec.rb +3 -3
  379. data/spec/mailers/order_mailer_spec.rb +9 -11
  380. data/spec/mailers/reimbursement_mailer_spec.rb +2 -2
  381. data/spec/mailers/test_mailer_spec.rb +1 -1
  382. data/spec/models/spree/ability_spec.rb +4 -7
  383. data/spec/models/spree/address_spec.rb +32 -35
  384. data/spec/models/spree/adjustment_reason_spec.rb +0 -2
  385. data/spec/models/spree/adjustment_spec.rb +2 -2
  386. data/spec/models/spree/app_configuration_spec.rb +33 -3
  387. data/spec/models/spree/asset_spec.rb +1 -2
  388. data/spec/models/spree/calculator/default_tax_spec.rb +141 -52
  389. data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +1 -1
  390. data/spec/models/spree/calculator/flexi_rate_spec.rb +6 -6
  391. data/spec/models/spree/calculator/percent_on_line_item_spec.rb +1 -1
  392. data/spec/models/spree/calculator/price_sack_spec.rb +2 -2
  393. data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +9 -11
  394. data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +4 -4
  395. data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +2 -2
  396. data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +6 -7
  397. data/spec/models/spree/calculator/shipping/per_item_spec.rb +2 -2
  398. data/spec/models/spree/calculator/shipping/price_sack_spec.rb +2 -2
  399. data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +1 -2
  400. data/spec/models/spree/calculator/tiered_percent_spec.rb +1 -1
  401. data/spec/models/spree/calculator_spec.rb +3 -8
  402. data/spec/models/spree/carton_spec.rb +1 -1
  403. data/spec/models/spree/classification_spec.rb +1 -1
  404. data/spec/models/spree/concerns/display_money_spec.rb +0 -1
  405. data/spec/models/spree/concerns/ordered_property_value_list_spec.rb +26 -1
  406. data/spec/models/spree/concerns/user_address_book_spec.rb +19 -12
  407. data/spec/models/spree/concerns/user_methods_spec.rb +1 -1
  408. data/spec/models/spree/country_spec.rb +52 -0
  409. data/spec/models/spree/credit_card_spec.rb +17 -12
  410. data/spec/models/spree/customer_return_spec.rb +27 -23
  411. data/spec/models/spree/exchange_spec.rb +2 -7
  412. data/spec/models/spree/gateway/bogus_simple.rb +2 -4
  413. data/spec/models/spree/gateway/bogus_spec.rb +4 -2
  414. data/spec/models/spree/gateway_spec.rb +8 -3
  415. data/spec/models/spree/inventory_unit_spec.rb +13 -14
  416. data/spec/models/spree/item_adjustments_spec.rb +36 -40
  417. data/spec/models/spree/line_item_spec.rb +92 -48
  418. data/spec/models/spree/option_type_spec.rb +1 -1
  419. data/spec/models/spree/option_value_spec.rb +1 -1
  420. data/spec/models/spree/order/address_spec.rb +1 -1
  421. data/spec/models/spree/order/callbacks_spec.rb +3 -3
  422. data/spec/models/spree/order/checkout_spec.rb +55 -48
  423. data/spec/models/spree/order/finalizing_spec.rb +8 -9
  424. data/spec/models/spree/order/payment_spec.rb +20 -20
  425. data/spec/models/spree/order/risk_assessment_spec.rb +1 -1
  426. data/spec/models/spree/order/state_machine_spec.rb +40 -131
  427. data/spec/models/spree/order/tax_spec.rb +11 -12
  428. data/spec/models/spree/order/totals_spec.rb +3 -3
  429. data/spec/models/spree/order/updating_spec.rb +2 -2
  430. data/spec/models/spree/order/validations_spec.rb +2 -2
  431. data/spec/models/spree/order_cancellations_spec.rb +1 -1
  432. data/spec/models/spree/order_capturing_spec.rb +1 -1
  433. data/spec/models/spree/order_contents_spec.rb +10 -11
  434. data/spec/models/spree/order_inventory_spec.rb +11 -11
  435. data/spec/models/spree/order_merger_spec.rb +1 -0
  436. data/spec/models/spree/order_shipping_spec.rb +8 -10
  437. data/spec/models/spree/order_spec.rb +137 -124
  438. data/spec/models/spree/order_stock_location_spec.rb +2 -2
  439. data/spec/models/spree/order_update_attributes_spec.rb +6 -10
  440. data/spec/models/spree/order_updater_spec.rb +4 -8
  441. data/spec/models/spree/payment_create_spec.rb +11 -12
  442. data/spec/models/spree/payment_method/store_credit_spec.rb +10 -6
  443. data/spec/models/spree/payment_method_spec.rb +4 -5
  444. data/spec/models/spree/payment_spec.rb +61 -69
  445. data/spec/models/spree/permission_sets/base_spec.rb +1 -1
  446. data/spec/models/spree/permission_sets/configuration_display.rb +0 -1
  447. data/spec/models/spree/permission_sets/configuration_management_spec.rb +0 -1
  448. data/spec/models/spree/permission_sets/dashboard_display_spec.rb +0 -1
  449. data/spec/models/spree/permission_sets/order_display_spec.rb +0 -1
  450. data/spec/models/spree/permission_sets/order_management_spec.rb +0 -1
  451. data/spec/models/spree/permission_sets/product_display_spec.rb +0 -1
  452. data/spec/models/spree/permission_sets/product_management_spec.rb +0 -1
  453. data/spec/models/spree/permission_sets/promotion_display_spec.rb +0 -1
  454. data/spec/models/spree/permission_sets/promotion_management_spec.rb +0 -1
  455. data/spec/models/spree/permission_sets/report_display_spec.rb +0 -1
  456. data/spec/models/spree/permission_sets/restricted_stock_display_spec.rb +0 -1
  457. data/spec/models/spree/permission_sets/restricted_stock_management_spec.rb +0 -1
  458. data/spec/models/spree/permission_sets/restricted_stock_transfer_display_spec.rb +0 -1
  459. data/spec/models/spree/permission_sets/restricted_stock_transfer_management_spec.rb +6 -6
  460. data/spec/models/spree/permission_sets/stock_display_spec.rb +0 -1
  461. data/spec/models/spree/permission_sets/stock_management_spec.rb +0 -1
  462. data/spec/models/spree/permission_sets/stock_transfer_display_spec.rb +0 -1
  463. data/spec/models/spree/permission_sets/stock_transfer_management_spec.rb +0 -2
  464. data/spec/models/spree/permission_sets/user_display_spec.rb +0 -1
  465. data/spec/models/spree/permission_sets/user_management_spec.rb +0 -1
  466. data/spec/models/spree/preference_spec.rb +1 -4
  467. data/spec/models/spree/preferences/configuration_spec.rb +2 -7
  468. data/spec/models/spree/preferences/preferable_spec.rb +13 -24
  469. data/spec/models/spree/preferences/scoped_store_spec.rb +1 -1
  470. data/spec/models/spree/preferences/static_model_preferences_spec.rb +5 -6
  471. data/spec/models/spree/preferences/statically_configurable_spec.rb +2 -6
  472. data/spec/models/spree/preferences/store_spec.rb +2 -3
  473. data/spec/models/spree/price_spec.rb +6 -6
  474. data/spec/models/spree/product/scopes_spec.rb +20 -20
  475. data/spec/models/spree/product_duplicator_spec.rb +16 -29
  476. data/spec/models/spree/product_filter_spec.rb +2 -2
  477. data/spec/models/spree/product_spec.rb +53 -20
  478. data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +10 -12
  479. data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +4 -4
  480. data/spec/models/spree/promotion/actions/create_quantity_adjustments_spec.rb +9 -9
  481. data/spec/models/spree/promotion/actions/free_shipping_spec.rb +1 -1
  482. data/spec/models/spree/promotion/rules/first_order_spec.rb +10 -10
  483. data/spec/models/spree/promotion/rules/item_total_spec.rb +63 -19
  484. data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +1 -1
  485. data/spec/models/spree/promotion/rules/product_spec.rb +8 -8
  486. data/spec/models/spree/promotion/rules/taxon_spec.rb +4 -4
  487. data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +3 -4
  488. data/spec/models/spree/promotion/rules/user_spec.rb +7 -7
  489. data/spec/models/spree/promotion_builder_spec.rb +10 -8
  490. data/spec/models/spree/promotion_category_spec.rb +1 -1
  491. data/spec/models/spree/promotion_code/code_builder_spec.rb +1 -3
  492. data/spec/models/spree/promotion_code_spec.rb +8 -7
  493. data/spec/models/spree/promotion_handler/cart_spec.rb +1 -1
  494. data/spec/models/spree/promotion_handler/coupon_spec.rb +28 -28
  495. data/spec/models/spree/promotion_handler/page_spec.rb +6 -7
  496. data/spec/models/spree/promotion_rule_spec.rb +1 -2
  497. data/spec/models/spree/promotion_spec.rb +25 -21
  498. data/spec/models/spree/refund_spec.rb +8 -11
  499. data/spec/models/spree/reimbursement/credit_spec.rb +2 -2
  500. data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +6 -4
  501. data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +1 -1
  502. data/spec/models/spree/reimbursement_performer_spec.rb +2 -2
  503. data/spec/models/spree/reimbursement_spec.rb +9 -11
  504. data/spec/models/spree/reimbursement_tax_calculator_spec.rb +4 -5
  505. data/spec/models/spree/reimbursement_type/credit_spec.rb +2 -2
  506. data/spec/models/spree/reimbursement_type/exchange_spec.rb +2 -3
  507. data/spec/models/spree/reimbursement_type/original_payment_spec.rb +4 -4
  508. data/spec/models/spree/reimbursement_type/store_credit_spec.rb +1 -1
  509. data/spec/models/spree/return_authorization_spec.rb +18 -21
  510. data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +7 -7
  511. data/spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb +0 -1
  512. data/spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb +0 -1
  513. data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +1 -1
  514. data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +1 -1
  515. data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +1 -2
  516. data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +3 -5
  517. data/spec/models/spree/return_item_spec.rb +29 -31
  518. data/spec/models/spree/returns_calculator_spec.rb +1 -1
  519. data/spec/models/spree/shipment_spec.rb +59 -43
  520. data/spec/models/spree/shipping_calculator_spec.rb +3 -3
  521. data/spec/models/spree/shipping_manifest_spec.rb +8 -7
  522. data/spec/models/spree/shipping_method_spec.rb +149 -24
  523. data/spec/models/spree/shipping_rate_spec.rb +116 -76
  524. data/spec/models/spree/shipping_rate_tax_spec.rb +83 -0
  525. data/spec/models/spree/state_spec.rb +2 -2
  526. data/spec/models/spree/stock/availability_validator_spec.rb +4 -4
  527. data/spec/models/spree/stock/coordinator_spec.rb +33 -49
  528. data/spec/models/spree/stock/differentiator_spec.rb +1 -1
  529. data/spec/models/spree/stock/estimator_spec.rb +83 -54
  530. data/spec/models/spree/stock/inventory_unit_builder_spec.rb +1 -3
  531. data/spec/models/spree/stock/package_spec.rb +27 -10
  532. data/spec/models/spree/stock/packer_spec.rb +4 -4
  533. data/spec/models/spree/stock/prioritizer_spec.rb +1 -1
  534. data/spec/models/spree/stock/quantifier_spec.rb +2 -6
  535. data/spec/models/spree/stock/splitter/backordered_spec.rb +1 -1
  536. data/spec/models/spree/stock/splitter/base_spec.rb +1 -2
  537. data/spec/models/spree/stock/splitter/shipping_category_spec.rb +1 -3
  538. data/spec/models/spree/stock/splitter/weight_spec.rb +3 -3
  539. data/spec/models/spree/stock_item_spec.rb +16 -16
  540. data/spec/models/spree/stock_location_spec.rb +6 -8
  541. data/spec/models/spree/stock_movement_spec.rb +1 -1
  542. data/spec/models/spree/stock_transfer_spec.rb +1 -3
  543. data/spec/models/spree/store_credit_category_spec.rb +1 -1
  544. data/spec/models/spree/store_credit_event_spec.rb +3 -5
  545. data/spec/models/spree/store_credit_spec.rb +24 -23
  546. data/spec/models/spree/store_spec.rb +21 -2
  547. data/spec/models/spree/tax/item_adjuster_spec.rb +74 -0
  548. data/spec/models/spree/tax/order_adjuster_spec.rb +49 -0
  549. data/spec/models/spree/tax/shipping_rate_taxer_spec.rb +50 -0
  550. data/spec/models/spree/tax/tax_location_spec.rb +68 -0
  551. data/spec/models/spree/tax/taxation_integration_spec.rb +787 -0
  552. data/spec/models/spree/tax_category_spec.rb +2 -2
  553. data/spec/models/spree/tax_rate_spec.rb +185 -536
  554. data/spec/models/spree/taxon_spec.rb +69 -5
  555. data/spec/models/spree/taxonomy_spec.rb +2 -3
  556. data/spec/models/spree/tracker_spec.rb +1 -1
  557. data/spec/models/spree/transfer_item_spec.rb +1 -1
  558. data/spec/models/spree/unit_cancel_spec.rb +9 -14
  559. data/spec/models/spree/user_spec.rb +19 -24
  560. data/spec/models/spree/validations/db_maximum_length_validator_spec.rb +1 -1
  561. data/spec/models/spree/variant/pricer_spec.rb +48 -0
  562. data/spec/models/spree/variant/pricing_options_spec.rb +106 -0
  563. data/spec/models/spree/variant/scopes_spec.rb +31 -8
  564. data/spec/models/spree/variant_property_rule_spec.rb +1 -1
  565. data/spec/models/spree/variant_spec.rb +166 -52
  566. data/spec/models/spree/zone_spec.rb +135 -10
  567. data/spec/support/big_decimal.rb +1 -1
  568. data/spec/support/concerns/working_factories.rb +2 -2
  569. data/spec/support/dummy_ability.rb +0 -1
  570. metadata +55 -44
  571. data/lib/generators/spree/dummy/templates/initializers/devise.rb +0 -3
  572. data/lib/spree/migration_helpers.rb +0 -19
  573. data/vendor/assets/stylesheets/skeleton.css +0 -242
@@ -1,19 +1,17 @@
1
1
  class AddManyMissingIndexes < ActiveRecord::Migration
2
- include Spree::MigrationHelpers
3
-
4
2
  def change
5
- safe_add_index :spree_adjustments, [:adjustable_id, :adjustable_type]
6
- safe_add_index :spree_adjustments, :eligible
7
- safe_add_index :spree_adjustments, :order_id
8
- safe_add_index :spree_promotions, :code
9
- safe_add_index :spree_promotions, :expires_at
10
- safe_add_index :spree_states, :country_id
11
- safe_add_index :spree_stock_items, :deleted_at
12
- safe_add_index :spree_option_types, :position
13
- safe_add_index :spree_option_values, :position
14
- safe_add_index :spree_product_option_types, :option_type_id
15
- safe_add_index :spree_product_option_types, :product_id
16
- safe_add_index :spree_products_taxons, :position
17
- safe_add_index :spree_promotions, :starts_at
3
+ add_index :spree_adjustments, [:adjustable_id, :adjustable_type]
4
+ add_index :spree_adjustments, :eligible
5
+ add_index :spree_adjustments, :order_id
6
+ add_index :spree_promotions, :code
7
+ add_index :spree_promotions, :expires_at
8
+ add_index :spree_states, :country_id
9
+ add_index :spree_stock_items, :deleted_at
10
+ add_index :spree_option_types, :position
11
+ add_index :spree_option_values, :position
12
+ add_index :spree_product_option_types, :option_type_id
13
+ add_index :spree_product_option_types, :product_id
14
+ add_index :spree_products_taxons, :position
15
+ add_index :spree_promotions, :starts_at
18
16
  end
19
17
  end
@@ -1,65 +1,63 @@
1
1
  class CorrectSomePolymorphicIndexAndAddMoreMissing < ActiveRecord::Migration
2
- include Spree::MigrationHelpers
3
-
4
2
  def change
5
- safe_add_index :spree_addresses, :country_id
6
- safe_add_index :spree_addresses, :state_id
3
+ add_index :spree_addresses, :country_id
4
+ add_index :spree_addresses, :state_id
7
5
 
8
- safe_remove_index :spree_adjustments, [:source_type, :source_id]
9
- safe_add_index :spree_adjustments, [:source_id, :source_type]
6
+ remove_index :spree_adjustments, [:source_type, :source_id]
7
+ add_index :spree_adjustments, [:source_id, :source_type]
10
8
 
11
- safe_add_index :spree_inventory_units, :return_authorization_id
9
+ add_index :spree_inventory_units, :return_authorization_id
12
10
 
13
- safe_add_index :spree_log_entries, [:source_id, :source_type]
11
+ add_index :spree_log_entries, [:source_id, :source_type]
14
12
 
15
- safe_add_index :spree_orders, :approver_id
16
- safe_add_index :spree_orders, :created_by_id
17
- safe_add_index :spree_orders, :ship_address_id
18
- safe_add_index :spree_orders, :bill_address_id
19
- safe_add_index :spree_orders, :considered_risky
13
+ add_index :spree_orders, :approver_id
14
+ add_index :spree_orders, :created_by_id
15
+ add_index :spree_orders, :ship_address_id
16
+ add_index :spree_orders, :bill_address_id
17
+ add_index :spree_orders, :considered_risky
20
18
 
21
- safe_add_index :spree_orders_promotions, [:order_id, :promotion_id]
19
+ add_index :spree_orders_promotions, [:order_id, :promotion_id]
22
20
 
23
- safe_add_index :spree_payments, [:source_id, :source_type]
21
+ add_index :spree_payments, [:source_id, :source_type]
24
22
 
25
- safe_add_index :spree_product_option_types, :position
23
+ add_index :spree_product_option_types, :position
26
24
 
27
- safe_add_index :spree_product_properties, :position
28
- safe_add_index :spree_product_properties, :property_id
25
+ add_index :spree_product_properties, :position
26
+ add_index :spree_product_properties, :property_id
29
27
 
30
- safe_add_index :spree_promotion_action_line_items, :promotion_action_id
31
- safe_add_index :spree_promotion_action_line_items, :variant_id
28
+ add_index :spree_promotion_action_line_items, :promotion_action_id
29
+ add_index :spree_promotion_action_line_items, :variant_id
32
30
 
33
- safe_add_index :spree_promotion_rules, :promotion_id
31
+ add_index :spree_promotion_rules, :promotion_id
34
32
 
35
- safe_add_index :spree_promotions, :advertise
33
+ add_index :spree_promotions, :advertise
36
34
 
37
- safe_add_index :spree_return_authorizations, :number
38
- safe_add_index :spree_return_authorizations, :order_id
39
- safe_add_index :spree_return_authorizations, :stock_location_id
35
+ add_index :spree_return_authorizations, :number
36
+ add_index :spree_return_authorizations, :order_id
37
+ add_index :spree_return_authorizations, :stock_location_id
40
38
 
41
- safe_add_index :spree_shipments, :address_id
39
+ add_index :spree_shipments, :address_id
42
40
 
43
- safe_add_index :spree_shipping_methods, :tax_category_id
41
+ add_index :spree_shipping_methods, :tax_category_id
44
42
 
45
- safe_add_index :spree_state_changes, [:stateful_id, :stateful_type]
46
- safe_add_index :spree_state_changes, :user_id
43
+ add_index :spree_state_changes, [:stateful_id, :stateful_type]
44
+ add_index :spree_state_changes, :user_id
47
45
 
48
- safe_add_index :spree_stock_locations, :country_id
49
- safe_add_index :spree_stock_locations, :state_id
46
+ add_index :spree_stock_locations, :country_id
47
+ add_index :spree_stock_locations, :state_id
50
48
 
51
- safe_add_index :spree_tax_rates, :deleted_at
52
- safe_add_index :spree_tax_rates, :tax_category_id
53
- safe_add_index :spree_tax_rates, :zone_id
49
+ add_index :spree_tax_rates, :deleted_at
50
+ add_index :spree_tax_rates, :tax_category_id
51
+ add_index :spree_tax_rates, :zone_id
54
52
 
55
- safe_add_index :spree_taxonomies, :position
53
+ add_index :spree_taxonomies, :position
56
54
 
57
- safe_add_index :spree_taxons, :position
55
+ add_index :spree_taxons, :position
58
56
 
59
- safe_add_index :spree_variants, :position
60
- safe_add_index :spree_variants, :track_inventory
57
+ add_index :spree_variants, :position
58
+ add_index :spree_variants, :track_inventory
61
59
 
62
- safe_add_index :spree_zone_members, :zone_id
63
- safe_add_index :spree_zone_members, [:zoneable_id, :zoneable_type]
60
+ add_index :spree_zone_members, :zone_id
61
+ add_index :spree_zone_members, [:zoneable_id, :zoneable_type]
64
62
  end
65
63
  end
@@ -1,8 +1,8 @@
1
1
  class ChangeSpreePriceAmountPrecision < ActiveRecord::Migration
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
@@ -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
@@ -26,7 +26,6 @@ class RecreateSpreeReturnAuthorizations < ActiveRecord::Migration
26
26
  t.datetime "updated_at"
27
27
  t.integer "stock_location_id"
28
28
  end
29
-
30
29
  end
31
30
 
32
31
  def down
@@ -1,15 +1,15 @@
1
1
  class CreateFriendlyIdSlugs < ActiveRecord::Migration
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,15 +1,13 @@
1
1
  class CopyProductSlugsToSlugHistory < ActiveRecord::Migration
2
2
  def change
3
-
4
- # do what sql does best: copy all slugs into history table in a single query
5
- # rather than load potentially millions of products into memory
6
- Spree::Product.connection.execute <<-SQL
3
+ # do what sql does best: copy all slugs into history table in a single query
4
+ # rather than load potentially millions of products into memory
5
+ Spree::Product.connection.execute <<-SQL
7
6
  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])}
7
+ SELECT slug, id, '#{Spree::Product}', #{ActiveRecord::Base.send(:sanitize_sql_array, ['?', Time.current])}
9
8
  FROM #{Spree::Product.table_name}
10
9
  WHERE slug IS NOT NULL
11
10
  ORDER BY id
12
11
  SQL
13
-
14
12
  end
15
13
  end
@@ -4,6 +4,7 @@ class MakeExistingCreditCardsDefault < ActiveRecord::Migration
4
4
  # http://stackoverflow.com/questions/121387/fetch-the-row-which-has-the-max-value-for-a-column
5
5
  Spree::CreditCard.where.not(user_id: nil).joins("LEFT OUTER JOIN spree_credit_cards cc2 ON cc2.user_id = spree_credit_cards.user_id AND spree_credit_cards.created_at < cc2.created_at").where("cc2.user_id IS NULL").update_all(default: true)
6
6
  end
7
+
7
8
  def down
8
9
  # do nothing
9
10
  end
@@ -1,8 +1,6 @@
1
1
  class UpdateProductSlugIndex < ActiveRecord::Migration
2
- include Spree::MigrationHelpers
3
-
4
2
  def change
5
- safe_remove_index :spree_products, :slug
6
- safe_add_index :spree_products, :slug, unique: true
3
+ remove_index :spree_products, :slug
4
+ add_index :spree_products, :slug, unique: true
7
5
  end
8
6
  end
@@ -1,5 +1,5 @@
1
1
  class AddPositionToStockLocation < ActiveRecord::Migration
2
2
  def change
3
- add_column :spree_stock_locations, :position, :integer, :default => 0
3
+ add_column :spree_stock_locations, :position, :integer, default: 0
4
4
  end
5
- end
5
+ end
@@ -1,6 +1,5 @@
1
1
  class MovePromotionCodeToPromotionCodeValue < ActiveRecord::Migration
2
2
  def up
3
-
4
3
  # This is done via SQL for performance reasons. For larger stores it makes
5
4
  # a difference of minutes vs hours for completion time.
6
5
 
@@ -9,5 +9,4 @@ class CopyShippedShipmentsToCartons < ActiveRecord::Migration
9
9
  def down
10
10
  Rake::Task["spree:migrations:copy_shipped_shipments_to_cartons:down"].invoke
11
11
  end
12
-
13
12
  end
@@ -7,15 +7,15 @@ class CreateSpreeStoreCreditPaymentMethod < ActiveRecord::Migration
7
7
  # If migrating from Spree 3.0, the environment column is already gone.
8
8
  # We remove it in a later migration if upgrading from spree <= 2.4 to soldius
9
9
  if column_exists?(:spree_payment_methods, :environment)
10
- attributes = {type: "Spree::PaymentMethod::StoreCredit", environment: Rails.env}
10
+ attributes = { type: "Spree::PaymentMethod::StoreCredit", environment: Rails.env }
11
11
  else
12
- attributes = {type: "Spree::PaymentMethod::StoreCredit"}
12
+ attributes = { type: "Spree::PaymentMethod::StoreCredit" }
13
13
  end
14
14
  PaymentMethod.create_with(
15
15
  name: Spree.t("store_credit.store_credit"),
16
16
  description: Spree.t("store_credit.store_credit"),
17
17
  active: true,
18
- display_on: 'none',
18
+ display_on: 'none'
19
19
  ).find_or_create_by!(attributes)
20
20
  end
21
21
  end
@@ -49,7 +49,6 @@ class FixAdjustmentOrderId < ActiveRecord::Migration
49
49
  on_update: :restrict # handled by models
50
50
  end
51
51
 
52
-
53
52
  if connection.adapter_name.eql?('PostgreSQL')
54
53
  # Negated Logical implication.
55
54
  #
@@ -6,10 +6,10 @@ class RemoveSpreeConfigurations < ActiveRecord::Migration
6
6
  def down
7
7
  create_table :spree_configurations do |t|
8
8
  t.string :name
9
- t.string :type, :limit => 50
9
+ t.string :type, limit: 50
10
10
  t.timestamps null: true
11
11
  end
12
12
 
13
- add_index :spree_configurations, [:name, :type], :name => 'index_spree_configurations_on_name_and_type'
13
+ add_index :spree_configurations, [:name, :type], name: 'index_spree_configurations_on_name_and_type'
14
14
  end
15
15
  end
@@ -3,7 +3,7 @@ class CreateAdjustmentReason < ActiveRecord::Migration
3
3
  create_table :spree_adjustment_reasons do |t|
4
4
  t.string "name"
5
5
  t.string "code"
6
- t.boolean "active", default: true
6
+ t.boolean "active", default: true
7
7
 
8
8
  t.timestamps null: true
9
9
  end
@@ -4,8 +4,6 @@
4
4
  # migration deletes any of the indexes left around in stores using the
5
5
  # out-dated version of that migration
6
6
  class RemoveUnnecessaryIndexes < ActiveRecord::Migration
7
- include Spree::MigrationHelpers
8
-
9
7
  def up
10
8
  safe_remove_index :spree_credit_cards, :address_id
11
9
  safe_remove_index :spree_gateways, :active
@@ -61,4 +59,14 @@ class RemoveUnnecessaryIndexes < ActiveRecord::Migration
61
59
  safe_add_index :spree_variants, :deleted_at
62
60
  safe_add_index :spree_zones, :default_tax
63
61
  end
62
+
63
+ private
64
+
65
+ def safe_remove_index(table, column)
66
+ remove_index(table, column) if index_exists?(table, column)
67
+ end
68
+
69
+ def safe_add_index(table, column)
70
+ add_index(table, column) if column_exists?(table, column)
71
+ end
64
72
  end
@@ -13,4 +13,3 @@ class AddSpreeUserAddresses < ActiveRecord::Migration
13
13
  add_index :spree_user_addresses, [:user_id, :address_id], unique: true
14
14
  end
15
15
  end
16
-
@@ -5,7 +5,7 @@ class AddFinalizedToSpreeAdjustments < ActiveRecord::Migration
5
5
  # adjustments table can become quite large.
6
6
  def change
7
7
  add_column :spree_adjustments, :finalized, :boolean
8
- execute %q(UPDATE spree_adjustments SET finalized=('closed' = state))
8
+ execute "UPDATE spree_adjustments SET finalized=('closed' = state)"
9
9
  remove_column :spree_adjustments, :state, :string
10
10
  end
11
11
  end
@@ -0,0 +1,13 @@
1
+ class CreateSpreeShippingMethodStockLocations < ActiveRecord::Migration
2
+ def change
3
+ create_table :spree_shipping_method_stock_locations do |t|
4
+ t.belongs_to :shipping_method
5
+ t.belongs_to :stock_location
6
+
7
+ t.timestamps null: true
8
+ end
9
+
10
+ add_index :spree_shipping_method_stock_locations, :shipping_method_id, name: "shipping_method_id_spree_sm_sl"
11
+ add_index :spree_shipping_method_stock_locations, :stock_location_id, name: "sstock_location_id_spree_sm_sl"
12
+ end
13
+ end
@@ -0,0 +1,6 @@
1
+ class AddForeignKeyToShippingMethodStockLocation < ActiveRecord::Migration
2
+ def change
3
+ add_foreign_key :spree_shipping_method_stock_locations, :spree_shipping_methods, column: :shipping_method_id
4
+ add_foreign_key :spree_shipping_method_stock_locations, :spree_stock_locations, column: :stock_location_id
5
+ end
6
+ end
@@ -0,0 +1,29 @@
1
+ class ChangeReturnItemPreTaxAmountToAmount < ActiveRecord::Migration
2
+ def up
3
+ execute(<<-SQL)
4
+ UPDATE spree_return_items
5
+ SET included_tax_total = 0
6
+ WHERE included_tax_total IS NULL
7
+ SQL
8
+ execute(<<-SQL)
9
+ UPDATE spree_return_items
10
+ SET pre_tax_amount = pre_tax_amount + included_tax_total
11
+ SQL
12
+
13
+ rename_column :spree_return_items, :pre_tax_amount, :amount
14
+ end
15
+
16
+ def down
17
+ execute(<<-SQL)
18
+ UPDATE spree_return_items
19
+ SET included_tax_total = 0
20
+ WHERE included_tax_total IS NULL
21
+ SQL
22
+ execute(<<-SQL)
23
+ UPDATE spree_return_items
24
+ SET amount = amount - included_tax_total
25
+ SQL
26
+
27
+ rename_column :spree_return_items, :amount, :pre_tax_amount
28
+ end
29
+ end
@@ -0,0 +1,5 @@
1
+ class AddColumnAvailableToAllOnSpreeShippingMethod < ActiveRecord::Migration
2
+ def change
3
+ add_column :spree_shipping_methods, :available_to_all, :boolean, default: true
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddPositionToSpreePaymentMethods < ActiveRecord::Migration
2
+ def change
3
+ add_column :spree_payment_methods, :position, :integer, default: 0
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddCarrierAndServiceLevelToSpreeShippingMethods < ActiveRecord::Migration
2
+ def change
3
+ add_column :spree_shipping_methods, :carrier, :string
4
+ add_column :spree_shipping_methods, :service_level, :string
5
+ end
6
+ end
@@ -0,0 +1,11 @@
1
+ class CreateSpreeShippingRateTaxes < ActiveRecord::Migration
2
+ def change
3
+ create_table :spree_shipping_rate_taxes do |t|
4
+ t.decimal :amount, precision: 8, scale: 2, default: 0.0, null: false
5
+ t.references :tax_rate, index: true
6
+ t.references :shipping_rate, index: true
7
+
8
+ t.timestamps null: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ class AddCartTaxCountryIsoToSpreeStore < ActiveRecord::Migration
2
+ def change
3
+ add_column :spree_stores, :cart_tax_country_iso, :string, null: true, default: nil
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class RemovePreTaxAmountOnLineItemAndShipment < ActiveRecord::Migration
2
+ def change
3
+ remove_column :spree_line_items, :pre_tax_amount, :decimal, precision: 12, scale: 4, default: 0.0, null: false
4
+ remove_column :spree_shipments, :pre_tax_amount, :decimal, precision: 12, scale: 4, default: 0.0, null: false
5
+ end
6
+ end
@@ -0,0 +1,19 @@
1
+ class DisallowAdjustmentFinalizedNulls < ActiveRecord::Migration
2
+ def up
3
+ execute <<-SQL
4
+ update spree_adjustments
5
+ set finalized = #{ActiveRecord::Base.connection.quoted_false}
6
+ where finalized is null
7
+ SQL
8
+
9
+ change_table :spree_adjustments do |t|
10
+ t.change :finalized, :boolean, null: false, default: false
11
+ end
12
+ end
13
+
14
+ def down
15
+ change_table :spree_adjustments do |t|
16
+ t.change :finalized, :boolean, null: true, default: nil
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,5 @@
1
+ class AddTimestampsToPrices < ActiveRecord::Migration
2
+ def change
3
+ change_table(:spree_prices) { |t| t.timestamps null: true }
4
+ end
5
+ end
@@ -0,0 +1,20 @@
1
+ class AddMissingTimestampColumns < ActiveRecord::Migration
2
+ def change
3
+ # Missing updated_at
4
+ add_column :friendly_id_slugs, :updated_at, :datetime, null: true
5
+
6
+ # Missing created_at
7
+ add_column :spree_countries, :created_at, :datetime, null: true
8
+ add_column :spree_states, :created_at, :datetime, null: true
9
+ add_column :spree_variants, :created_at, :datetime, null: true
10
+
11
+ # Missing timestamps
12
+ add_timestamps(:spree_option_values_variants, null: true)
13
+ add_timestamps(:spree_products_taxons, null: true)
14
+ add_timestamps(:spree_promotion_action_line_items, null: true)
15
+ add_timestamps(:spree_promotion_actions, null: true)
16
+ add_timestamps(:spree_reimbursement_credits, null: true)
17
+ add_timestamps(:spree_roles, null: true)
18
+ add_timestamps(:spree_variant_property_rule_values, null: true)
19
+ end
20
+ end
@@ -3,22 +3,19 @@ module Spree
3
3
  include Rails::Generators::ResourceHelpers
4
4
  include Rails::Generators::Migration
5
5
 
6
-
7
6
  desc "Set up a Spree installation with a custom User class"
8
7
 
9
8
  def self.source_paths
10
- paths = self.superclass.source_paths
9
+ paths = superclass.source_paths
11
10
  paths << File.expand_path('../templates', __FILE__)
12
11
  paths.flatten
13
12
  end
14
13
 
15
14
  def check_for_constant
16
- begin
17
15
  klass
18
- rescue NameError
16
+ rescue NameError
19
17
  @shell.say "Couldn't find #{class_name}. Are you sure that this class exists within your application and is loaded?", :red
20
18
  exit(1)
21
- end
22
19
  end
23
20
 
24
21
  def generate
@@ -27,7 +24,7 @@ module Spree
27
24
 
28
25
  file_action = File.exist?('config/initializers/spree.rb') ? :append_file : :create_file
29
26
  send(file_action, 'config/initializers/spree.rb') do
30
- %Q{
27
+ %{
31
28
  Rails.application.config.to_prepare do
32
29
  require_dependency 'spree/authentication_helpers'
33
30
  end\n}
@@ -50,7 +47,5 @@ module Spree
50
47
  def table_name
51
48
  klass.table_name
52
49
  end
53
-
54
50
  end
55
51
  end
56
-
@@ -6,11 +6,11 @@ module Spree
6
6
  class DummyGenerator < Rails::Generators::Base
7
7
  desc "Creates blank Rails application, installs Spree and all sample data"
8
8
 
9
- class_option :lib_name, :default => ''
10
- class_option :database, :default => ''
9
+ class_option :lib_name, default: ''
10
+ class_option :database, default: ''
11
11
 
12
12
  def self.source_paths
13
- paths = self.superclass.source_paths
13
+ paths = superclass.source_paths
14
14
  paths << File.expand_path('../templates', __FILE__)
15
15
  paths.flatten
16
16
  end
@@ -34,21 +34,20 @@ module Spree
34
34
 
35
35
  puts "Generating dummy Rails application..."
36
36
  invoke Rails::Generators::AppGenerator,
37
- [ File.expand_path(dummy_path, destination_root) ], opts
37
+ [File.expand_path(dummy_path, destination_root)], opts
38
38
  end
39
39
 
40
40
  def test_dummy_config
41
41
  @lib_name = options[:lib_name]
42
42
  @database = options[:database]
43
43
 
44
- template "rails/database.yml", "#{dummy_path}/config/database.yml", :force => true
45
- template "rails/boot.rb", "#{dummy_path}/config/boot.rb", :force => true
46
- template "rails/application.rb", "#{dummy_path}/config/application.rb", :force => true
47
- template "rails/routes.rb", "#{dummy_path}/config/routes.rb", :force => true
48
- template "rails/test.rb", "#{dummy_path}/config/environments/test.rb", :force => true
49
- template "rails/script/rails", "#{dummy_path}/spec/dummy/script/rails", :force => true
50
- template "initializers/custom_user.rb", "#{dummy_path}/config/initializers/custom_user.rb", :force => true
51
- template "initializers/devise.rb", "#{dummy_path}/config/initializers/devise.rb", :force => true
44
+ template "rails/database.yml", "#{dummy_path}/config/database.yml", force: true
45
+ template "rails/boot.rb", "#{dummy_path}/config/boot.rb", force: true
46
+ template "rails/application.rb", "#{dummy_path}/config/application.rb", force: true
47
+ template "rails/routes.rb", "#{dummy_path}/config/routes.rb", force: true
48
+ template "rails/test.rb", "#{dummy_path}/config/environments/test.rb", force: true
49
+ template "rails/script/rails", "#{dummy_path}/spec/dummy/script/rails", force: true
50
+ template "initializers/custom_user.rb", "#{dummy_path}/config/initializers/custom_user.rb", force: true
52
51
  end
53
52
 
54
53
  def test_dummy_inject_extension_requirements
@@ -76,22 +75,21 @@ module Spree
76
75
  remove_file "vendor"
77
76
  remove_file "spec"
78
77
  end
79
-
80
78
  end
81
79
 
82
- attr :lib_name
83
- attr :database
80
+ attr_reader :lib_name
81
+ attr_reader :database
84
82
 
85
83
  protected
86
84
 
87
85
  def inject_require_for(requirement)
88
- inject_into_file 'config/application.rb', %Q[
86
+ inject_into_file 'config/application.rb', %[
89
87
  begin
90
88
  require '#{requirement}'
91
89
  rescue LoadError
92
90
  # #{requirement} is not available.
93
91
  end
94
- ], :before => /require '#{@lib_name}'/, :verbose => true
92
+ ], before: /require '#{@lib_name}'/, verbose: true
95
93
  end
96
94
 
97
95
  def dummy_path
@@ -106,7 +104,7 @@ end
106
104
  @application_definition ||= begin
107
105
 
108
106
  dummy_application_path = File.expand_path("#{dummy_path}/config/application.rb", destination_root)
109
- unless options[:pretend] || !File.exists?(dummy_application_path)
107
+ unless options[:pretend] || !File.exist?(dummy_application_path)
110
108
  contents = File.read(dummy_application_path)
111
109
  contents[(contents.index("module #{module_name}"))..-1]
112
110
  end
@@ -126,7 +124,7 @@ end
126
124
  core_gems = ["spree/core", "spree/api", "spree/backend", "spree/frontend"]
127
125
 
128
126
  if core_gems.include?(lib_name)
129
- '../../../../Gemfile'
127
+ '../../../../../Gemfile'
130
128
  else
131
129
  '../../../../Gemfile'
132
130
  end