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
@@ -10,6 +10,15 @@ Spree.config do |config|
10
10
  # from address for transactional emails
11
11
  config.mails_from = "store@example.com"
12
12
 
13
+ # Use combined first and last name attribute in HTML views and API responses
14
+ config.use_combined_first_and_last_name_in_address = true
15
+
16
+ # Use legacy Spree::Order state machine
17
+ config.use_legacy_order_state_machine = false
18
+
19
+ # Use the legacy address' state validation logic
20
+ config.use_legacy_address_state_validator = false
21
+
13
22
  # Uncomment to stop tracking inventory levels in the application
14
23
  # config.track_inventory_levels = false
15
24
 
@@ -22,6 +31,33 @@ Spree.config do |config|
22
31
  config.image_attachment_module = 'Spree::Image::PaperclipAttachment'
23
32
  config.taxon_attachment_module = 'Spree::Taxon::PaperclipAttachment'
24
33
 
34
+ # Disable legacy Solidus custom CanCanCan actions aliases
35
+ config.use_custom_cancancan_actions = false
36
+
37
+ # Defaults
38
+
39
+ # Set this configuration to `true` to raise an exception when
40
+ # an order is populated with a line item with a mismatching
41
+ # currency. The `false` value will just add a validation error
42
+ # and will be the only behavior accepted in future versions.
43
+ # See https://github.com/solidusio/solidus/pull/3456 for more info.
44
+ config.raise_with_invalid_currency = false
45
+
46
+ # Set this configuration to false to always redirect the user to
47
+ # /unauthorized when needed, without trying to redirect them to
48
+ # their previous location first.
49
+ config.redirect_back_on_unauthorized = true
50
+
51
+ # Set this configuration to `true` to allow promotions
52
+ # with no associated actions to be considered active for use by customers.
53
+ # See https://github.com/solidusio/solidus/pull/3749 for more info.
54
+ config.consider_actionless_promotion_active = false
55
+
56
+ # Set this configuration to `false` to avoid running validations when
57
+ # updating an order. Be careful since you can end up having inconsistent
58
+ # data in your database turning it on.
59
+ # See https://github.com/solidusio/solidus/pull/3645 for more info.
60
+ config.run_order_validations_on_order_updater = true
25
61
 
26
62
  # Permission Sets:
27
63
 
@@ -89,11 +125,6 @@ end
89
125
 
90
126
  Spree.user_class = <%= (options[:user_class].blank? ? "Spree::LegacyUser" : options[:user_class]).inspect %>
91
127
 
92
- # If you want to add a field to the whitelisted ransackable attributes,
93
- # just uncomment the following code and change it as you need.
94
- #
95
- # Spree::Model.whitelisted_ransackable_attributes << 'field'
96
-
97
128
  # Rules for avoiding to store the current path into session for redirects
98
129
  # When at least one rule is matched, the request path will not be stored
99
130
  # in session.
@@ -24,7 +24,7 @@ Dummy::Application.configure do
24
24
  # The :test delivery method accumulates sent emails in the
25
25
  # ActionMailer::Base.deliveries array.
26
26
  config.action_mailer.delivery_method = :test
27
- ActionMailer::Base.default from: "spree@example.com"
27
+ ActionMailer::Base.default from: "solidus@example.com"
28
28
 
29
29
  # Raise on deprecation warnings
30
30
  if ENV['SOLIDUS_RAISE_DEPRECATIONS'].present?
@@ -1,197 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rails/generators'
4
- require 'bundler'
5
- require 'bundler/cli'
3
+ require 'generators/solidus/install/install_generator'
6
4
 
7
5
  module Spree
8
6
  # @private
