solidus_core 2.10.3 → 2.11.4

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.

Potentially problematic release.


This version of solidus_core might be problematic. Click here for more details.

Files changed (552) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree.js.erb +31 -2
  3. data/app/controllers/spree/base_controller.rb +1 -0
  4. data/app/mailers/spree/base_mailer.rb +4 -0
  5. data/app/mailers/spree/order_mailer.rb +1 -1
  6. data/app/models/concerns/spree/active_storage_adapter.rb +116 -0
  7. data/app/models/concerns/spree/active_storage_adapter/attachment.rb +69 -0
  8. data/app/models/concerns/spree/active_storage_adapter/normalization.rb +39 -0
  9. data/app/models/concerns/spree/default_price.rb +1 -1
  10. data/app/models/concerns/spree/soft_deletable.rb +18 -0
  11. data/app/models/concerns/spree/user_address_book.rb +86 -32
  12. data/app/models/concerns/spree/user_methods.rb +3 -2
  13. data/app/models/spree/ability.rb +34 -10
  14. data/app/models/spree/address.rb +94 -17
  15. data/app/models/spree/address/name.rb +49 -0
  16. data/app/models/spree/address/state_validator.rb +71 -0
  17. data/app/models/spree/adjustment.rb +1 -1
  18. data/app/models/spree/base.rb +2 -2
  19. data/app/models/spree/calculator.rb +4 -4
  20. data/app/models/spree/calculator/default_tax.rb +1 -1
  21. data/app/models/spree/calculator/free_shipping.rb +1 -0
  22. data/app/models/spree/calculator/percent_per_item.rb +6 -4
  23. data/app/models/spree/calculator/price_sack.rb +2 -1
  24. data/app/models/spree/credit_card.rb +2 -2
  25. data/app/models/spree/customer_return.rb +4 -2
  26. data/app/models/spree/exchange.rb +1 -1
  27. data/app/models/spree/image/active_storage_attachment.rb +21 -0
  28. data/app/models/spree/inventory_unit.rb +1 -1
  29. data/app/models/spree/line_item.rb +13 -4
  30. data/app/models/spree/option_type.rb +1 -1
  31. data/app/models/spree/option_value.rb +2 -2
  32. data/app/models/spree/order.rb +91 -20
  33. data/app/models/spree/order/checkout.rb +1 -0
  34. data/app/models/spree/order/payments.rb +2 -2
  35. data/app/models/spree/order_inventory.rb +16 -4
  36. data/app/models/spree/order_merger.rb +6 -4
  37. data/app/models/spree/order_promotion.rb +1 -1
  38. data/app/models/spree/order_updater.rb +11 -10
  39. data/app/models/spree/payment.rb +3 -3
  40. data/app/models/spree/payment/cancellation.rb +3 -22
  41. data/app/models/spree/payment/processing.rb +54 -30
  42. data/app/models/spree/payment_method.rb +8 -9
  43. data/app/models/spree/payment_source.rb +2 -2
  44. data/app/models/spree/preference.rb +1 -1
  45. data/app/models/spree/price.rb +2 -8
  46. data/app/models/spree/product.rb +19 -14
  47. data/app/models/spree/product/scopes.rb +9 -5
  48. data/app/models/spree/promotion.rb +18 -7
  49. data/app/models/spree/promotion/actions/free_shipping.rb +6 -5
  50. data/app/models/spree/promotion_action.rb +1 -7
  51. data/app/models/spree/promotion_code.rb +6 -1
  52. data/app/models/spree/promotion_code_batch.rb +1 -1
  53. data/app/models/spree/promotion_handler/coupon.rb +2 -2
  54. data/app/models/spree/promotion_rule.rb +1 -1
  55. data/app/models/spree/promotion_rule_role.rb +1 -1
  56. data/app/models/spree/refund.rb +60 -12
  57. data/app/models/spree/reimbursement.rb +27 -0
  58. data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +10 -3
  59. data/app/models/spree/return_authorization.rb +1 -1
  60. data/app/models/spree/return_item.rb +21 -10
  61. data/app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb +1 -1
  62. data/app/models/spree/role.rb +1 -1
  63. data/app/models/spree/shipment.rb +2 -2
  64. data/app/models/spree/shipping_calculator.rb +1 -1
  65. data/app/models/spree/shipping_manifest.rb +2 -2
  66. data/app/models/spree/shipping_method.rb +2 -9
  67. data/app/models/spree/shipping_rate.rb +1 -1
  68. data/app/models/spree/shipping_rate_tax.rb +1 -1
  69. data/app/models/spree/stock/inventory_unit_builder.rb +18 -7
  70. data/app/models/spree/stock/inventory_units_finalizer.rb +3 -5
  71. data/app/models/spree/stock/package.rb +1 -1
  72. data/app/models/spree/stock/simple_coordinator.rb +1 -3
  73. data/app/models/spree/stock_item.rb +2 -8
  74. data/app/models/spree/stock_movement.rb +2 -0
  75. data/app/models/spree/store.rb +1 -1
  76. data/app/models/spree/store_credit.rb +1 -7
  77. data/app/models/spree/store_credit_category.rb +30 -3
  78. data/app/models/spree/store_credit_event.rb +1 -7
  79. data/app/models/spree/store_credit_reason.rb +0 -4
  80. data/app/models/spree/tax/tax_helpers.rb +1 -1
  81. data/app/models/spree/tax_category.rb +2 -8
  82. data/app/models/spree/tax_rate.rb +7 -7
  83. data/app/models/spree/taxon.rb +1 -1
  84. data/app/models/spree/taxon/active_storage_attachment.rb +19 -0
  85. data/app/models/spree/user_address.rb +8 -2
  86. data/app/models/spree/variant.rb +7 -13
  87. data/app/models/spree/variant_property_rule.rb +5 -1
  88. data/app/models/spree/wallet/add_payment_sources_to_wallet.rb +8 -3
  89. data/app/models/spree/zone.rb +1 -1
  90. data/config/locales/en.yml +44 -5
  91. data/db/default/spree/countries.rb +1 -1
  92. data/db/default/spree/states.rb +12 -4
  93. data/db/default/spree/store_credit.rb +2 -2
  94. data/db/migrate/20180416083007_add_apply_to_all_to_variant_property_rule.rb +12 -0
  95. data/db/migrate/20200320144521_add_default_billng_flag_to_user_addresses.rb +6 -0
  96. data/db/migrate/20200530111458_add_bcc_email_to_spree_stores.rb +7 -0
  97. data/db/migrate/20201008213609_add_discontinue_on_to_spree_products.rb +7 -0
  98. data/lib/generators/solidus/install/install_generator.rb +253 -0
  99. data/lib/generators/{spree → solidus}/install/templates/config/initializers/spree.rb.tt +36 -5
  100. data/lib/generators/{spree → solidus}/install/templates/vendor/assets/javascripts/spree/backend/all.js +0 -0
  101. data/lib/generators/{spree → solidus}/install/templates/vendor/assets/javascripts/spree/frontend/all.js +0 -0
  102. data/lib/generators/{spree → solidus}/install/templates/vendor/assets/stylesheets/spree/backend/all.css +0 -0
  103. data/lib/generators/{spree → solidus}/install/templates/vendor/assets/stylesheets/spree/frontend/all.css +0 -0
  104. data/lib/generators/spree/dummy/templates/rails/test.rb +1 -1
  105. data/lib/generators/spree/install/install_generator.rb +7 -189
  106. data/lib/solidus/migrations/promotions_with_code_handlers.rb +1 -1
  107. data/lib/spree/app_configuration.rb +117 -51
  108. data/lib/spree/awesome_nested_set_override.rb +44 -0
  109. data/lib/spree/core.rb +6 -11
  110. data/lib/spree/core/controller_helpers/auth.rb +17 -4
  111. data/lib/spree/core/controller_helpers/current_host.rb +17 -0
  112. data/lib/spree/core/controller_helpers/order.rb +8 -7
  113. data/lib/spree/core/engine.rb +39 -2
  114. data/lib/spree/core/importer/order.rb +24 -10
  115. data/lib/spree/core/permalinks.rb +1 -3
  116. data/lib/spree/core/product_filters.rb +6 -5
  117. data/lib/spree/core/state_machines.rb +20 -1
  118. data/lib/spree/core/state_machines/order.rb +249 -0
  119. data/lib/spree/core/state_machines/return_item/reception_status.rb +2 -2
  120. data/lib/spree/core/version.rb +1 -1
  121. data/lib/spree/encryptor.rb +25 -0
  122. data/lib/spree/event.rb +40 -7
  123. data/lib/spree/event/adapters/active_support_notifications.rb +32 -0
  124. data/lib/spree/event/configuration.rb +11 -6
  125. data/lib/spree/event/subscriber.rb +38 -18
  126. data/lib/spree/event/subscriber_registry.rb +92 -0
  127. data/lib/spree/i18n.rb +1 -1
  128. data/lib/spree/mailer_previews/carton_preview.rb +2 -1
  129. data/lib/spree/paranoia_deprecations.rb +32 -12
  130. data/lib/spree/permission_sets/configuration_display.rb +14 -14
  131. data/lib/spree/permission_sets/default_customer.rb +16 -16
  132. data/lib/spree/permission_sets/order_display.rb +11 -11
  133. data/lib/spree/permission_sets/order_management.rb +1 -1
  134. data/lib/spree/permission_sets/product_display.rb +9 -9
  135. data/lib/spree/permission_sets/promotion_display.rb +5 -5
  136. data/lib/spree/permission_sets/restricted_stock_display.rb +2 -2
  137. data/lib/spree/permission_sets/restricted_stock_management.rb +1 -1
  138. data/lib/spree/permission_sets/stock_display.rb +2 -2
  139. data/lib/spree/permission_sets/stock_management.rb +1 -1
  140. data/lib/spree/permission_sets/user_display.rb +3 -3
  141. data/lib/spree/permission_sets/user_management.rb +4 -3
  142. data/lib/spree/permitted_attributes.rb +9 -8
  143. data/lib/spree/preferences/preferable.rb +4 -3
  144. data/lib/spree/preferences/preferable_class_methods.rb +22 -3
  145. data/lib/spree/testing_support.rb +40 -0
  146. data/lib/spree/testing_support/ability_helpers.rb +9 -9
  147. data/lib/spree/testing_support/authorization_helpers.rb +1 -0
  148. data/lib/spree/testing_support/blacklist_urls.rb +23 -0
  149. data/lib/spree/testing_support/capybara_ext.rb +3 -0
  150. data/lib/spree/testing_support/common_rake.rb +3 -3
  151. data/lib/spree/testing_support/dummy_app.rb +44 -23
  152. data/lib/spree/testing_support/dummy_app/migrations.rb +5 -6
  153. data/lib/spree/testing_support/dummy_app/rake_tasks.rb +1 -3
  154. data/lib/spree/testing_support/factories.rb +2 -4
  155. data/lib/spree/testing_support/factories/address_factory.rb +3 -4
  156. data/lib/spree/testing_support/factories/adjustment_factory.rb +2 -5
  157. data/lib/spree/testing_support/factories/adjustment_reason_factory.rb +3 -0
  158. data/lib/spree/testing_support/factories/calculator_factory.rb +3 -0
  159. data/lib/spree/testing_support/factories/carton_factory.rb +2 -2
  160. data/lib/spree/testing_support/factories/country_factory.rb +3 -0
  161. data/lib/spree/testing_support/factories/credit_card_factory.rb +3 -0
  162. data/lib/spree/testing_support/factories/customer_return_factory.rb +2 -3
  163. data/lib/spree/testing_support/factories/image_factory.rb +4 -1
  164. data/lib/spree/testing_support/factories/inventory_unit_factory.rb +2 -4
  165. data/lib/spree/testing_support/factories/line_item_factory.rb +2 -2
  166. data/lib/spree/testing_support/factories/option_type_factory.rb +3 -0
  167. data/lib/spree/testing_support/factories/option_value_factory.rb +3 -0
  168. data/lib/spree/testing_support/factories/order_factory.rb +2 -6
  169. data/lib/spree/testing_support/factories/order_promotion_factory.rb +2 -2
  170. data/lib/spree/testing_support/factories/payment_factory.rb +2 -4
  171. data/lib/spree/testing_support/factories/payment_method_factory.rb +3 -0
  172. data/lib/spree/testing_support/factories/price_factory.rb +2 -1
  173. data/lib/spree/testing_support/factories/product_factory.rb +2 -5
  174. data/lib/spree/testing_support/factories/product_option_type_factory.rb +2 -2
  175. data/lib/spree/testing_support/factories/product_property_factory.rb +2 -2
  176. data/lib/spree/testing_support/factories/promotion_category_factory.rb +3 -0
  177. data/lib/spree/testing_support/factories/promotion_code_factory.rb +2 -2
  178. data/lib/spree/testing_support/factories/promotion_factory.rb +8 -2
  179. data/lib/spree/testing_support/factories/property_factory.rb +3 -0
  180. data/lib/spree/testing_support/factories/refund_factory.rb +3 -2
  181. data/lib/spree/testing_support/factories/refund_reason_factory.rb +3 -0
  182. data/lib/spree/testing_support/factories/reimbursement_factory.rb +3 -2
  183. data/lib/spree/testing_support/factories/reimbursement_type_factory.rb +3 -0
  184. data/lib/spree/testing_support/factories/return_authorization_factory.rb +2 -3
  185. data/lib/spree/testing_support/factories/return_item_factory.rb +2 -4
  186. data/lib/spree/testing_support/factories/return_reason_factory.rb +3 -0
  187. data/lib/spree/testing_support/factories/role_factory.rb +3 -0
  188. data/lib/spree/testing_support/factories/shipment_factory.rb +2 -3
  189. data/lib/spree/testing_support/factories/shipping_category_factory.rb +3 -0
  190. data/lib/spree/testing_support/factories/shipping_method_factory.rb +2 -3
  191. data/lib/spree/testing_support/factories/shipping_rate_factory.rb +2 -2
  192. data/lib/spree/testing_support/factories/state_factory.rb +2 -1
  193. data/lib/spree/testing_support/factories/stock_item_factory.rb +2 -2
  194. data/lib/spree/testing_support/factories/stock_location_factory.rb +2 -3
  195. data/lib/spree/testing_support/factories/stock_movement_factory.rb +2 -1
  196. data/lib/spree/testing_support/factories/stock_package_factory.rb +2 -2
  197. data/lib/spree/testing_support/factories/store_credit_category_factory.rb +11 -0
  198. data/lib/spree/testing_support/factories/store_credit_event_factory.rb +3 -2
  199. data/lib/spree/testing_support/factories/store_credit_factory.rb +2 -3
  200. data/lib/spree/testing_support/factories/store_credit_reason_factory.rb +6 -1
  201. data/lib/spree/testing_support/factories/store_credit_type_factory.rb +3 -0
  202. data/lib/spree/testing_support/factories/store_factory.rb +4 -1
  203. data/lib/spree/testing_support/factories/tax_category_factory.rb +2 -1
  204. data/lib/spree/testing_support/factories/tax_rate_factory.rb +2 -3
  205. data/lib/spree/testing_support/factories/taxon_factory.rb +6 -1
  206. data/lib/spree/testing_support/factories/taxonomy_factory.rb +3 -0
  207. data/lib/spree/testing_support/factories/user_factory.rb +2 -3
  208. data/lib/spree/testing_support/factories/variant_factory.rb +2 -4
  209. data/lib/spree/testing_support/factories/variant_property_rule_condition_factory.rb +2 -2
  210. data/lib/spree/testing_support/factories/variant_property_rule_factory.rb +2 -3
  211. data/lib/spree/testing_support/factories/variant_property_rule_value_factory.rb +2 -2
  212. data/lib/spree/testing_support/factories/zone_factory.rb +3 -3
  213. data/lib/spree/testing_support/fixtures/blank.jpg +0 -0
  214. data/lib/spree/testing_support/job_helpers.rb +24 -0
  215. data/lib/spree/testing_support/order_walkthrough.rb +1 -1
  216. data/lib/spree/testing_support/precompiled_assets.rb +15 -0
  217. data/lib/spree/testing_support/preferences.rb +3 -1
  218. data/lib/spree/testing_support/shared_examples/gallery.rb +1 -1
  219. data/lib/spree/testing_support/translations.rb +25 -0
  220. data/{app/models → lib}/spree/user_class_handle.rb +0 -0
  221. data/lib/tasks/email.rake +3 -2
  222. data/solidus_core.gemspec +8 -5
  223. metadata +97 -374
  224. data/script/rails +0 -10
  225. data/spec/fixtures/thinking-cat.jpg +0 -0
  226. data/spec/helpers/base_helper_spec.rb +0 -168
  227. data/spec/helpers/products_helper_spec.rb +0 -202
  228. data/spec/helpers/taxons_helper_spec.rb +0 -43
  229. data/spec/jobs/promotion_code_batch_job_spec.rb +0 -96
  230. data/spec/lib/calculated_adjustments_spec.rb +0 -133
  231. data/spec/lib/i18n_spec.rb +0 -97
  232. data/spec/lib/search/base_spec.rb +0 -91
  233. data/spec/lib/search/variant_spec.rb +0 -115
  234. data/spec/lib/spree/app_configuration_spec.rb +0 -140
  235. data/spec/lib/spree/core/class_constantizer_spec.rb +0 -91
  236. data/spec/lib/spree/core/controller_helpers/auth_spec.rb +0 -73
  237. data/spec/lib/spree/core/controller_helpers/order_spec.rb +0 -126
  238. data/spec/lib/spree/core/controller_helpers/payment_parameters_spec.rb +0 -195
  239. data/spec/lib/spree/core/controller_helpers/pricing_spec.rb +0 -94
  240. data/spec/lib/spree/core/controller_helpers/search_spec.rb +0 -21
  241. data/spec/lib/spree/core/controller_helpers/store_spec.rb +0 -18
  242. data/spec/lib/spree/core/controller_helpers/strong_parameters_spec.rb +0 -48
  243. data/spec/lib/spree/core/current_store_spec.rb +0 -33
  244. data/spec/lib/spree/core/environment_extension_spec.rb +0 -46
  245. data/spec/lib/spree/core/importer/order_spec.rb +0 -484
  246. data/spec/lib/spree/core/role_configuration_spec.rb +0 -155
  247. data/spec/lib/spree/core/stock_configuration_spec.rb +0 -95
  248. data/spec/lib/spree/core/testing_support/factories/address_factory_spec.rb +0 -61
  249. data/spec/lib/spree/core/testing_support/factories/adjustment_factory_spec.rb +0 -20
  250. data/spec/lib/spree/core/testing_support/factories/adjustment_reason_factory_spec.rb +0 -14
  251. data/spec/lib/spree/core/testing_support/factories/calculator_factory_spec.rb +0 -44
  252. data/spec/lib/spree/core/testing_support/factories/carton_factory_spec.rb +0 -14
  253. data/spec/lib/spree/core/testing_support/factories/country_factory_spec.rb +0 -14
  254. data/spec/lib/spree/core/testing_support/factories/credit_card_factory_spec.rb +0 -14
  255. data/spec/lib/spree/core/testing_support/factories/customer_return_factory_spec.rb +0 -39
  256. data/spec/lib/spree/core/testing_support/factories/image_factory_spec.rb +0 -14
  257. data/spec/lib/spree/core/testing_support/factories/inventory_unit_factory_spec.rb +0 -14
  258. data/spec/lib/spree/core/testing_support/factories/line_item_factory_spec.rb +0 -14
  259. data/spec/lib/spree/core/testing_support/factories/option_type_factory_spec.rb +0 -14
  260. data/spec/lib/spree/core/testing_support/factories/option_value_factory_spec.rb +0 -14
  261. data/spec/lib/spree/core/testing_support/factories/order_factory_spec.rb +0 -376
  262. data/spec/lib/spree/core/testing_support/factories/order_promotion_factory_spec.rb +0 -14
  263. data/spec/lib/spree/core/testing_support/factories/payment_factory_spec.rb +0 -40
  264. data/spec/lib/spree/core/testing_support/factories/payment_method_factory_spec.rb +0 -32
  265. data/spec/lib/spree/core/testing_support/factories/price_factory_spec.rb +0 -14
  266. data/spec/lib/spree/core/testing_support/factories/product_factory_spec.rb +0 -32
  267. data/spec/lib/spree/core/testing_support/factories/product_option_type_factory_spec.rb +0 -14
  268. data/spec/lib/spree/core/testing_support/factories/product_property_factory_spec.rb +0 -14
  269. data/spec/lib/spree/core/testing_support/factories/promotion_category_factory_spec.rb +0 -14
  270. data/spec/lib/spree/core/testing_support/factories/promotion_code_factory_spec.rb +0 -14
  271. data/spec/lib/spree/core/testing_support/factories/promotion_factory_spec.rb +0 -32
  272. data/spec/lib/spree/core/testing_support/factories/property_factory_spec.rb +0 -14
  273. data/spec/lib/spree/core/testing_support/factories/refund_factory_spec.rb +0 -14
  274. data/spec/lib/spree/core/testing_support/factories/refund_reason_factory_spec.rb +0 -14
  275. data/spec/lib/spree/core/testing_support/factories/reimbursement_factory_spec.rb +0 -20
  276. data/spec/lib/spree/core/testing_support/factories/reimbursement_type_factory_spec.rb +0 -14
  277. data/spec/lib/spree/core/testing_support/factories/return_authorization_factory_spec.rb +0 -14
  278. data/spec/lib/spree/core/testing_support/factories/return_item_factory_spec.rb +0 -20
  279. data/spec/lib/spree/core/testing_support/factories/return_reason_factory_spec.rb +0 -14
  280. data/spec/lib/spree/core/testing_support/factories/role_factory_spec.rb +0 -20
  281. data/spec/lib/spree/core/testing_support/factories/shipment_factory_spec.rb +0 -14
  282. data/spec/lib/spree/core/testing_support/factories/shipping_category_factory_spec.rb +0 -14
  283. data/spec/lib/spree/core/testing_support/factories/shipping_method_factory_spec.rb +0 -44
  284. data/spec/lib/spree/core/testing_support/factories/shipping_rate_factory_spec.rb +0 -14
  285. data/spec/lib/spree/core/testing_support/factories/state_factory_spec.rb +0 -59
  286. data/spec/lib/spree/core/testing_support/factories/stock_item_factory_spec.rb +0 -14
  287. data/spec/lib/spree/core/testing_support/factories/stock_location_factory_spec.rb +0 -35
  288. data/spec/lib/spree/core/testing_support/factories/stock_movement_factory_spec.rb +0 -14
  289. data/spec/lib/spree/core/testing_support/factories/stock_package_factory_spec.rb +0 -28
  290. data/spec/lib/spree/core/testing_support/factories/store_credit_category_factory_spec.rb +0 -14
  291. data/spec/lib/spree/core/testing_support/factories/store_credit_event_factory_spec.rb +0 -43
  292. data/spec/lib/spree/core/testing_support/factories/store_credit_factory_spec.rb +0 -14
  293. data/spec/lib/spree/core/testing_support/factories/store_credit_reason_factory_spec.rb +0 -14
  294. data/spec/lib/spree/core/testing_support/factories/store_credit_type_factory_spec.rb +0 -20
  295. data/spec/lib/spree/core/testing_support/factories/store_factory_spec.rb +0 -14
  296. data/spec/lib/spree/core/testing_support/factories/tax_category_factory_spec.rb +0 -14
  297. data/spec/lib/spree/core/testing_support/factories/tax_rate_factory_spec.rb +0 -14
  298. data/spec/lib/spree/core/testing_support/factories/taxon_factory_spec.rb +0 -14
  299. data/spec/lib/spree/core/testing_support/factories/taxonomy_factory_spec.rb +0 -14
  300. data/spec/lib/spree/core/testing_support/factories/user_factory_spec.rb +0 -24
  301. data/spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb +0 -56
  302. data/spec/lib/spree/core/testing_support/factories/variant_property_rule_condition_factory_spec.rb +0 -14
  303. data/spec/lib/spree/core/testing_support/factories/variant_property_rule_factory_spec.rb +0 -14
  304. data/spec/lib/spree/core/testing_support/factories/variant_property_rule_value_factory_spec.rb +0 -14
  305. data/spec/lib/spree/core/testing_support/factories/zone_factory_spec.rb +0 -20
  306. data/spec/lib/spree/core/testing_support/preferences_spec.rb +0 -61
  307. data/spec/lib/spree/core/validators/email_spec.rb +0 -53
  308. data/spec/lib/spree/core/version_spec.rb +0 -19
  309. data/spec/lib/spree/event/subscriber_spec.rb +0 -85
  310. data/spec/lib/spree/event_spec.rb +0 -130
  311. data/spec/lib/spree/localized_number_spec.rb +0 -45
  312. data/spec/lib/spree/migrations_spec.rb +0 -32
  313. data/spec/lib/spree/money_spec.rb +0 -298
  314. data/spec/lib/spree/permission_sets/default_customer_spec.rb +0 -22
  315. data/spec/lib/spree/permitted_attributes_spec.rb +0 -41
  316. data/spec/lib/spree/promo/environment_spec.rb +0 -53
  317. data/spec/lib/tasks/dummy_task.rake +0 -12
  318. data/spec/lib/tasks/dummy_task_spec.rb +0 -30
  319. data/spec/lib/tasks/migrations/migrate_shipping_rate_taxes_spec.rb +0 -21
  320. data/spec/mailers/carton_mailer_spec.rb +0 -44
  321. data/spec/mailers/order_mailer_spec.rb +0 -117
  322. data/spec/mailers/promotion_code_batch_mailer_spec.rb +0 -47
  323. data/spec/mailers/reimbursement_mailer_spec.rb +0 -36
  324. data/spec/mailers/test_mailer_spec.rb +0 -13
  325. data/spec/models/spree/ability_spec.rb +0 -279
  326. data/spec/models/spree/address_spec.rb +0 -399
  327. data/spec/models/spree/adjustment_reason_spec.rb +0 -11
  328. data/spec/models/spree/adjustment_spec.rb +0 -339
  329. data/spec/models/spree/asset_spec.rb +0 -25
  330. data/spec/models/spree/calculator/default_tax_spec.rb +0 -260
  331. data/spec/models/spree/calculator/distributed_amount_spec.rb +0 -82
  332. data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +0 -39
  333. data/spec/models/spree/calculator/flat_rate_spec.rb +0 -52
  334. data/spec/models/spree/calculator/flexi_rate_spec.rb +0 -158
  335. data/spec/models/spree/calculator/free_shipping_spec.rb +0 -8
  336. data/spec/models/spree/calculator/percent_on_line_item_spec.rb +0 -20
  337. data/spec/models/spree/calculator/percent_per_item_spec.rb +0 -12
  338. data/spec/models/spree/calculator/price_sack_spec.rb +0 -35
  339. data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +0 -70
  340. data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +0 -44
  341. data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +0 -18
  342. data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +0 -56
  343. data/spec/models/spree/calculator/shipping/per_item_spec.rb +0 -25
  344. data/spec/models/spree/calculator/shipping/price_sack_spec.rb +0 -44
  345. data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +0 -99
  346. data/spec/models/spree/calculator/tiered_percent_spec.rb +0 -197
  347. data/spec/models/spree/calculator_spec.rb +0 -43
  348. data/spec/models/spree/carton_spec.rb +0 -145
  349. data/spec/models/spree/classification_spec.rb +0 -126
  350. data/spec/models/spree/concerns/display_money_spec.rb +0 -44
  351. data/spec/models/spree/concerns/ordered_property_value_list_spec.rb +0 -52
  352. data/spec/models/spree/concerns/user_address_book_spec.rb +0 -358
  353. data/spec/models/spree/concerns/user_methods_spec.rb +0 -122
  354. data/spec/models/spree/country_spec.rb +0 -154
  355. data/spec/models/spree/credit_card_spec.rb +0 -373
  356. data/spec/models/spree/customer_return_spec.rb +0 -294
  357. data/spec/models/spree/distributed_amounts_handler_spec.rb +0 -83
  358. data/spec/models/spree/exchange_spec.rb +0 -76
  359. data/spec/models/spree/fulfilment_changer_spec.rb +0 -340
  360. data/spec/models/spree/gallery/product_gallery_spec.rb +0 -21
  361. data/spec/models/spree/gallery/variant_gallery_spec.rb +0 -21
  362. data/spec/models/spree/gateway/bogus_simple.rb +0 -14
  363. data/spec/models/spree/gateway/bogus_spec.rb +0 -14
  364. data/spec/models/spree/gateway_spec.rb +0 -14
  365. data/spec/models/spree/image_spec.rb +0 -25
  366. data/spec/models/spree/inventory_unit_spec.rb +0 -309
  367. data/spec/models/spree/line_item_spec.rb +0 -240
  368. data/spec/models/spree/option_type_spec.rb +0 -16
  369. data/spec/models/spree/option_value_spec.rb +0 -52
  370. data/spec/models/spree/order/address_spec.rb +0 -52
  371. data/spec/models/spree/order/adjustments_spec.rb +0 -29
  372. data/spec/models/spree/order/callbacks_spec.rb +0 -44
  373. data/spec/models/spree/order/checkout_spec.rb +0 -740
  374. data/spec/models/spree/order/finalizing_spec.rb +0 -92
  375. data/spec/models/spree/order/number_generator_spec.rb +0 -47
  376. data/spec/models/spree/order/outstanding_balance_integration_spec.rb +0 -138
  377. data/spec/models/spree/order/payment_spec.rb +0 -280
  378. data/spec/models/spree/order/risk_assessment_spec.rb +0 -70
  379. data/spec/models/spree/order/state_machine_spec.rb +0 -122
  380. data/spec/models/spree/order/totals_spec.rb +0 -26
  381. data/spec/models/spree/order/validations_spec.rb +0 -17
  382. data/spec/models/spree/order_cancellations_spec.rb +0 -233
  383. data/spec/models/spree/order_capturing_spec.rb +0 -16
  384. data/spec/models/spree/order_contents_spec.rb +0 -362
  385. data/spec/models/spree/order_inventory_spec.rb +0 -285
  386. data/spec/models/spree/order_merger_spec.rb +0 -162
  387. data/spec/models/spree/order_mutex_spec.rb +0 -89
  388. data/spec/models/spree/order_promotion_spec.rb +0 -33
  389. data/spec/models/spree/order_shipping_spec.rb +0 -247
  390. data/spec/models/spree/order_spec.rb +0 -1687
  391. data/spec/models/spree/order_taxation_spec.rb +0 -128
  392. data/spec/models/spree/order_update_attributes_spec.rb +0 -49
  393. data/spec/models/spree/order_updater_spec.rb +0 -556
  394. data/spec/models/spree/payment/cancellation_spec.rb +0 -84
  395. data/spec/models/spree/payment_create_spec.rb +0 -195
  396. data/spec/models/spree/payment_method/bogus_credit_card_spec.rb +0 -10
  397. data/spec/models/spree/payment_method/check_spec.rb +0 -80
  398. data/spec/models/spree/payment_method/credit_card_spec.rb +0 -68
  399. data/spec/models/spree/payment_method/simple_bogus_credit_card_spec.rb +0 -20
  400. data/spec/models/spree/payment_method/store_credit_spec.rb +0 -325
  401. data/spec/models/spree/payment_method_spec.rb +0 -408
  402. data/spec/models/spree/payment_spec.rb +0 -1270
  403. data/spec/models/spree/permission_sets/base_spec.rb +0 -14
  404. data/spec/models/spree/permission_sets/configuration_display.rb +0 -79
  405. data/spec/models/spree/permission_sets/configuration_management_spec.rb +0 -49
  406. data/spec/models/spree/permission_sets/dashboard_display_spec.rb +0 -23
  407. data/spec/models/spree/permission_sets/order_display_spec.rb +0 -56
  408. data/spec/models/spree/permission_sets/order_management_spec.rb +0 -43
  409. data/spec/models/spree/permission_sets/product_display_spec.rb +0 -57
  410. data/spec/models/spree/permission_sets/product_management_spec.rb +0 -39
  411. data/spec/models/spree/permission_sets/promotion_display_spec.rb +0 -41
  412. data/spec/models/spree/permission_sets/promotion_management_spec.rb +0 -29
  413. data/spec/models/spree/permission_sets/restricted_stock_display_spec.rb +0 -42
  414. data/spec/models/spree/permission_sets/restricted_stock_management_spec.rb +0 -42
  415. data/spec/models/spree/permission_sets/stock_display_spec.rb +0 -25
  416. data/spec/models/spree/permission_sets/stock_management_spec.rb +0 -23
  417. data/spec/models/spree/permission_sets/user_display_spec.rb +0 -39
  418. data/spec/models/spree/permission_sets/user_management_spec.rb +0 -58
  419. data/spec/models/spree/preference_spec.rb +0 -79
  420. data/spec/models/spree/preferences/configuration_spec.rb +0 -27
  421. data/spec/models/spree/preferences/preferable_spec.rb +0 -334
  422. data/spec/models/spree/preferences/scoped_store_spec.rb +0 -62
  423. data/spec/models/spree/preferences/static_model_preferences_spec.rb +0 -79
  424. data/spec/models/spree/preferences/statically_configurable_spec.rb +0 -67
  425. data/spec/models/spree/preferences/store_spec.rb +0 -40
  426. data/spec/models/spree/price_spec.rb +0 -150
  427. data/spec/models/spree/product/scopes_spec.rb +0 -164
  428. data/spec/models/spree/product_duplicator_spec.rb +0 -92
  429. data/spec/models/spree/product_filter_spec.rb +0 -28
  430. data/spec/models/spree/product_property_spec.rb +0 -20
  431. data/spec/models/spree/product_spec.rb +0 -584
  432. data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +0 -126
  433. data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +0 -198
  434. data/spec/models/spree/promotion/actions/create_quantity_adjustments_spec.rb +0 -298
  435. data/spec/models/spree/promotion/actions/free_shipping_spec.rb +0 -61
  436. data/spec/models/spree/promotion/rules/first_order_spec.rb +0 -87
  437. data/spec/models/spree/promotion/rules/first_repeat_purchase_since_spec.rb +0 -71
  438. data/spec/models/spree/promotion/rules/item_total_spec.rb +0 -128
  439. data/spec/models/spree/promotion/rules/nth_order_spec.rb +0 -72
  440. data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +0 -54
  441. data/spec/models/spree/promotion/rules/option_value_spec.rb +0 -96
  442. data/spec/models/spree/promotion/rules/product_spec.rb +0 -193
  443. data/spec/models/spree/promotion/rules/store_spec.rb +0 -35
  444. data/spec/models/spree/promotion/rules/taxon_spec.rb +0 -227
  445. data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +0 -33
  446. data/spec/models/spree/promotion/rules/user_role_spec.rb +0 -88
  447. data/spec/models/spree/promotion/rules/user_spec.rb +0 -39
  448. data/spec/models/spree/promotion_action_spec.rb +0 -44
  449. data/spec/models/spree/promotion_category_spec.rb +0 -19
  450. data/spec/models/spree/promotion_code/batch_builder_spec.rb +0 -107
  451. data/spec/models/spree/promotion_code_batch_spec.rb +0 -54
  452. data/spec/models/spree/promotion_code_spec.rb +0 -206
  453. data/spec/models/spree/promotion_handler/cart_spec.rb +0 -132
  454. data/spec/models/spree/promotion_handler/coupon_spec.rb +0 -419
  455. data/spec/models/spree/promotion_handler/page_spec.rb +0 -45
  456. data/spec/models/spree/promotion_handler/shipping_spec.rb +0 -96
  457. data/spec/models/spree/promotion_rule_spec.rb +0 -34
  458. data/spec/models/spree/promotion_spec.rb +0 -945
  459. data/spec/models/spree/refund_spec.rb +0 -200
  460. data/spec/models/spree/reimbursement/credit_spec.rb +0 -38
  461. data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +0 -144
  462. data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +0 -85
  463. data/spec/models/spree/reimbursement_performer_spec.rb +0 -33
  464. data/spec/models/spree/reimbursement_spec.rb +0 -278
  465. data/spec/models/spree/reimbursement_tax_calculator_spec.rb +0 -52
  466. data/spec/models/spree/reimbursement_type/credit_spec.rb +0 -56
  467. data/spec/models/spree/reimbursement_type/exchange_spec.rb +0 -48
  468. data/spec/models/spree/reimbursement_type/original_payment_spec.rb +0 -110
  469. data/spec/models/spree/reimbursement_type/store_credit_spec.rb +0 -111
  470. data/spec/models/spree/return_authorization_spec.rb +0 -226
  471. data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +0 -79
  472. data/spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb +0 -59
  473. data/spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb +0 -86
  474. data/spec/models/spree/return_item/eligibility_validator/order_completed_spec.rb +0 -35
  475. data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +0 -31
  476. data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +0 -42
  477. data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +0 -66
  478. data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +0 -43
  479. data/spec/models/spree/return_item_spec.rb +0 -785
  480. data/spec/models/spree/returns_calculator_spec.rb +0 -16
  481. data/spec/models/spree/shipment_spec.rb +0 -914
  482. data/spec/models/spree/shipping_calculator_spec.rb +0 -45
  483. data/spec/models/spree/shipping_manifest_spec.rb +0 -110
  484. data/spec/models/spree/shipping_method_spec.rb +0 -292
  485. data/spec/models/spree/shipping_rate_spec.rb +0 -154
  486. data/spec/models/spree/shipping_rate_tax_spec.rb +0 -79
  487. data/spec/models/spree/state_spec.rb +0 -43
  488. data/spec/models/spree/stock/allocator/on_hand_first_spec.rb +0 -146
  489. data/spec/models/spree/stock/availability_spec.rb +0 -143
  490. data/spec/models/spree/stock/availability_validator_spec.rb +0 -140
  491. data/spec/models/spree/stock/content_item_spec.rb +0 -70
  492. data/spec/models/spree/stock/differentiator_spec.rb +0 -41
  493. data/spec/models/spree/stock/estimator_spec.rb +0 -241
  494. data/spec/models/spree/stock/inventory_unit_builder_spec.rb +0 -34
  495. data/spec/models/spree/stock/inventory_units_finalizer_spec.rb +0 -58
  496. data/spec/models/spree/stock/location_filter/active_spec.rb +0 -22
  497. data/spec/models/spree/stock/location_sorter/default_first_spec.rb +0 -22
  498. data/spec/models/spree/stock/location_sorter/unsorted_spec.rb +0 -21
  499. data/spec/models/spree/stock/package_spec.rb +0 -182
  500. data/spec/models/spree/stock/quantifier_spec.rb +0 -113
  501. data/spec/models/spree/stock/shipping_rate_selector_spec.rb +0 -18
  502. data/spec/models/spree/stock/shipping_rate_sorter_spec.rb +0 -18
  503. data/spec/models/spree/stock/simple_coordinator_spec.rb +0 -264
  504. data/spec/models/spree/stock/splitter/backordered_spec.rb +0 -31
  505. data/spec/models/spree/stock/splitter/base_spec.rb +0 -22
  506. data/spec/models/spree/stock/splitter/shipping_category_spec.rb +0 -48
  507. data/spec/models/spree/stock/splitter/weight_spec.rb +0 -31
  508. data/spec/models/spree/stock/splitter_chain_spec.rb +0 -66
  509. data/spec/models/spree/stock_item_spec.rb +0 -348
  510. data/spec/models/spree/stock_location_spec.rb +0 -288
  511. data/spec/models/spree/stock_movement_spec.rb +0 -58
  512. data/spec/models/spree/stock_quantities_spec.rb +0 -249
  513. data/spec/models/spree/store_credit_category_spec.rb +0 -19
  514. data/spec/models/spree/store_credit_event_spec.rb +0 -328
  515. data/spec/models/spree/store_credit_spec.rb +0 -900
  516. data/spec/models/spree/store_selector/by_server_name_spec.rb +0 -28
  517. data/spec/models/spree/store_selector/legacy_spec.rb +0 -46
  518. data/spec/models/spree/store_spec.rb +0 -156
  519. data/spec/models/spree/tax/order_adjuster_spec.rb +0 -35
  520. data/spec/models/spree/tax/shipping_rate_taxer_spec.rb +0 -59
  521. data/spec/models/spree/tax/tax_location_spec.rb +0 -79
  522. data/spec/models/spree/tax/taxation_integration_spec.rb +0 -815
  523. data/spec/models/spree/tax_calculator/default_spec.rb +0 -56
  524. data/spec/models/spree/tax_category_spec.rb +0 -50
  525. data/spec/models/spree/tax_rate_spec.rb +0 -317
  526. data/spec/models/spree/taxon_spec.rb +0 -197
  527. data/spec/models/spree/taxonomy_spec.rb +0 -15
  528. data/spec/models/spree/taxons/paperclip_attachment_spec.rb +0 -29
  529. data/spec/models/spree/unit_cancel_spec.rb +0 -126
  530. data/spec/models/spree/user_last_url_storer/rules/authentication_rule_spec.rb +0 -31
  531. data/spec/models/spree/user_last_url_storer_spec.rb +0 -60
  532. data/spec/models/spree/user_spec.rb +0 -247
  533. data/spec/models/spree/validations/db_maximum_length_validator_spec.rb +0 -33
  534. data/spec/models/spree/variant/price_selector_spec.rb +0 -90
  535. data/spec/models/spree/variant/pricing_options_spec.rb +0 -204
  536. data/spec/models/spree/variant/scopes_spec.rb +0 -94
  537. data/spec/models/spree/variant/vat_price_generator_spec.rb +0 -77
  538. data/spec/models/spree/variant_property_rule_condition_spec.rb +0 -17
  539. data/spec/models/spree/variant_property_rule_spec.rb +0 -85
  540. data/spec/models/spree/variant_property_rule_value_spec.rb +0 -20
  541. data/spec/models/spree/variant_spec.rb +0 -862
  542. data/spec/models/spree/wallet_payment_source_spec.rb +0 -77
  543. data/spec/models/spree/wallet_spec.rb +0 -155
  544. data/spec/models/spree/zone_spec.rb +0 -248
  545. data/spec/rails_helper.rb +0 -46
  546. data/spec/shared_examples/calculator_shared_examples.rb +0 -10
  547. data/spec/spec_helper.rb +0 -36
  548. data/spec/support/big_decimal.rb +0 -7
  549. data/spec/support/concerns/default_price.rb +0 -44
  550. data/spec/support/concerns/payment_source.rb +0 -66
  551. data/spec/support/concerns/working_factories.rb +0 -15
  552. data/spec/support/dummy_ability.rb +0 -7