9
- class InstallGenerator < Rails::Generators::Base
10
- CORE_MOUNT_ROUTE = "mount Spree::Core::Engine"
11
-
12
- class_option :migrate, type: :boolean, default: true, banner: 'Run Solidus migrations'
13
- class_option :seed, type: :boolean, default: true, banner: 'load seed data (migrations must be run)'
14
- class_option :sample, type: :boolean, default: true, banner: 'load sample data (migrations must be run)'
15
- class_option :auto_accept, type: :boolean
16
- class_option :user_class, type: :string
17
- class_option :admin_email, type: :string
18
- class_option :admin_password, type: :string
19
- class_option :lib_name, type: :string, default: 'spree'
20
- class_option :enforce_available_locales, type: :boolean, default: nil
21
-
22
- def self.source_paths
23
- paths = superclass.source_paths
24
- paths << File.expand_path('../templates', "../../#{__FILE__}")
25
- paths << File.expand_path('../templates', "../#{__FILE__}")
26
- paths << File.expand_path('templates', __dir__)
27
- paths.flatten
28
- end
29
-
30
- def prepare_options
31
- @run_migrations = options[:migrate]
32
- @load_seed_data = options[:seed]
33
- @load_sample_data = options[:sample]
34
-
35
- unless @run_migrations
36
- @load_seed_data = false
37
- @load_sample_data = false
38
- end
39
- end
40
-
41
- def add_files
42
- template 'config/initializers/spree.rb.tt', 'config/initializers/spree.rb'
43
- end
44
-
45
- def additional_tweaks
46
- return unless File.exist? 'public/robots.txt'
47
- append_file "public/robots.txt", <<-ROBOTS.strip_heredoc
48
- User-agent: *
49
- Disallow: /checkout
50
- Disallow: /cart
51
- Disallow: /orders
52
- Disallow: /user
53
- Disallow: /account
54
- Disallow: /api
55
- Disallow: /password
56
- ROBOTS
57
- end
58
-
59
- def setup_assets
60
- @lib_name = 'spree'
61
-
62
- empty_directory 'app/assets/images'
63
-
64
- %w{javascripts stylesheets images}.each do |path|
65
- empty_directory "vendor/assets/#{path}/spree/frontend" if defined? Spree::Frontend || Rails.env.test?
66
- empty_directory "vendor/assets/#{path}/spree/backend" if defined? Spree::Backend || Rails.env.test?
67
- end
68
-
69
- if defined? Spree::Frontend || Rails.env.test?
70
- template "vendor/assets/javascripts/spree/frontend/all.js"
71
- template "vendor/assets/stylesheets/spree/frontend/all.css"
72
- end
73
-
74
- if defined? Spree::Backend || Rails.env.test?
75
- template "vendor/assets/javascripts/spree/backend/all.js"
76
- template "vendor/assets/stylesheets/spree/backend/all.css"
77
- end
78
- end
79
-
80
- def create_overrides_directory
81
- empty_directory "app/overrides"
82
- end
83
-
84
- def configure_application
85
- application <<-RUBY
86
- # Load application's model / class decorators
87
- initializer 'spree.decorators' do |app|
88
- config.to_prepare do
89
- Dir.glob(Rails.root.join('app/**/*_decorator*.rb')) do |path|
90
- require_dependency(path)
91
- end
92
- end
93
- end
94
-
95
- # Load application's view overrides
96
- initializer 'spree.overrides' do |app|
97
- config.to_prepare do
98
- Dir.glob(Rails.root.join('app/overrides/*.rb')) do |path|
99
- require_dependency(path)
100
- end
101
- end
102
- end
103
- RUBY
104
-
105
- if !options[:enforce_available_locales].nil?
106
- application <<-RUBY
107
- # Prevent this deprecation message: https://github.com/svenfuchs/i18n/commit/3b6e56e
108
- I18n.enforce_available_locales = #{options[:enforce_available_locales]}
109
- RUBY
110
- end
111
- end
112
-
113
- def include_seed_data
114
- append_file "db/seeds.rb", <<-RUBY.strip_heredoc
115
-
116
- Spree::Core::Engine.load_seed if defined?(Spree::Core)
117
- Spree::Auth::Engine.load_seed if defined?(Spree::Auth)
118
- RUBY
119
- end
120
-
121
- def install_migrations
122
- say_status :copying, "migrations"
123
- `rake railties:install:migrations`
124
- end
125
-
126
- def create_database
127
- say_status :creating, "database"
128
- rake 'db:create'
129
- end
130
-
131
- def run_migrations
132
- if @run_migrations
133
- say_status :running, "migrations"
134
-
135
- rake 'db:migrate VERBOSE=false'
136
- else
137
- say_status :skipping, "migrations (don't forget to run rake db:migrate)"
138
- end
139
- end
140
-
141
- def populate_seed_data
142
- if @load_seed_data
143
- say_status :loading, "seed data"
144
- rake_options = []
145
- rake_options << "AUTO_ACCEPT=1" if options[:auto_accept]
146
- rake_options << "ADMIN_EMAIL=#{options[:admin_email]}" if options[:admin_email]
147
- rake_options << "ADMIN_PASSWORD=#{options[:admin_password]}" if options[:admin_password]
148
-
149
- rake("db:seed #{rake_options.join(' ')}")
150
- else
151
- say_status :skipping, "seed data (you can always run rake db:seed)"
152
- end
153
- end
154
-
155
- def load_sample_data
156
- if @load_sample_data
157
- say_status :loading, "sample data"
158
- rake 'spree_sample:load'
159
- else
160
- say_status :skipping, "sample data (you can always run rake spree_sample:load)"
161
- end
162
- end
163
-
164
- def install_routes
165
- routes_file_path = File.join('config', 'routes.rb')
166
- unless File.read(routes_file_path).include? CORE_MOUNT_ROUTE
167
- insert_into_file routes_file_path, after: "Rails.application.routes.draw do\n" do
168
- <<-RUBY
169
- # This line mounts Solidus's routes at the root of your application.
170
- # This means, any requests to URLs such as /products, will go to Spree::ProductsController.
171
- # If you would like to change where this engine is mounted, simply change the :at option to something different.
172
- #
173
- # We ask that you don't use the :as option here, as Solidus relies on it being the default of "spree"
174
- #{CORE_MOUNT_ROUTE}, at: '/'
175
-
176
- RUBY
177
- end
178
- end
179
-
180
- unless options[:quiet]
181
- puts "*" * 50
182
- puts "We added the following line to your application's config/routes.rb file:"
183
- puts " "
184
- puts " #{CORE_MOUNT_ROUTE}, at: '/'"
185
- end
186
- end
187
-
188
- def complete
189
- unless options[:quiet]
190
- puts "*" * 50
191
- puts "Solidus has been installed successfully. You're all ready to go!"
192
- puts " "
193
- puts "Enjoy!"
194
- end
7
+ class InstallGenerator < Solidus::InstallGenerator
8
+ def print_deprecation_warning
9
+ puts " "
10
+ puts "*" * 50
11
+ puts "spree:install generator is deprecated, please use solidus:install."
12
+ puts " "
195
13
  end