@@ -38,7 +38,11 @@ module Spree
38
38
  # @param variant [Spree::Variant] variant to check
39
39
  # @return [Boolean]
40
40
  def applies_to_variant?(variant)
41
- (option_value_ids & variant.option_value_ids).present?
41
+ if apply_to_all
42
+ matches_option_value_ids?(variant.option_value_ids)
43
+ else
44
+ (option_value_ids & variant.option_value_ids).present?
45
+ end
42
46
  end
43
47
  end
44
48
  end
@@ -24,16 +24,21 @@ class Spree::Wallet::AddPaymentSourcesToWallet
24
24
  # add valid sources to wallet and optionally set a default
25
25
  if sources.any?
26
26
  # arbitrarily sort by id for picking a default
27
- wallet_payment_sources = sources.sort_by(&:id).map do |source|
27
+ sources.sort_by(&:id).each do |source|
28
28
  order.user.wallet.add(source)
29
29
  end
30
30
 
31
- order.user.wallet.default_wallet_payment_source =
32
- wallet_payment_sources.last
31
+ make_default
33
32
  end
34
33
  end
35
34
  end
36
35
 
36
+ protected
37
+
38
+ def make_default
39
+ order.user.wallet.default_wallet_payment_source = order.user.wallet_payment_sources.last
40
+ end
41
+
37
42
  private
38
43
 
39
44
  attr_reader :order
@@ -13,7 +13,7 @@ module Spree
13
13
  has_many :shipping_method_zones, dependent: :destroy
14
14
  has_many :shipping_methods, through: :shipping_method_zones
15
15
 
16
- validates :name, presence: true, uniqueness: { allow_blank: true }
16
+ validates :name, presence: true, uniqueness: { allow_blank: true, case_sensitive: true }
17
17
  after_save :remove_defunct_members
18
18
 
19
19
  scope :with_member_ids, ->(state_ids, country_ids) do
@@ -28,6 +28,7 @@ en:
28
28
  company: Company
29
29
  firstname: First Name
30
30
  lastname: Last Name
31
+ name: Name
31
32
  phone: Phone
32
33
  zipcode: Zip Code
33
34
  spree/adjustment:
@@ -115,7 +116,7 @@ en:
115
116
  considered_risky: Risky
116
117
  coupon_code: Coupon Code
117
118
  created_at: Order Date
118
- email: Customer E-Mail
119
+ email: Customer Email
119
120
  included_tax_total: Tax (incl.)
120
121
  ip_address: IP Address
121
122
  item_total: Item Total
@@ -131,6 +132,7 @@ en:
131
132
  city: Billing address city
132
133
  firstname: Billing address first name