196
14
  end
197
15
  end
@@ -3,7 +3,7 @@
3
3
  module Solidus
4
4
  module Migrations
5
5
  module PromotionWithCodeHandlers
6
- class PromotionCode < ActiveRecord::Base
6
+ class PromotionCode < Spree::Base
7
7
  self.table_name = "spree_promotion_codes"
8
8
  end
9
9
 
@@ -24,12 +24,20 @@ require 'spree/core/environment'
24
24
 
25
25
  module Spree
26
26
  class AppConfiguration < Preferences::Configuration
27
- # Alphabetized to more easily lookup particular preferences
27
+ # Preferences (alphabetized to more easily lookup particular preferences)
28
+
29
+ # @!attribute [rw] address_requires_phone
30
+ # @return [Boolean] should phone number be required (default: +true+)
31
+ preference :address_requires_phone, :boolean, default: true
28
32
 
29
33
  # @!attribute [rw] address_requires_state
30
34
  # @return [Boolean] should state/state_name be required (default: +true+)
31
35
  preference :address_requires_state, :boolean, default: true
32
36
 
37
+ # @!attribute [rw] legacy
38
+ # @return [Boolean] use the legacy address' state validation logic (default: +true+)
39
+ preference :use_legacy_address_state_validator, :boolean, default: true
40
+
33
41
  # @!attribute [rw] admin_interface_logo
34
42
  # @return [String] URL of logo used in admin (default: +'logo/solidus.svg'+)
35
43
  preference :admin_interface_logo, :string, default: 'logo/solidus.svg'
@@ -42,6 +50,12 @@ module Spree
42
50
  # @return [Integer] Number of variants to display in admin (default: +20+)
43
51
  preference :admin_variants_per_page, :integer, default: 20
44
52
 
53
+ # @!attribute [rw] admin_vat_country_iso
54
+ # Set this if you want to enter prices in the backend including value added tax.
55
+ # @return [String, nil] Two-letter ISO code of that {Spree::Country} for which
56
+ # prices are entered in the backend (default: nil)
57
+ preference :admin_vat_country_iso, :string, default: nil
58
+
45
59
  # @!attribute [rw] allow_checkout_on_gateway_error
46
60
  # @return [Boolean] Allow checkout to complete after a failed payment (default: +false+)
47
61
  preference :allow_checkout_on_gateway_error, :boolean, default: false
@@ -50,6 +64,10 @@ module Spree
50
64
  # @return [Boolean] When false, customers must create an account to complete an order (default: +true+)