133
134
  lastname: Billing address last name
135
+ name: Billing address name
134
136
  phone: Billing address phone
135
137
  state: Billing address state
136
138
  zipcode: Billing address zipcode
@@ -139,6 +141,7 @@ en:
139
141
  city: Shipping address city
140
142
  firstname: Shipping address first name
141
143
  lastname: Shipping address last name
144
+ name: Shipping address name
142
145
  phone: Shipping address phone
143
146
  state: Shipping address state
144
147
  zipcode: Shipping address zipcode
@@ -174,6 +177,7 @@ en:
174
177
  cost_price: Cost Price
175
178
  depth: Depth
176
179
  description: Description
180
+ discontinue_on: Discontinue on
177
181
  height: Height
178
182
  master_price: Master Price
179
183
  meta_description: Meta Description
@@ -316,6 +320,8 @@ en:
316
320
  name: Name
317
321
  service_level: Service Level
318
322
  tracking_url: Tracking URL
323
+ stock_locations: Stock Locations
324
+ available_to_all: Available to all stock locations
319
325
  spree/shipping_rate:
320
326
  amount: Amount
321
327
  label: Label
@@ -356,6 +362,7 @@ en:
356
362
  default: Default
357
363
  default_currency: Default Currency
358
364
  mail_from_address: Mail From Address
365
+ bcc_email: BCC Email
359
366
  meta_description: Meta Description
360
367
  meta_keywords: Meta Keywords
361
368
  name: Site Name
@@ -468,6 +475,7 @@ en:
468
475
  attributes:
469
476
  price:
470
477
  not_a_number: is not valid
478
+ does_not_match_order_currency: Line item price currency must match order currency!
471
479
  spree/price:
472
480
  attributes:
473
481
  currency:
@@ -475,8 +483,11 @@ en:
475
483
  spree/promotion:
476
484
  attributes:
477
485
  apply_automatically:
478
- disallowed_with_code: Disallowed for promotions with a code
479
486
  disallowed_with_path: Disallowed for promotions with a path
487
+ spree/promotion_code:
488
+ attributes:
489
+ base:
490
+ disallowed_with_apply_automatically: Could not create promotion code on promotion that apply automatically
480
491
  spree/refund:
481
492
  attributes:
482
493
  amount:
@@ -688,7 +699,7 @@ en:
688
699
  one: RMA Reason
689
700
  other: RMA Reasons
690
701
  spree/role:
691
- one: Roles
702
+ one: Role
692
703
  other: Roles
693
704
  spree/shipment:
694
705
  one: Shipment
@@ -783,6 +794,7 @@ en:
783
794
  refund: Refund