51
65
  preference :allow_guest_checkout, :boolean, default: true
52
66
 
67
+ # @!attribute [rw] guest_token_cookie_options
68
+ # @return [Hash] Add additional guest_token cookie options here (ie. domain or path)
69
+ preference :guest_token_cookie_options, :hash, default: {}
70
+
53
71
  # @!attribute [rw] allow_return_item_amount_editing
54
72
  # @return [Boolean] Determines whether an admin is allowed to change a return item's pre-calculated amount (default: +false+)
55
73
  preference :allow_return_item_amount_editing, :boolean, default: false
@@ -78,6 +96,21 @@ module Spree
78
96
  # @return [Boolean] Automatically capture the credit card (as opposed to just authorize and capture later) (default: +false+)
79
97
  preference :auto_capture_exchanges, :boolean, default: false
80
98
 
99
+ # @!attribute [rw] automatic_default_address
100
+ # The default value of true preserves existing backwards compatible feature of
101
+ # treating the most recently used address in checkout as the user's default address.
102
+ # Setting to false means that the user should manage their own default via some
103
+ # custom UI that uses AddressBookController.
104
+ # @return [Boolean] Whether use of an address in checkout marks it as user's default
105
+ preference :automatic_default_address, :boolean, default: true
106
+
107
+ # @!attribute [rw] billing_address_required
108
+ # Controls whether billing address is required or not in the checkout process
109
+ # by default, can be overridden at order level.
110
+ # (default: +false+)
111
+ # @return [Boolean]
112
+ preference :billing_address_required, :boolean, default: false
113
+
81
114
  # @!attribute [rw] binary_inventory_cache
82
115
  # Only invalidate product caches when they change from in stock to out of
83
116
  # stock. By default, caches are invalidated on any change of inventory
@@ -88,20 +121,9 @@ module Spree
88
121
  # @return [Boolean]
89
122
  preference :binary_inventory_cache, :boolean, default: false
90
123
 
91
- # @!attribute [rw] completable_order_created_cutoff
92
- # @return [Integer] the number of days to look back for created orders which get returned to the user as last completed
93
- preference :completable_order_created_cutoff_days, :integer, default: nil
94
-
95
- # @!attribute [rw] completable_order_created_cutoff
96
- # @return [Integer] the number of days to look back for updated orders which get returned to the user as last completed
97
- preference :completable_order_updated_cutoff_days, :integer, default: nil
98
-
99
- # @!attribute [rw] inventory_cache_threshold
100
- # Only invalidate product caches when the count on hand for a stock item
101
- # falls below or rises about the inventory_cache_threshold. When undefined, the
102
- # product caches will be invalidated anytime the count on hand is changed.
103
- # @return [Integer]
104
- preference :inventory_cache_threshold, :integer
124
+ # @!attribute [rw] can_restrict_stock_management
125
+ # @return [Boolean] Indicates if stock management can be restricted by location
126
+ preference :can_restrict_stock_management, :boolean, default: false
105
127
 
106
128
  # @!attribute [rw] checkout_zone
107
129
  # @return [String] Name of a {Spree::Zone}, which limits available countries to those included in that zone. (default: +nil+)
@@ -111,11 +133,27 @@ module Spree
111
133
  # @return [Boolean] Request company field for billing and shipping addresses. (default: +false+)
112
134
  preference :company, :boolean, default: false
113
135
 
136
+ # @!attribute [rw] completable_order_created_cutoff
137
+ # @return [Integer] the number of days to look back for created orders which get returned to the user as last completed
138
+ preference :completable_order_created_cutoff_days, :integer, default: nil
139
+
140
+ # @!attribute [rw] completable_order_created_cutoff
141
+ # @return [Integer] the number of days to look back for updated orders which get returned to the user as last completed
142
+ preference :completable_order_updated_cutoff_days, :integer, default: nil
143
+
144
+ # @!attribute [rw] credit_to_new_allocation
145
+ # @return [Boolean] Creates a new allocation anytime {Spree::StoreCredit#credit} is called
146
+ preference :credit_to_new_allocation, :boolean, default: false
147
+
114
148
  # @!attribute [rw] currency
115
149
  # Currency to use by default when not defined on the site (default: +"USD"+)
116
150
  # @return [String] ISO 4217 Three letter currency code
117
151
  preference :currency, :string, default: "USD"
118
152
 
153
+ # @!attribute [rw] customer_returns_per_page
154
+ # @return [Integer] Customer returns to show per-page in the admin (default: +15+)
155
+ preference :customer_returns_per_page, :integer, default: 15
156
+
119
157
  # @!attribute [rw] default_country_id