784
795
  remove: Remove
785
796
  save: Save
797
+ send_email: Send Email
786
798
  ship: Ship
787
799
  split: Split
788
800
  update: Update
@@ -799,6 +811,8 @@ en:
799
811
  add_option_value: Add Option Value
800
812
  add_product: Add Product
801
813
  add_product_properties: Add Product Properties
814
+ add_variant_properties: Add Variant Properties
815
+ applies_to_all_variant_properties: Applies to all Variant Properties above
802
816
  add_rule_of_type: Add rule of type
803
817
  add_state: Add State
804
818
  add_stock: Add Stock
@@ -840,6 +854,11 @@ en:
840
854
  drag_and_drop: or drag and drop them here
841
855
  image_process_failed: Server failed to process the image
842
856
  upload_images: Upload Images
857
+ order:
858
+ events:
859
+ approve: Approve
860
+ cancel: Cancel
861
+ resume: Resume
843
862
  payments:
844
863
  source_forms:
845
864
  storecredit:
@@ -876,6 +895,9 @@ en:
876
895
  expired: Expired
877
896
  inactive: Inactive
878
897
  not_started: Not started
898
+ shipping_methods:
899
+ form:
900
+ stock_locations_placeholder: 'Choose stock locations'
879
901
  stock_locations:
880
902
  form:
881
903
  address: Address
@@ -1391,17 +1413,25 @@ en:
1391
1413
  available_on: This sets the availability date for the product. If this value
1392
1414
  is not set, or it is set to a date in the future, then the product is not
1393
1415
  available on the storefront.
1416
+ discontinue_on: This sets the discontinue date for the product. If this value
1417
+ is set to a date, then the product is not available on the storefront from
1418
+ that day on anymore.
1394
1419
  promotionable: 'This determines whether or not promotions can apply to this
1395
1420
  product.<br/>Default: Checked'
1396
1421
  shipping_category: 'This determines what kind of shipping this product requires.<br/>
1397
1422
  Default: Default'
1398
1423
  tax_category: 'This determines what kind of taxation is applied to this product.<br/>
1399
- Default: None'
1424
+ Default: %{default_tax_category}'
1400
1425
  spree/promotion:
1401
1426
  expires_at: This determines when the promotion expires. <br/> If no value
1402
1427
  is specified, the promotion will never expire.
1403
1428
  starts_at: This determines when the promotion can be applied to orders. <br/>
1404
1429
  If no value is specified, the promotion will be immediately available.
1430
+ promo_code_will_be_disabled: Selecting this option, promo codes will be disabled for this promotion
1431
+ because all its rules / actions will be applied automatically to all orders.
1432
+ spree/shipping_method:
1433
+ available_to_all: Uncheck to select specific stock locations this
1434
+ shipping method will be available in.
1405
1435
  spree/stock_location:
1406
1436
  active: 'This determines whether stock from this location can be used when
1407
1437
  building packages.<br/> Default: Checked'