120
158
  # @deprecated Use the default country ISO preference instead
121
159
  # @return [Integer,nil] id of {Spree::Country} to be selected by default in dropdowns (default: nil)
@@ -126,17 +164,22 @@ module Spree
126
164
  # @return [String] Two-letter ISO code of a {Spree::Country} to assumed as the country of an unidentified customer (default: "US")
127
165
  preference :default_country_iso, :string, default: 'US'
128
166
 
129
- # @!attribute [rw] admin_vat_country_iso
130
- # Set this if you want to enter prices in the backend including value added tax.
131
- # @return [String, nil] Two-letter ISO code of that {Spree::Country} for which
132
- # prices are entered in the backend (default: nil)
133
- preference :admin_vat_country_iso, :string, default: nil
167
+ # @!attribute [rw] use_custom_cancancan_actions
168
+ # @return [Boolean] Allow to use legacy Solidus custom CanCanCan action aliases (default: +true+)
169
+ preference :use_custom_cancancan_actions, :boolean, default: true
134
170
 
135
171
  # @!attribute [rw] generate_api_key_for_all_roles
136
172
  # @return [Boolean] Allow generating api key automatically for user
137
173
  # at role_user creation for all roles. (default: +false+)
138
174
  preference :generate_api_key_for_all_roles, :boolean, default: false
139
175
 
176
+ # @!attribute [rw] inventory_cache_threshold
177
+ # Only invalidate product caches when the count on hand for a stock item
178
+ # falls below or rises about the inventory_cache_threshold. When undefined, the
179
+ # product caches will be invalidated anytime the count on hand is changed.
180
+ # @return [Integer]
181
+ preference :inventory_cache_threshold, :integer
182
+
140
183
  # @!attribute [rw] layout
141
184
  # @return [String] template to use for layout on the frontend (default: +"spree/layouts/spree_application"+)
142
185
  preference :layout, :string, default: 'spree/layouts/spree_application'
@@ -145,6 +188,14 @@ module Spree
145
188
  # @return [String] URL of logo used on frontend (default: +'logo/solidus.svg'+)
146
189
  preference :logo, :string, default: 'logo/solidus.svg'
147
190
 
191
+ # @!attribute [rw] mails_from
192
+ # @return [String] Email address used as +From:+ field in transactional emails.
193
+ preference :mails_from, :string, default: 'solidus@example.com'
194
+
195
+ # @!attribute [rw] max_level_in_taxons_menu
196
+ # @return [Integer] maximum nesting level in taxons menu (default: +1+)
197
+ preference :max_level_in_taxons_menu, :integer, default: 1
198
+
148
199
  # @!attribute [rw] order_bill_address_used
149
200
  # @return [Boolean] Use the order's bill address, as opposed to storing
150
201
  # bill addresses on payment sources. (default: +true+)
@@ -154,10 +205,6 @@ module Spree
154
205
  # @return [Integer] the number of days to look back for fully-shipped/cancelled orders in order to charge for them
155
206
  preference :order_capturing_time_window, :integer, default: 14
156
207
 
157
- # @!attribute [rw] max_level_in_taxons_menu
158
- # @return [Integer] maximum nesting level in taxons menu (default: +1+)
159
- preference :max_level_in_taxons_menu, :integer, default: 1
160
-
161
208
  # @!attribute [rw] order_mutex_max_age
162
209
  # @return [Integer] Max age of {Spree::OrderMutex} in seconds (default: 2 minutes)
163
210
  preference :order_mutex_max_age, :integer, default: 120
@@ -178,9 +225,22 @@ module Spree
178
225
  # @return [Integer] Promotions to show per-page in the admin (default: +15+)
179
226
  preference :promotions_per_page, :integer, default: 15
180
227
 
181
- # @!attribute [rw] customer_returns_per_page
182
- # @return [Integer] Customer returns to show per-page in the admin (default: +15+)
183
- preference :customer_returns_per_page, :integer, default: 15
228
+ # @!attribute [rw] disable_actionless_promotion_validation
229
+ # @return [Boolean] Promotions should have actions associated before being considered active (default: +true+)
230
+ preference :consider_actionless_promotion_active, :boolean, default: true
231
+
232
+ # @!attribute [rw] raise_with_invalid_currency
233
+ # Whether to raise an exception if trying to set a line item currency
234
+ # different from the order currency. When false a validation error
235
+ # is added to the instance instead.
236
+ # @return [Boolean] (default: +true+)
237
+ preference :raise_with_invalid_currency, :boolean, default: true
238
+
239
+ # @!attribute [rw] redirect_back_on_unauthorized
240
+ # Whether to try to redirect users back when they try to access
241
+ # unauthorized routes, before redirect them to /unauthorized.
242
+ # @return [Boolean] (default: +false+)
243
+ preference :redirect_back_on_unauthorized, :boolean, default: false
184
244
 