@@ -1423,6 +1453,8 @@ en:
1423
1453
  (orders which don't yet have an address).<br/> Default: None."
1424
1454
  code: 'An identifier for your store. Developers may need this value if you operate
1425
1455
  multiple storefronts.'
1456
+ spree/tax_category:
1457
+ is_default: 'When checked, this tax category will be selected by default when creating new products or variants.'
1426
1458
  spree/tax_rate:
1427
1459
  validity_period: This determines the validity period within which the tax
1428
1460
  rate is valid and will be applied to eligible items. <br /> If no start
@@ -1496,6 +1528,11 @@ en:
1496
1528
  iso_name: Iso Name
1497
1529
  item: Item
1498
1530
  item_description: Item Description
1531
+ items_selected:
1532
+ all: All Items Selected
1533
+ none: No Item Selected
1534
+ one: One Item Selected
1535
+ custom: Items Selected
1499
1536
  item_total: Item Total
1500
1537
  item_total_rule:
1501
1538
  operators:
@@ -1566,6 +1603,7 @@ en:
1566
1603
  my_account: My Account
1567
1604
  my_orders: My Orders
1568
1605
  name: Name
1606
+ name_contains: Name Contains
1569
1607
  name_on_card: Name on card
1570
1608
  name_or_sku: Name or SKU (enter at least first 4 characters of product name)
1571
1609
  negative_movement_absent_item: Cannot create negative movement for absent stock
@@ -1957,7 +1995,7 @@ en:
1957
1995
  select_a_stock_location: Select a stock location
1958
1996
  selected_quantity_not_available: selected of %{item} is not available.
1959
1997
  send_copy_of_all_mails_to: Send Copy of All Mails To
1960
- send_mailer: Send Mailer
1998
+ send_mailer: Send Shipment Email
1961
1999
  send_mails_as: Send Mails As
1962
2000
  server: Server
1963
2001
  server_error: The server returned an error
@@ -1965,6 +2003,7 @@ en:
1965
2003
  ship: ship
1966
2004
  ship_address: Ship Address
1967
2005
  ship_address_required: Valid shipping address required
2006
+ bill_address_required: Valid billing address required
1968
2007
  ship_total: Ship Total
1969
2008
  shipment: Shipment
1970
2009
  shipment_adjustments: Shipment adjustments
@@ -5,7 +5,7 @@ require 'carmen'
5
5
  # Insert Countries into the spree_countries table, checking to ensure that no
6
6
  # duplicates are created, using as few SQL statements as possible (2)
7
7
 
8
- connection = ApplicationRecord.connection
8
+ connection = Spree::Base.connection
9
9
 
10
10
  country_mapper = ->(country) do
11
11
  name = connection.quote country.name
@@ -1,14 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ def create_states(subregions, country)
4
+ subregions.each do |subregion|
5
+ Spree::State.where(abbr: subregion.code, country: country).first_or_create!(
6
+ name: subregion.name
7
+ )
8
+ end
9
+ end
10
+
3
11
  ActiveRecord::Base.transaction do
4
12
  Spree::Country.all.each do |country|
5
13
  carmen_country = Carmen::Country.coded(country.iso)
6
14
  next unless carmen_country.subregions?
7
15
 
8
- carmen_country.subregions.each do |subregion|
9
- Spree::State.where(abbr: subregion.code, country: country).first_or_create!(
10
- name: subregion.name
11
- )
16
+ if Spree::Config[:countries_that_use_nested_subregions].include? country.iso
17
+ create_states(carmen_country.subregions.flat_map(&:subregions), country)
18
+ else
19
+ create_states(carmen_country.subregions, country)
12
20
  end
13
21
  end
14
22
  end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- Spree::StoreCreditCategory.find_or_create_by!(name: I18n.t('spree.store_credit_category.default'))
4
3
 
5
4
  Spree::PaymentMethod.create_with(
6
5
  name: "Store Credit",
@@ -18,6 +17,7 @@ Spree::StoreCreditType.create_with(priority: 2).find_or_create_by!(name: Spree::
18
17
  Spree::ReimbursementType.create_with(name: "Store Credit").find_or_create_by!(type: 'Spree::ReimbursementType::StoreCredit')
19
18
  Spree::ReimbursementType.create_with(name: "Original").find_or_create_by!(type: 'Spree::ReimbursementType::OriginalPayment')
20
19
 
21
- Spree::StoreCreditCategory.find_or_create_by!(name: 'Gift Card')
20
+ Spree::StoreCreditCategory.find_or_create_by!(name: Spree::StoreCreditCategory::GIFT_CARD)
21
+ Spree::StoreCreditCategory.find_or_create_by!(name: Spree::StoreCreditCategory::REIMBURSEMENT)
22
22
 
23
23
  Spree::StoreCreditReason.find_or_create_by!(name: 'Credit Given In Error')
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddApplyToAllToVariantPropertyRule < ActiveRecord::Migration[5.1]
4
+ def up
5
+ add_column :spree_variant_property_rules, :apply_to_all, :boolean, default: false, null: false
6
+ change_column :spree_variant_property_rules, :apply_to_all, :boolean, default: true
7
+ end
8
+
9
+ def down
10
+ remove_column :spree_variant_property_rules, :apply_to_all
11
+ end
12
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ class AddDefaultBillngFlagToUserAddresses < ActiveRecord::Migration[5.2]
3
+ def change
4
+ add_column :spree_user_addresses, :default_billing, :boolean, default: false
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddBccEmailToSpreeStores < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :spree_stores, :bcc_email, :string
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddDiscontinueOnToSpreeProducts < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :spree_products, :discontinue_on, :datetime
6
+ end
7
+ end
@@ -0,0 +1,253 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails/generators'
4
+
5
+ module Solidus
6
+ # @private
7
+ class InstallGenerator < Rails::Generators::Base
8
+ CORE_MOUNT_ROUTE = "mount Spree::Core::Engine"
9
+
10
+ PAYMENT_METHODS = {
11
+ 'paypal' => 'solidus_paypal_commerce_platform',
12
+ 'none' => nil,
13
+ }
14
+
15
+ class_option :migrate, type: :boolean, default: true, banner: 'Run Solidus migrations'
16
+ class_option :seed, type: :boolean, default: true, banner: 'Load seed data (migrations must be run)'
17
+ class_option :sample, type: :boolean, default: true, banner: 'Load sample data (migrations must be run)'
18
+ class_option :auto_accept, type: :boolean
19
+ class_option :user_class, type: :string
20
+ class_option :admin_email, type: :string
21
+ class_option :admin_password, type: :string
22
+ class_option :lib_name, type: :string, default: 'spree'
23
+ class_option :with_authentication, type: :boolean, default: true
24
+ class_option :enforce_available_locales, type: :boolean, default: nil
25
+ class_option :payment_method,
26
+ type: :string,
27
+ enum: PAYMENT_METHODS.keys,
28
+ default: PAYMENT_METHODS.keys.first,
29
+ desc: "Indicates which payment method to install."
30
+
31
+ def self.source_paths
32
+ paths = superclass.source_paths
33
+ paths << File.expand_path('../templates', "../../#{__FILE__}")
34
+ paths << File.expand_path('../templates', "../#{__FILE__}")
35
+ paths << File.expand_path('templates', __dir__)
36
+ paths.flatten
37
+ end
38
+
39
+ def prepare_options
40
+ @run_migrations = options[:migrate]
41
+ @load_seed_data = options[:seed]
42
+ @load_sample_data = options[:sample]
43
+
44
+ unless @run_migrations
45
+ @load_seed_data = false
46
+ @load_sample_data = false
47
+ end
48
+ end
49
+
50
+ def add_files
51
+ template 'config/initializers/spree.rb.tt', 'config/initializers/spree.rb'
52
+ end
53
+
54
+ def additional_tweaks
55
+ return unless File.exist? 'public/robots.txt'
56
+
57
+ append_file "public/robots.txt", <<-ROBOTS.strip_heredoc
58
+ User-agent: *
59
+ Disallow: /checkout
60
+ Disallow: /cart
61
+ Disallow: /orders
62
+ Disallow: /user
63
+ Disallow: /account
64
+ Disallow: /api
65
+ Disallow: /password
66
+ ROBOTS
67
+ end
68
+
69
+ def setup_assets
70
+ @lib_name = 'spree'
71
+
72
+ empty_directory 'app/assets/images'
73
+
74
+ %w{javascripts stylesheets images}.each do |path|
75
+ empty_directory "vendor/assets/#{path}/spree/frontend" if defined? Spree::Frontend || Rails.env.test?
76
+ empty_directory "vendor/assets/#{path}/spree/backend" if defined? Spree::Backend || Rails.env.test?
77
+ end
78
+
79
+ if defined? Spree::Frontend || Rails.env.test?
80
+ template "vendor/assets/javascripts/spree/frontend/all.js"
81
+ template "vendor/assets/stylesheets/spree/frontend/all.css"
82
+ end
83
+
84
+ if defined? Spree::Backend || Rails.env.test?
85
+ template "vendor/assets/javascripts/spree/backend/all.js"
86
+ template "vendor/assets/stylesheets/spree/backend/all.css"
87
+ end
88
+ end
89
+
90
+ def create_overrides_directory
91
+ empty_directory "app/overrides"
92
+ end
93
+
94
+ def configure_application
95
+ application <<-RUBY
96
+ # Load application's model / class decorators
97
+ initializer 'spree.decorators' do |app|
98
+ config.to_prepare do
99
+ Dir.glob(Rails.root.join('app/**/*_decorator*.rb')) do |path|
100
+ require_dependency(path)
101
+ end
102
+ end
103
+ end
104
+ RUBY
105
+
106
+ if !options[:enforce_available_locales].nil?
107
+ application <<-RUBY
108
+ # Prevent this deprecation message: https://github.com/svenfuchs/i18n/commit/3b6e56e
109
+ I18n.enforce_available_locales = #{options[:enforce_available_locales]}
110
+ RUBY
111
+ end
112
+ end
113
+
114
+ def plugin_install_preparation
115
+ @plugins_to_be_installed = []
116
+ @plugin_generators_to_run = []
117
+ end
118
+
119
+ def install_auth_plugin
120
+ if options[:with_authentication] && (options[:auto_accept] || !no?("
121
+ Solidus has a default authentication extension that uses Devise.
122
+ You can find more info at https://github.com/solidusio/solidus_auth_devise.
123
+
124
+ Would you like to install it? (y/n)"))
125
+
126
+ @plugins_to_be_installed << 'solidus_auth_devise'
127
+ @plugin_generators_to_run << 'solidus:auth:install'
128
+ end
129
+ end
130
+
131
+ def install_payment_method
132
+ name = options[:payment_method]
133
+
134
+ unless options[:auto_accept]
135
+ available_names = PAYMENT_METHODS.keys
136
+
137
+ name = ask("
138
+ You can select a payment method to be included in the installation process.
139
+ Please select a payment method name:", limited_to: available_names, default: available_names.first)
140
+ end
141
+
142
+ gem_name = PAYMENT_METHODS.fetch(name)
143
+
144
+ if gem_name
145
+ @plugins_to_be_installed << gem_name
146
+ @plugin_generators_to_run << "#{gem_name}:install"
147
+ end
148
+ end
149
+
150
+ def include_seed_data
151
+ append_file "db/seeds.rb", <<-RUBY.strip_heredoc
152
+
153
+ Spree::Core::Engine.load_seed if defined?(Spree::Core)
154
+ Spree::Auth::Engine.load_seed if defined?(Spree::Auth)
155
+ RUBY
156
+ end
157
+
158
+ def install_migrations
159
+ say_status :copying, "migrations"
160
+ `rake railties:install:migrations`
161
+ end
162
+
163
+ def create_database
164
+ say_status :creating, "database"
165
+ rake 'db:create'
166
+ end
167
+
168
+ def run_bundle_install_if_needed_by_plugins
169
+ @plugins_to_be_installed.each do |plugin_name|
170
+ gem plugin_name
171
+ end
172
+
173
+ bundle_cleanly{ run "bundle install" } if @plugins_to_be_installed.any?
174
+ run "spring stop"
175
+
176
+ @plugin_generators_to_run.each do |plugin_generator_name|
177
+ generate "#{plugin_generator_name} --skip_migrations=false"
178
+ end
179
+ end
180
+
181
+ def run_migrations
182
+ if @run_migrations
183
+ say_status :running, "migrations"
184
+
185
+ rake 'db:migrate VERBOSE=false'
186
+ else
187
+ say_status :skipping, "migrations (don't forget to run rake db:migrate)"
188
+ end
189
+ end
190
+
191
+ def populate_seed_data
192
+ if @load_seed_data
193
+ say_status :loading, "seed data"
194
+ rake_options = []
195
+ rake_options << "AUTO_ACCEPT=1" if options[:auto_accept]
196
+ rake_options << "ADMIN_EMAIL=#{options[:admin_email]}" if options[:admin_email]
197
+ rake_options << "ADMIN_PASSWORD=#{options[:admin_password]}" if options[:admin_password]
198
+
199
+ rake("db:seed #{rake_options.join(' ')}")
200
+ else
201
+ say_status :skipping, "seed data (you can always run rake db:seed)"
202
+ end
203
+ end
204
+
205
+ def load_sample_data
206
+ if @load_sample_data
207
+ say_status :loading, "sample data"
208
+ rake 'spree_sample:load'
209
+ else
210
+ say_status :skipping, "sample data (you can always run rake spree_sample:load)"
211
+ end
212
+ end
213
+
214
+ def install_routes
215
+ routes_file_path = File.join('config', 'routes.rb')
216
+ unless File.read(routes_file_path).include? CORE_MOUNT_ROUTE
217
+ insert_into_file routes_file_path, after: "Rails.application.routes.draw do\n" do
218
+ <<-RUBY
219
+ # This line mounts Solidus's routes at the root of your application.
220
+ # This means, any requests to URLs such as /products, will go to Spree::ProductsController.
221
+ # If you would like to change where this engine is mounted, simply change the :at option to something different.
222
+ #
223
+ # We ask that you don't use the :as option here, as Solidus relies on it being the default of "spree"
224
+ #{CORE_MOUNT_ROUTE}, at: '/'
225
+
226
+ RUBY
227
+ end
228
+ end
229
+
230
+ unless options[:quiet]
231
+ puts "*" * 50
232
+ puts "We added the following line to your application's config/routes.rb file:"
233
+ puts " "
234
+ puts " #{CORE_MOUNT_ROUTE}, at: '/'"
235
+ end
236
+ end
237
+
238
+ def complete
239
+ unless options[:quiet]
240
+ puts "*" * 50
241
+ puts "Solidus has been installed successfully. You're all ready to go!"
242
+ puts " "
243
+ puts "Enjoy!"
244
+ end
245
+ end
246
+
247
+ private
248
+
249
+ def bundle_cleanly(&block)
250
+ Bundler.respond_to?(:with_unbundled_env) ? Bundler.with_unbundled_env(&block) : Bundler.with_clean_env(&block)
251
+ end
252
+ end
253
+ end