185
245
  # @!attribute [rw] require_master_price
186
246
  # @return [Boolean] Require a price on the master variant of a product (default: +true+)
@@ -200,6 +260,22 @@ module Spree
200
260
  # (default: +['admin']+)
201
261
  preference :roles_for_auto_api_key, :array, default: ['admin']
202
262
 
263
+ # @!attribute [rw] countries_that_use_nested_subregions
264
+ # @return [Array] An array of countries that use nested subregions, instead
265
+ # of the default subregions that come with Carmen. Will be used on store creation
266
+ # to ensure the correct states are generated, and when running the states
267
+ # regenerate rake task.
268
+ # (default: +['IT']+)
269
+ preference :countries_that_use_nested_subregions, :array, default: ['IT']
270
+
271
+ # @!attribute [rw] run_order_validations_on_order_updater
272
+ # @return [Boolean] Whether to run validation when updating an order with the OrderUpdater
273
+ preference :run_order_validations_on_order_updater, :boolean, default: false
274
+
275
+ # @!attribute [rw] send_core_emails
276
+ # @return [Boolean] Whether to send transactional emails (default: true)
277
+ preference :send_core_emails, :boolean, default: true
278
+
203
279
  # @!attribute [rw] shipping_instructions
204
280
  # @return [Boolean] Request instructions/info for shipping (default: +false+)
205
281
  preference :shipping_instructions, :boolean, default: false
@@ -231,33 +307,23 @@ module Spree
231
307
  # @return [] Track on_hand values for variants / products. (default: true)
232
308
  preference :track_inventory_levels, :boolean, default: true
233
309
 
234
- # Default mail headers settings
235
-
236
- # @!attribute [rw] send_core_emails
237
- # @return [Boolean] Whether to send transactional emails (default: true)
238
- preference :send_core_emails, :boolean, default: true
239
-
240
- # @!attribute [rw] mails_from
241
- # @return [String] Email address used as +From:+ field in transactional emails.
242
- preference :mails_from, :string, default: 'spree@example.com'
310
+ # @!attribute [rw] use_combined_first_and_last_name_in_address
311
+ # @return [Boolean] Use Spree::Address combined first and last name in HTML views and
312
+ # API responses. (default: +false+)
313
+ preference :use_combined_first_and_last_name_in_address, :boolean, default: false
243
314
 
244
- # Store credits configurations
245
-
246
- # @!attribute [rw] credit_to_new_allocation
247
- # @return [Boolean] Creates a new allocation anytime {Spree::StoreCredit#credit} is called
248
- preference :credit_to_new_allocation, :boolean, default: false
315
+ # @!attribute [rw] use_legacy_order_state_machine
316
+ # @return [Boolean] Uses the legacy order state machine from Spree::Order::Checkout
317
+ # (default: +false+)
318
+ preference :use_legacy_order_state_machine, :boolean, default: true
249
319
 
250
- # @!attribute [rw] automatic_default_address
251
- # The default value of true preserves existing backwards compatible feature of
252
- # treating the most recently used address in checkout as the user's default address.
253
- # Setting to false means that the user should manage their own default via some
254
- # custom UI that uses AddressBookController.
255
- # @return [Boolean] Whether use of an address in checkout marks it as user's default
256
- preference :automatic_default_address, :boolean, default: true
320
+ # The legacy_store_credit_category_name allows to control whether the legacy
321
+ # way of fetching the category should be used.
322
+ #
323
+ # @param [Boolean] enable/disable the legacy way of fetching the store category name
324
+ preference :use_legacy_store_credit_reimbursement_category_name, :boolean, default: true
257
325
 
258
- # @!attribute [rw] can_restrict_stock_management
259
- # @return [Boolean] Indicates if stock management can be restricted by location
260
- preference :can_restrict_stock_management, :boolean, default: false
326
+ # Other configurations
261
327
 
262
328
  # Allows restricting what currencies will be available.
263
329
  #