spree_core 4.2.5 → 4.3.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (248) hide show
  1. checksums.yaml +4 -4
  2. data/app/finders/concerns/spree/product_filterable.rb +9 -0
  3. data/app/finders/spree/cms_pages/find.rb +41 -0
  4. data/app/finders/spree/menus/find.rb +11 -0
  5. data/app/finders/spree/option_values/find_available.rb +20 -0
  6. data/app/finders/spree/orders/find_complete.rb +14 -2
  7. data/app/finders/spree/orders/find_current.rb +1 -13
  8. data/app/finders/spree/product_properties/find_available.rb +20 -0
  9. data/app/finders/spree/products/find.rb +55 -20
  10. data/app/finders/spree/stores/find_current.rb +24 -0
  11. data/app/helpers/spree/base_helper.rb +62 -2
  12. data/app/helpers/spree/locale_helper.rb +5 -1
  13. data/app/helpers/spree/products_helper.rb +7 -3
  14. data/app/models/concerns/spree/display_link.rb +42 -0
  15. data/app/models/concerns/spree/filter_param.rb +21 -0
  16. data/app/models/concerns/spree/memoized_data.rb +24 -0
  17. data/app/models/concerns/spree/multi_store_resource.rb +24 -0
  18. data/app/models/concerns/spree/product_scopes.rb +59 -8
  19. data/app/models/concerns/spree/single_store_resource.rb +9 -0
  20. data/app/models/concerns/spree/user_address.rb +19 -0
  21. data/app/models/concerns/spree/user_methods.rb +5 -4
  22. data/app/models/concerns/spree/user_payment_source.rb +1 -1
  23. data/app/models/spree/ability.rb +3 -1
  24. data/app/models/spree/address.rb +27 -6
  25. data/app/models/spree/app_configuration.rb +8 -0
  26. data/app/models/spree/app_dependencies.rb +18 -6
  27. data/app/models/spree/base.rb +18 -0
  28. data/app/models/spree/classification.rb +3 -0
  29. data/app/models/spree/cms/pages/feature_page.rb +7 -0
  30. data/app/models/spree/cms/pages/homepage.rb +20 -0
  31. data/app/models/spree/cms/pages/standard_page.rb +4 -0
  32. data/app/models/spree/cms/sections/featured_article.rb +29 -0
  33. data/app/models/spree/cms/sections/hero_image.rb +47 -0
  34. data/app/models/spree/cms/sections/image_gallery.rb +103 -0
  35. data/app/models/spree/cms/sections/product_carousel.rb +14 -0
  36. data/app/models/spree/cms/sections/rich_text_content.rb +13 -0
  37. data/app/models/spree/cms/sections/side_by_side_images.rb +74 -0
  38. data/app/models/spree/cms_page.rb +66 -0
  39. data/app/models/spree/cms_section.rb +57 -0
  40. data/app/models/spree/country.rb +14 -6
  41. data/app/models/spree/credit_card.rb +2 -8
  42. data/app/models/spree/customer_return.rb +8 -2
  43. data/app/models/spree/icon.rb +9 -0
  44. data/app/models/spree/image/configuration/active_storage.rb +2 -0
  45. data/app/models/spree/inventory_unit.rb +1 -1
  46. data/app/models/spree/line_item.rb +1 -1
  47. data/app/models/spree/menu.rb +63 -0
  48. data/app/models/spree/menu_item.rb +76 -0
  49. data/app/models/spree/option_type.rb +1 -1
  50. data/app/models/spree/option_value.rb +11 -0
  51. data/app/models/spree/option_value_variant.rb +1 -1
  52. data/app/models/spree/order.rb +46 -45
  53. data/app/models/spree/order/address_book.rb +3 -5
  54. data/app/models/spree/order/currency_updater.rb +1 -1
  55. data/app/models/spree/order/emails.rb +32 -0
  56. data/app/models/spree/order/payments.rb +1 -1
  57. data/app/models/spree/order/store_credit.rb +1 -1
  58. data/app/models/spree/payment.rb +7 -0
  59. data/app/models/spree/payment_method.rb +4 -0
  60. data/app/models/spree/preferences/preferable.rb +12 -0
  61. data/app/models/spree/preferences/preferable_class_methods.rb +10 -1
  62. data/app/models/spree/product.rb +27 -22
  63. data/app/models/spree/product_property.rb +19 -4
  64. data/app/models/spree/promotion.rb +6 -15
  65. data/app/models/spree/promotion/rules/country.rb +1 -1
  66. data/app/models/spree/promotion/rules/first_order.rb +4 -3
  67. data/app/models/spree/promotion/rules/taxon.rb +10 -7
  68. data/app/models/spree/promotion_handler/cart.rb +7 -2
  69. data/app/models/spree/promotion_handler/coupon.rb +5 -4
  70. data/app/models/spree/promotion_handler/free_shipping.rb +5 -6
  71. data/app/models/spree/promotion_handler/page.rb +3 -2
  72. data/app/models/spree/promotion_handler/promotion_duplicator.rb +1 -0
  73. data/app/models/spree/promotion_rule.rb +2 -0
  74. data/app/models/spree/property.rb +27 -0
  75. data/app/models/spree/reimbursement.rb +3 -1
  76. data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +2 -1
  77. data/app/models/spree/shipment_handler.rb +4 -2
  78. data/app/models/spree/stock/quantifier.rb +6 -6
  79. data/app/models/spree/store.rb +90 -7
  80. data/app/models/spree/store_credit.rb +7 -3
  81. data/app/models/spree/store_credit_event.rb +2 -2
  82. data/app/models/spree/store_payment_method.rb +11 -0
  83. data/app/models/spree/store_product.rb +11 -0
  84. data/app/models/spree/store_promotion.rb +11 -0
  85. data/app/models/spree/taxon.rb +21 -1
  86. data/app/models/spree/taxon_image/configuration/active_storage.rb +2 -0
  87. data/app/models/spree/taxonomy.rb +3 -1
  88. data/app/models/spree/variant.rb +13 -4
  89. data/app/presenters/spree/filters/options_presenter.rb +27 -0
  90. data/app/presenters/spree/filters/price_presenter.rb +22 -0
  91. data/app/presenters/spree/filters/price_range_presenter.rb +29 -0
  92. data/app/presenters/spree/filters/properties_presenter.rb +23 -0
  93. data/app/presenters/spree/filters/property_presenter.rb +22 -0
  94. data/app/presenters/spree/filters/quantified_price_range_presenter.rb +44 -0
  95. data/app/services/spree/account/addresses/create.rb +1 -0
  96. data/app/services/spree/account/addresses/helper.rb +6 -0
  97. data/app/services/spree/account/addresses/update.rb +9 -3
  98. data/app/services/spree/account/create.rb +17 -0
  99. data/app/services/spree/account/update.rb +15 -0
  100. data/app/services/spree/build_localized_redirect_url.rb +1 -1
  101. data/app/services/spree/cart/create.rb +5 -3
  102. data/app/services/spree/cart/destroy.rb +40 -0
  103. data/app/services/spree/cart/empty.rb +36 -0
  104. data/app/services/spree/cart/estimate_shipping_rates.rb +3 -3
  105. data/app/services/spree/checkout/add_store_credit.rb +1 -1
  106. data/app/services/spree/classifications/reposition.rb +18 -0
  107. data/app/services/spree/credit_cards/destroy.rb +41 -0
  108. data/app/validators/db_maximum_length_validator.rb +5 -0
  109. data/app/validators/email_validator.rb +3 -1
  110. data/app/views/spree/shared/_purchased_items_table.text.erb +25 -0
  111. data/config/initializers/active_storage.rb +2 -0
  112. data/config/locales/en.yml +166 -2
  113. data/config/routes.rb +0 -5
  114. data/db/migrate/20201023152810_add_filterable_to_spree_properties.rb +8 -0
  115. data/db/migrate/20210407200948_create_spree_menus.rb +16 -0
  116. data/db/migrate/20210408092939_create_spree_menu_items.rb +31 -0
  117. data/db/migrate/20210504163720_add_filter_param_to_spree_product_properties.rb +8 -0
  118. data/db/migrate/20210505114659_add_filter_param_to_spree_properties.rb +8 -0
  119. data/db/migrate/20210512191732_create_spree_cms_pages.rb +24 -0
  120. data/db/migrate/20210514204251_create_spree_cms_sections.rb +22 -0
  121. data/db/migrate/20210527094055_create_spree_products_stores.rb +29 -0
  122. data/db/migrate/20210608045519_ensure_store_default_country_is_set.rb +5 -0
  123. data/db/migrate/20210702112334_add_missing_timestamp_columns.rb +46 -0
  124. data/db/migrate/20210713131614_add_unique_index_on_property_id_and_product_id_to_product_properties.rb +29 -0
  125. data/db/migrate/20210715091956_add_store_id_to_spree_store_credits.rb +10 -0
  126. data/db/migrate/20210716093151_add_store_id_to_spree_taxonomies.rb +11 -0
  127. data/db/migrate/20210716104141_add_index_on_name_parent_id_and_taxonomy_id_on_spree_taxons.rb +31 -0
  128. data/db/migrate/20210721120857_add_index_on_permalink_parent_id_and_taxonomy_id_on_spree_taxons.rb +31 -0
  129. data/db/migrate/20210721125657_create_spree_promotions_stores.rb +29 -0
  130. data/db/migrate/20210722090705_add_store_id_to_spree_customer_returns.rb +11 -0
  131. data/db/migrate/20210726065456_change_integer_id_columns_into_bigint.rb +305 -0
  132. data/db/migrate/20210730154425_fix_promotion_code_and_path_unique_indexes.rb +9 -0
  133. data/lib/generators/spree/dummy/dummy_generator.rb +11 -6
  134. data/lib/generators/spree/dummy_model/templates/model.rb.tt +1 -1
  135. data/lib/generators/spree/install/install_generator.rb +12 -24
  136. data/lib/spree/core.rb +8 -4
  137. data/lib/spree/core/components.rb +8 -0
  138. data/lib/spree/core/controller_helpers/auth.rb +7 -1
  139. data/lib/spree/core/controller_helpers/common.rb +1 -1
  140. data/lib/spree/core/controller_helpers/order.rb +4 -4
  141. data/lib/spree/core/controller_helpers/search.rb +1 -0
  142. data/lib/spree/core/controller_helpers/store.rb +10 -1
  143. data/lib/spree/core/engine.rb +6 -0
  144. data/lib/spree/core/importer/product.rb +3 -1
  145. data/lib/spree/core/product_duplicator.rb +1 -0
  146. data/lib/spree/core/search/base.rb +17 -22
  147. data/lib/spree/core/version.rb +1 -1
  148. data/lib/spree/i18n.rb +1 -1
  149. data/lib/spree/money.rb +2 -1
  150. data/lib/spree/permitted_attributes.rb +14 -3
  151. data/lib/spree/testing_support/authorization_helpers.rb +6 -3
  152. data/lib/spree/testing_support/capybara_config.rb +3 -1
  153. data/lib/spree/testing_support/common_rake.rb +17 -4
  154. data/lib/spree/testing_support/extension_rake.rb +2 -2
  155. data/lib/spree/testing_support/factories/address_factory.rb +1 -1
  156. data/lib/spree/testing_support/factories/classification_factory.rb +8 -0
  157. data/lib/spree/testing_support/factories/cms_page_factory.rb +20 -0
  158. data/lib/spree/testing_support/factories/cms_section_factory.rb +31 -0
  159. data/lib/spree/testing_support/factories/customer_return_factory.rb +24 -17
  160. data/lib/spree/testing_support/factories/icon_factory.rb +7 -0
  161. data/lib/spree/testing_support/factories/line_item_factory.rb +6 -2
  162. data/lib/spree/testing_support/factories/menu_factory.rb +16 -0
  163. data/lib/spree/testing_support/factories/menu_item_factory.rb +10 -0
  164. data/lib/spree/testing_support/factories/options_factory.rb +5 -0
  165. data/lib/spree/testing_support/factories/order_factory.rb +11 -2
  166. data/lib/spree/testing_support/factories/payment_method_factory.rb +6 -2
  167. data/lib/spree/testing_support/factories/product_factory.rb +11 -1
  168. data/lib/spree/testing_support/factories/product_property_factory.rb +1 -1
  169. data/lib/spree/testing_support/factories/promotion_factory.rb +18 -9
  170. data/lib/spree/testing_support/factories/property_factory.rb +22 -0
  171. data/lib/spree/testing_support/factories/stock_location_factory.rb +5 -4
  172. data/lib/spree/testing_support/factories/store_credit_factory.rb +1 -0
  173. data/lib/spree/testing_support/factories/store_factory.rb +11 -0
  174. data/lib/spree/testing_support/factories/taxon_factory.rb +3 -1
  175. data/lib/spree/testing_support/factories/taxon_image_factory.rb +7 -0
  176. data/lib/spree/testing_support/factories/taxonomy_factory.rb +1 -0
  177. data/lib/spree/testing_support/factories/user_factory.rb +7 -2
  178. data/lib/spree/testing_support/factories/variant_factory.rb +2 -2
  179. data/lib/spree/testing_support/flatpickr_capybara.rb +58 -35
  180. data/lib/spree/testing_support/order_walkthrough.rb +9 -9
  181. data/lib/tasks/core.rake +1 -1
  182. data/spec/fixtures/favicon.ico +0 -0
  183. data/spec/fixtures/files/icon_256x256.gif +0 -0
  184. data/spec/fixtures/files/icon_256x256.png +0 -0
  185. data/spec/fixtures/files/icon_512x512.png +0 -0
  186. data/spec/fixtures/files/img_256x128.png +0 -0
  187. data/spree_core.gemspec +11 -10
  188. metadata +206 -157
  189. data/app/assets/images/logo/spree_50.png +0 -0
  190. data/app/assets/images/noimage/large.png +0 -0
  191. data/app/assets/images/noimage/mini.png +0 -0
  192. data/app/assets/images/noimage/product.png +0 -0
  193. data/app/assets/images/noimage/small.png +0 -0
  194. data/app/assets/javascripts/spree.js +0 -78
  195. data/app/controllers/spree/errors_controller.rb +0 -11
  196. data/app/helpers/spree/mail_helper.rb +0 -29
  197. data/app/mailers/spree/base_mailer.rb +0 -46
  198. data/app/mailers/spree/order_mailer.rb +0 -26
  199. data/app/mailers/spree/reimbursement_mailer.rb +0 -12
  200. data/app/mailers/spree/shipment_mailer.rb +0 -12
  201. data/app/mailers/spree/test_mailer.rb +0 -8
  202. data/app/models/spree/validations/db_maximum_length_validator.rb +0 -22
  203. data/app/views/layouts/spree/base_mailer.html.erb +0 -46
  204. data/app/views/spree/errors/forbidden.html.erb +0 -0
  205. data/app/views/spree/errors/unauthorized.html.erb +0 -0
  206. data/app/views/spree/order_mailer/cancel_email.html.erb +0 -24
  207. data/app/views/spree/order_mailer/cancel_email.text.erb +0 -38
  208. data/app/views/spree/order_mailer/confirm_email.html.erb +0 -23
  209. data/app/views/spree/order_mailer/confirm_email.text.erb +0 -39
  210. data/app/views/spree/order_mailer/store_owner_notification_email.html.erb +0 -23
  211. data/app/views/spree/order_mailer/store_owner_notification_email.text.erb +0 -38
  212. data/app/views/spree/reimbursement_mailer/reimbursement_email.html.erb +0 -56
  213. data/app/views/spree/reimbursement_mailer/reimbursement_email.text.erb +0 -24
  214. data/app/views/spree/shared/_base_mailer_footer.html.erb +0 -12
  215. data/app/views/spree/shared/_base_mailer_header.html.erb +0 -13
  216. data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +0 -456
  217. data/app/views/spree/shared/_error_messages.html.erb +0 -11
  218. data/app/views/spree/shared/_mailer_line_item.html.erb +0 -16
  219. data/app/views/spree/shared/_paths.html.erb +0 -8
  220. data/app/views/spree/shared/_purchased_items_table.html.erb +0 -69
  221. data/app/views/spree/shared/purchased_items_table/_adjustment.html.erb +0 -13
  222. data/app/views/spree/shared/purchased_items_table/_line_item.html.erb +0 -27
  223. data/app/views/spree/shared/purchased_items_table/_subtotal.html.erb +0 -13
  224. data/app/views/spree/shared/purchased_items_table/_total.html.erb +0 -13
  225. data/app/views/spree/shipment_mailer/shipped_email.html.erb +0 -36
  226. data/app/views/spree/shipment_mailer/shipped_email.text.erb +0 -17
  227. data/app/views/spree/test_mailer/test_email.html.erb +0 -40
  228. data/app/views/spree/test_mailer/test_email.text.erb +0 -4
  229. data/config/initializers/assets.rb +0 -2
  230. data/config/initializers/premailer_assets.rb +0 -1
  231. data/config/initializers/premailer_rails.rb +0 -3
  232. data/db/migrate/20140805171219_make_existing_credit_cards_default.rb +0 -10
  233. data/lib/generators/spree/dummy/templates/initializers/bullet.rb +0 -5
  234. data/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/backend/all.js +0 -15
  235. data/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/frontend/all.js +0 -16
  236. data/lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/backend/all.css +0 -16
  237. data/lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/frontend/all.css +0 -16
  238. data/lib/generators/spree/mailers_preview/mailers_preview_generator.rb +0 -23
  239. data/lib/generators/spree/mailers_preview/templates/mailers/previews/order_preview.rb +0 -13
  240. data/lib/generators/spree/mailers_preview/templates/mailers/previews/reimbursement_preview.rb +0 -5
  241. data/lib/generators/spree/mailers_preview/templates/mailers/previews/shipment_preview.rb +0 -5
  242. data/lib/generators/spree/mailers_preview/templates/mailers/previews/user_preview.rb +0 -11
  243. data/lib/tasks/email.rake +0 -10
  244. data/vendor/assets/javascripts/cleave.js +0 -1669
  245. data/vendor/assets/javascripts/fetch.umd.js +0 -531
  246. data/vendor/assets/javascripts/jquery.payment.js +0 -652
  247. data/vendor/assets/javascripts/jsuri.js +0 -458
  248. data/vendor/assets/javascripts/polyfill.min.js +0 -1
@@ -2,5 +2,27 @@ FactoryBot.define do
2
2
  factory :property, class: Spree::Property do
3
3
  name { 'baseball_cap_color' }
4
4
  presentation { 'cap color' }
5
+
6
+ trait :filterable do
7
+ filterable { true }
8
+ end
9
+
10
+ trait :brand do
11
+ name { 'brand' }
12
+ presentation { 'Brand' }
13
+ filter_param { 'brand' }
14
+ end
15
+
16
+ trait :manufacturer do
17
+ name { 'manufacturer' }
18
+ presentation { 'Manufacturer' }
19
+ filter_param { 'manufacturer' }
20
+ end
21
+
22
+ trait :material do
23
+ name { 'material' }
24
+ presentation { 'Material' }
25
+ filter_param { 'material' }
26
+ end
5
27
  end
6
28
  end
@@ -17,11 +17,12 @@ FactoryBot.define do
17
17
  after(:create) do |stock_location, _evaluator|
18
18
  # variant will add itself to all stock_locations in an after_create
19
19
  # creating a product will automatically create a master variant
20
- product_1 = create(:product)
21
- product_2 = create(:product)
20
+ store = create(:store)
21
+ product_1 = create(:product, stores: [store])
22
+ product_2 = create(:product, stores: [store])
22
23
 
23
- stock_location.stock_items.where(variant_id: product_1.master_id).first.adjust_count_on_hand(10)
24
- stock_location.stock_items.where(variant_id: product_2.master_id).first.adjust_count_on_hand(20)
24
+ stock_location.stock_items.where(variant_id: product_1.master.id).first.adjust_count_on_hand(10)
25
+ stock_location.stock_items.where(variant_id: product_2.master.id).first.adjust_count_on_hand(20)
25
26
  end
26
27
  end
27
28
  end
@@ -8,6 +8,7 @@ FactoryBot.define do
8
8
  amount { 150.00 }
9
9
  currency { 'USD' }
10
10
  credit_type { create(:primary_credit_type) }
11
+ store { create(:store) }
11
12
  end
12
13
 
13
14
  factory :store_credits_order_without_user, class: Spree::Order do
@@ -12,5 +12,16 @@ FactoryBot.define do
12
12
  facebook { 'spreecommerce' }
13
13
  twitter { 'spreecommerce' }
14
14
  instagram { 'spreecommerce' }
15
+
16
+ trait :with_favicon do
17
+ transient do
18
+ filepath { Spree::Core::Engine.root.join('spec', 'fixtures', 'favicon.ico') }
19
+ image_type { 'image/x-icon' }
20
+ end
21
+
22
+ favicon_image do
23
+ Rack::Test::UploadedFile.new(filepath, image_type)
24
+ end
25
+ end
15
26
  end
16
27
  end
@@ -1,7 +1,9 @@
1
1
  FactoryBot.define do
2
2
  factory :taxon, class: Spree::Taxon do
3
3
  sequence(:name) { |n| "taxon_#{n}" }
4
- association(:taxonomy, strategy: :create)
4
+
5
+ association :taxonomy, strategy: :create
6
+ association :icon, factory: :taxon_image
5
7
  parent_id { taxonomy.root.id }
6
8
  end
7
9
  end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :taxon_image, class: Spree::TaxonImage do
3
+ before(:create) do |taxon_image|
4
+ taxon_image.attachment.attach(io: File.new(Spree::Core::Engine.root + 'spec/fixtures/thinking-cat.jpg'), filename: 'thinking-cat.jpg')
5
+ end
6
+ end
7
+ end
@@ -1,5 +1,6 @@
1
1
  FactoryBot.define do
2
2
  factory :taxonomy, class: Spree::Taxonomy do
3
3
  sequence(:name) { |n| "taxonomy_#{n}" }
4
+ store { Spree::Store.default }
4
5
  end
5
6
  end
@@ -15,8 +15,13 @@ FactoryBot.define do
15
15
  end
16
16
 
17
17
  factory :user_with_addresses, aliases: [:user_with_addreses] do
18
- ship_address
19
- bill_address
18
+ after(:create) do |user|
19
+ user.ship_address = create(:address, user: user)
20
+ user.bill_address = create(:address, user: user)
21
+ user.addresses << user.ship_address
22
+ user.addresses << user.bill_address
23
+ user.save
24
+ end
20
25
  end
21
26
  end
22
27
  end
@@ -12,7 +12,7 @@ FactoryBot.define do
12
12
  is_master { 0 }
13
13
  track_inventory { true }
14
14
 
15
- product { |p| p.association(:base_product) }
15
+ product { |p| p.association(:base_product, stores: [create(:store)]) }
16
16
  option_values { [create(:option_value)] }
17
17
 
18
18
  # ensure stock item will be created for this variant
@@ -20,7 +20,7 @@ FactoryBot.define do
20
20
 
21
21
  factory :variant do
22
22
  # on_hand 5
23
- product { |p| p.association(:product) }
23
+ product { |p| p.association(:product, stores: [create(:store)]) }
24
24
  end
25
25
 
26
26
  factory :master_variant do
@@ -1,78 +1,93 @@
1
1
  module Spree
2
2
  module TestingSupport
3
3
  module FlatpickrCapybara
4
- def fill_in_date_manually(label_text, with:)
4
+ def fill_in_date_manually(label_text, options = {})
5
5
  with_open_flatpickr(label_text) do |field|
6
- fill_in field[:id], with: with
6
+ fill_in field[:id], with: string_date(options)
7
7
  end
8
8
  end
9
9
 
10
- def fill_in_date_picker(label_text, with:)
10
+ def fill_in_date_picker(label_text, options = {})
11
+ if options[:hour].blank? && options[:minute].blank?
12
+ flatpickr_date_only(label_text, options)
13
+ else
14
+ flatpickr_date_time(label_text, options)
15
+ end
16
+ end
17
+
18
+ def fill_in_date_with_js(label_text, options = {})
19
+ date_field = find("input[id='#{label_text}']")
20
+ script = "document.querySelector('#{date_field}').flatpickr().setDate('#{string_date(options)}');"
21
+
22
+ page.execute_script(script)
23
+ end
24
+
25
+ private
26
+
27
+ def flatpickr_date_only(label_text, options = {})
11
28
  within_open_flatpickr(label_text) do
12
29
  within_flatpickr_months do
13
- fill_in_flatpickr_year(with.split('-')[0])
30
+ fill_in_flatpickr_year(options[:year].to_i)
31
+ sleep(0.25) # Pause to let JavaScript adjust the month selector in the flatpickr cal in relation to any related FROM...TO cal.
14
32
 
15
- select_flatpickr_month(with.split('-')[1])
33
+ select_flatpickr_month(options[:month].to_i)
34
+ sleep(0.25) # Pause to let JavaScript adjust the day selection area in the flatpickr cal in relation to any related FROM...TO cal.
16
35
 
17
- click_on_flatpickr_day(with.split('-')[2])
36
+ click_on_flatpickr_day(options[:day].to_i)
18
37
  end
19
38
  end
20
39
  end
21
40
 
22
- def fill_in_date_time_picker(label_text, with:)
41
+ def flatpickr_date_time(label_text, options = {})
23
42
  within_open_flatpickr(label_text) do
24
43
  within_flatpickr_months do
25
- fill_in_flatpickr_year(with.split('-')[0])
44
+ fill_in_flatpickr_year(options[:year].to_i)
45
+ sleep(0.25) # Pause to let JavaScript adjust the month selector in the flatpickr cal in relation to any related FROM...TO cal.
26
46
 
27
- select_flatpickr_month(with.split('-')[1])
47
+ select_flatpickr_month(options[:month].to_i)
48
+ sleep(0.25) # Pause to let JavaScript adjust the day selection area in the flatpickr cal in relation to any related FROM...TO cal.
28
49
 
29
- click_on_flatpickr_day(with.split('-')[2])
50
+ click_on_flatpickr_day(options[:day].to_i)
30
51
  end
31
52
 
32
53
  within_flatpickr_time do
33
- select_flatpickr_hour(with.split('-')[3])
34
-
35
- select_flatpickr_min(with.split('-')[4])
54
+ select_flatpickr_hour(options[:hour].to_i)
55
+ select_flatpickr_min(options[:minute].to_i)
36
56
  end
37
57
  end
38
58
  end
39
59
 
40
- def fill_in_date_with_js(label_text, with:)
41
- date_field = find("input[id='#{label_text}']")
42
- script = "document.querySelector('#{date_field}').flatpickr().setDate('#{with}');"
43
-
44
- page.execute_script(script)
45
- end
46
-
47
- private
48
-
49
60
  def with_open_flatpickr(label_text)
50
61
  field_label = find_field(id: label_text, type: :hidden)
51
62
 
52
63
  date_field = field_label.sibling('.flatpickr-alt-input')
53
- date_field.click # Open the widget
64
+ date_field.click # Open the flatpickr cal.
65
+ sleep(0.25) # Pause to let JavaScript populate DOM with an open flatpickr cal.
54
66
 
55
- yield(date_field)
67
+ yield(date_field) # Complete required action within the open flatpickr cal.
56
68
 
57
- date_field.send_keys :tab # Close the date picker widget
69
+ date_field.send_keys :tab # Close the date flatpickr cal.
70
+ sleep(0.25) # Pause to let JavaScript adjust any DOM values in relation to any related FROM...TO cal.
58
71
  end
59
72
 
60
- def within_open_flatpickr(label_text)
73
+ def within_open_flatpickr(label_text, &block)
61
74
  with_open_flatpickr(label_text) do
62
- within find(:xpath, "/html/body/div[contains(@class, 'flatpickr-calendar')]") { yield }
75
+ within find('.flatpickr-calendar.open', &block)
63
76
  end
64
77
  end
65
78
 
66
- def within_flatpickr_months
67
- within find('.flatpickr-months .flatpickr-month .flatpickr-current-month') { yield }
79
+ def within_flatpickr_months(&block)
80
+ within find('.flatpickr-months > .flatpickr-month > .flatpickr-current-month', &block)
68
81
  end
69
82
 
70
- def within_flatpickr_time
71
- within find('.flatpickr-time') { yield }
83
+ def within_flatpickr_time(&block)
84
+ within find('.flatpickr-time', &block)
72
85
  end
73
86
 
74
87
  def select_flatpickr_month(month)
75
- find("select.flatpickr-monthDropdown-months > option:nth-child(#{month.to_i})").select_option
88
+ accurate_month = (month.to_i - 1)
89
+
90
+ find("select.flatpickr-monthDropdown-months > option[value='#{accurate_month}']").select_option
76
91
  end
77
92
 
78
93
  def fill_in_flatpickr_year(year)
@@ -81,12 +96,12 @@ module Spree
81
96
 
82
97
  def click_on_flatpickr_day(day)
83
98
  within_flatpickr_days do
84
- find('span', text: day).click
99
+ find('.flatpickr-day:not(.prevMonthDay):not(.nextMonthDay)', text: day, exact_text: true).click
85
100
  end
86
101
  end
87
102
 
88
- def within_flatpickr_days
89
- within find('.flatpickr-innerContainer > .flatpickr-rContainer > .flatpickr-days') { yield }
103
+ def within_flatpickr_days(&block)
104
+ within find('.flatpickr-innerContainer > .flatpickr-rContainer > .flatpickr-days > .dayContainer', &block)
90
105
  end
91
106
 
92
107
  def select_flatpickr_hour(hour)
@@ -96,6 +111,14 @@ module Spree
96
111
  def select_flatpickr_min(min)
97
112
  find('input.flatpickr-minute').set(min)
98
113
  end
114
+
115
+ def string_date(options)
116
+ if options[:hour].present? && options[:minute].present?
117
+ "#{options[:year]}-#{options[:month]}-#{options[:day]}-#{options[:hour]}-#{options[:minute]}"
118
+ else
119
+ "#{options[:year]}-#{options[:month]}-#{options[:day]}"
120
+ end
121
+ end
99
122
  end
100
123
  end
101
124
  end
@@ -1,12 +1,12 @@
1
1
  class OrderWalkthrough
2
- def self.up_to(state)
3
- store = if Spree::Store.exists?
4
- # Ensure the default store is used
5
- Spree::Store.default || FactoryBot.create(:store, default: true)
6
- else
7
- # Create a default store
8
- FactoryBot.create(:store, default: true)
9
- end
2
+ def self.up_to(state, store = nil)
3
+ store ||= if Spree::Store.exists?
4
+ # Ensure the default store is used
5
+ Spree::Store.default || FactoryBot.create(:store, default: true)
6
+ else
7
+ # Create a default store
8
+ FactoryBot.create(:store, default: true)
9
+ end
10
10
 
11
11
  # A payment method must exist for an order to proceed through the Address state
12
12
  unless Spree::PaymentMethod.exists?
@@ -28,7 +28,7 @@ class OrderWalkthrough
28
28
  end
29
29
  end
30
30
 
31
- order = Spree::Order.create!(email: 'spree@example.com')
31
+ order = store.orders.create!(email: 'spree@example.com')
32
32
  add_line_item!(order)
33
33
  order.next!
34
34
 
data/lib/tasks/core.rake CHANGED
@@ -8,7 +8,7 @@ use rake db:load_file[/absolute/path/to/sample/filename.rb]}
8
8
  file = Pathname.new(args.file)
9
9
 
10
10
  puts "loading ruby #{file}"
11
- require file
11
+ load file
12
12
  end
13
13
 
14
14
  desc 'Loads fixtures from the the dir you specify using rake db:load_dir[loadfrom]'
Binary file
Binary file
data/spree_core.gemspec CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |s|
8
8
  s.version = Spree.version
9
9
  s.authors = ['Sean Schofield', 'Spark Solutions']
10
10
  s.email = 'hello@spreecommerce.org'
11
- s.summary = 'The bare bones necessary for Spree.'
12
- s.description = 'The bare bones necessary for Spree.'
11
+ s.summary = 'The bare bones necessary for Spree'
12
+ s.description = 'Spree Models, Helpers, Services and core libraries'
13
13
  s.homepage = 'https://spreecommerce.org'
14
14
  s.license = 'BSD-3-Clause'
15
15
 
@@ -26,8 +26,16 @@ Gem::Specification.new do |s|
26
26
  s.files = `git ls-files`.split("\n").reject { |f| f.match(/^spec/) && !f.match(/^spec\/fixtures/) }
27
27
  s.require_path = 'lib'
28
28
 
29
+ %w[
30
+ actionpack actionview activejob activemodel activerecord
31
+ activestorage activesupport railties
32
+ ].each do |rails_gem|
33
+ s.add_dependency rails_gem, '>= 5.2'
34
+ end
35
+
29
36
  s.add_dependency 'activemerchant', '~> 1.67'
30
37
  s.add_dependency 'acts_as_list', '>= 0.8'
38
+ s.add_dependency 'auto_strip_attributes', '~> 2.6'
31
39
  s.add_dependency 'awesome_nested_set', '~> 3.3', '>= 3.3.1'
32
40
  s.add_dependency 'carmen', '>= 1.0'
33
41
  s.add_dependency 'cancancan', '~> 3.2'
@@ -37,20 +45,13 @@ Gem::Specification.new do |s|
37
45
  s.add_dependency 'money', '~> 6.13'
38
46
  s.add_dependency 'monetize', '~> 1.9'
39
47
  s.add_dependency 'paranoia', '~> 2.4'
40
- s.add_dependency 'premailer-rails'
41
- s.add_dependency 'rails', '>= 5.2', '< 6.2'
42
48
  s.add_dependency 'ransack', '~> 2.3'
43
- s.add_dependency 'responders'
44
49
  s.add_dependency 'rexml'
45
50
  s.add_dependency 'state_machines-activerecord', '~> 0.6'
46
51
  s.add_dependency 'state_machines-activemodel', '~> 0.7'
47
52
  s.add_dependency 'stringex'
48
- s.add_dependency 'twitter_cldr', '>= 4.3'
49
- s.add_dependency 'sprockets', '~> 3.7'
50
- s.add_dependency 'sprockets-rails'
53
+ s.add_dependency 'validates_zipcode'
51
54
  s.add_dependency 'mini_magick', '~> 4.9', '>= 4.9.4'
52
55
  s.add_dependency 'image_processing', '~> 1.2'
53
56
  s.add_dependency 'active_storage_validations', '~> 0.9'
54
-
55
- s.add_development_dependency 'email_spec', '~> 2.2'
56
57
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.5
4
+ version: 4.3.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -9,8 +9,120 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-05-31 00:00:00.000000000 Z
12
+ date: 2021-08-11 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: actionpack
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '5.2'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '5.2'
28
+ - !ruby/object:Gem::Dependency
29
+ name: actionview
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '5.2'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '5.2'
42
+ - !ruby/object:Gem::Dependency
43
+ name: activejob
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '5.2'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '5.2'
56
+ - !ruby/object:Gem::Dependency
57
+ name: activemodel
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '5.2'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '5.2'
70
+ - !ruby/object:Gem::Dependency
71
+ name: activerecord
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '5.2'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '5.2'
84
+ - !ruby/object:Gem::Dependency
85
+ name: activestorage
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '5.2'
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '5.2'
98
+ - !ruby/object:Gem::Dependency
99
+ name: activesupport
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '5.2'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '5.2'
112
+ - !ruby/object:Gem::Dependency
113
+ name: railties
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '5.2'
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '5.2'
14
126
  - !ruby/object:Gem::Dependency
15
127
  name: activemerchant
16
128
  requirement: !ruby/object:Gem::Requirement
@@ -39,6 +151,20 @@ dependencies:
39
151
  - - ">="
40
152
  - !ruby/object:Gem::Version
41
153
  version: '0.8'
154
+ - !ruby/object:Gem::Dependency
155
+ name: auto_strip_attributes
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: '2.6'
161
+ type: :runtime
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: '2.6'
42
168
  - !ruby/object:Gem::Dependency
43
169
  name: awesome_nested_set
44
170
  requirement: !ruby/object:Gem::Requirement
@@ -177,40 +303,6 @@ dependencies:
177
303
  - - "~>"
178
304
  - !ruby/object:Gem::Version
179
305
  version: '2.4'
180
- - !ruby/object:Gem::Dependency
181
- name: premailer-rails
182
- requirement: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- version: '0'
187
- type: :runtime
188
- prerelease: false
189
- version_requirements: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - ">="
192
- - !ruby/object:Gem::Version
193
- version: '0'
194
- - !ruby/object:Gem::Dependency
195
- name: rails
196
- requirement: !ruby/object:Gem::Requirement
197
- requirements:
198
- - - ">="
199
- - !ruby/object:Gem::Version
200
- version: '5.2'
201
- - - "<"
202
- - !ruby/object:Gem::Version
203
- version: '6.2'
204
- type: :runtime
205
- prerelease: false
206
- version_requirements: !ruby/object:Gem::Requirement
207
- requirements:
208
- - - ">="
209
- - !ruby/object:Gem::Version
210
- version: '5.2'
211
- - - "<"
212
- - !ruby/object:Gem::Version
213
- version: '6.2'
214
306
  - !ruby/object:Gem::Dependency
215
307
  name: ransack
216
308
  requirement: !ruby/object:Gem::Requirement
@@ -225,20 +317,6 @@ dependencies:
225
317
  - - "~>"
226
318
  - !ruby/object:Gem::Version
227
319
  version: '2.3'
228
- - !ruby/object:Gem::Dependency
229
- name: responders
230
- requirement: !ruby/object:Gem::Requirement
231
- requirements:
232
- - - ">="
233
- - !ruby/object:Gem::Version
234
- version: '0'
235
- type: :runtime
236
- prerelease: false
237
- version_requirements: !ruby/object:Gem::Requirement
238
- requirements:
239
- - - ">="
240
- - !ruby/object:Gem::Version
241
- version: '0'
242
320
  - !ruby/object:Gem::Dependency
243
321
  name: rexml
244
322
  requirement: !ruby/object:Gem::Requirement
@@ -296,35 +374,7 @@ dependencies:
296
374
  - !ruby/object:Gem::Version
297
375
  version: '0'
298
376
  - !ruby/object:Gem::Dependency
299
- name: twitter_cldr
300
- requirement: !ruby/object:Gem::Requirement
301
- requirements:
302
- - - ">="
303
- - !ruby/object:Gem::Version
304
- version: '4.3'
305
- type: :runtime
306
- prerelease: false
307
- version_requirements: !ruby/object:Gem::Requirement
308
- requirements:
309
- - - ">="
310
- - !ruby/object:Gem::Version
311
- version: '4.3'
312
- - !ruby/object:Gem::Dependency
313
- name: sprockets
314
- requirement: !ruby/object:Gem::Requirement
315
- requirements:
316
- - - "~>"
317
- - !ruby/object:Gem::Version
318
- version: '3.7'
319
- type: :runtime
320
- prerelease: false
321
- version_requirements: !ruby/object:Gem::Requirement
322
- requirements:
323
- - - "~>"
324
- - !ruby/object:Gem::Version
325
- version: '3.7'
326
- - !ruby/object:Gem::Dependency
327
- name: sprockets-rails
377
+ name: validates_zipcode
328
378
  requirement: !ruby/object:Gem::Requirement
329
379
  requirements:
330
380
  - - ">="
@@ -385,21 +435,7 @@ dependencies:
385
435
  - - "~>"
386
436
  - !ruby/object:Gem::Version
387
437
  version: '0.9'
388
- - !ruby/object:Gem::Dependency
389
- name: email_spec
390
- requirement: !ruby/object:Gem::Requirement
391
- requirements:
392
- - - "~>"
393
- - !ruby/object:Gem::Version
394
- version: '2.2'
395
- type: :development
396
- prerelease: false
397
- version_requirements: !ruby/object:Gem::Requirement
398
- requirements:
399
- - - "~>"
400
- - !ruby/object:Gem::Version
401
- version: '2.2'
402
- description: The bare bones necessary for Spree.
438
+ description: Spree Models, Helpers, Services and core libraries
403
439
  email: hello@spreecommerce.org
404
440
  executables: []
405
441
  extensions: []
@@ -408,43 +444,41 @@ files:
408
444
  - Gemfile
409
445
  - LICENSE
410
446
  - Rakefile
411
- - app/assets/images/logo/spree_50.png
412
- - app/assets/images/noimage/large.png
413
- - app/assets/images/noimage/mini.png
414
- - app/assets/images/noimage/product.png
415
- - app/assets/images/noimage/small.png
416
- - app/assets/javascripts/spree.js
417
447
  - app/controllers/spree/base_controller.rb
418
- - app/controllers/spree/errors_controller.rb
448
+ - app/finders/concerns/spree/product_filterable.rb
419
449
  - app/finders/spree/addresses/find.rb
420
450
  - app/finders/spree/base_finder.rb
451
+ - app/finders/spree/cms_pages/find.rb
421
452
  - app/finders/spree/countries/find.rb
422
453
  - app/finders/spree/credit_cards/find.rb
423
454
  - app/finders/spree/line_items/find_by_variant.rb
455
+ - app/finders/spree/menus/find.rb
456
+ - app/finders/spree/option_values/find_available.rb
424
457
  - app/finders/spree/orders/find_complete.rb
425
458
  - app/finders/spree/orders/find_current.rb
459
+ - app/finders/spree/product_properties/find_available.rb
426
460
  - app/finders/spree/products/find.rb
461
+ - app/finders/spree/stores/find_current.rb
427
462
  - app/finders/spree/taxons/find.rb
428
463
  - app/finders/spree/variants/option_types_finder.rb
429
464
  - app/finders/spree/variants/visible_finder.rb
430
465
  - app/helpers/spree/base_helper.rb
431
466
  - app/helpers/spree/currency_helper.rb
432
467
  - app/helpers/spree/locale_helper.rb
433
- - app/helpers/spree/mail_helper.rb
434
468
  - app/helpers/spree/products_helper.rb
435
- - app/mailers/spree/base_mailer.rb
436
- - app/mailers/spree/order_mailer.rb
437
- - app/mailers/spree/reimbursement_mailer.rb
438
- - app/mailers/spree/shipment_mailer.rb
439
- - app/mailers/spree/test_mailer.rb
440
469
  - app/models/concerns/spree/adjustment_source.rb
441
470
  - app/models/concerns/spree/calculated_adjustments.rb
442
471
  - app/models/concerns/spree/default_price.rb
472
+ - app/models/concerns/spree/display_link.rb
443
473
  - app/models/concerns/spree/display_money.rb
474
+ - app/models/concerns/spree/filter_param.rb
475
+ - app/models/concerns/spree/memoized_data.rb
476
+ - app/models/concerns/spree/multi_store_resource.rb
444
477
  - app/models/concerns/spree/named_type.rb
445
478
  - app/models/concerns/spree/number_as_param.rb
446
479
  - app/models/concerns/spree/product_scopes.rb
447
480
  - app/models/concerns/spree/ransackable_attributes.rb
481
+ - app/models/concerns/spree/single_store_resource.rb
448
482
  - app/models/concerns/spree/user_address.rb
449
483
  - app/models/concerns/spree/user_methods.rb
450
484
  - app/models/concerns/spree/user_payment_source.rb
@@ -480,6 +514,17 @@ files:
480
514
  - app/models/spree/calculator/tiered_flat_rate.rb
481
515
  - app/models/spree/calculator/tiered_percent.rb
482
516
  - app/models/spree/classification.rb
517
+ - app/models/spree/cms/pages/feature_page.rb
518
+ - app/models/spree/cms/pages/homepage.rb
519
+ - app/models/spree/cms/pages/standard_page.rb
520
+ - app/models/spree/cms/sections/featured_article.rb
521
+ - app/models/spree/cms/sections/hero_image.rb
522
+ - app/models/spree/cms/sections/image_gallery.rb
523
+ - app/models/spree/cms/sections/product_carousel.rb
524
+ - app/models/spree/cms/sections/rich_text_content.rb
525
+ - app/models/spree/cms/sections/side_by_side_images.rb
526
+ - app/models/spree/cms_page.rb
527
+ - app/models/spree/cms_section.rb
483
528
  - app/models/spree/country.rb
484
529
  - app/models/spree/credit_card.rb
485
530
  - app/models/spree/customer_return.rb
@@ -488,12 +533,15 @@ files:
488
533
  - app/models/spree/gateway.rb
489
534
  - app/models/spree/gateway/bogus.rb
490
535
  - app/models/spree/gateway/bogus_simple.rb
536
+ - app/models/spree/icon.rb
491
537
  - app/models/spree/image.rb
492
538
  - app/models/spree/image/configuration/active_storage.rb
493
539
  - app/models/spree/inventory_unit.rb
494
540
  - app/models/spree/legacy_user.rb
495
541
  - app/models/spree/line_item.rb
496
542
  - app/models/spree/log_entry.rb
543
+ - app/models/spree/menu.rb
544
+ - app/models/spree/menu_item.rb
497
545
  - app/models/spree/option_type.rb
498
546
  - app/models/spree/option_type_prototype.rb
499
547
  - app/models/spree/option_value.rb
@@ -502,6 +550,7 @@ files:
502
550
  - app/models/spree/order/address_book.rb
503
551
  - app/models/spree/order/checkout.rb
504
552
  - app/models/spree/order/currency_updater.rb
553
+ - app/models/spree/order/emails.rb
505
554
  - app/models/spree/order/payments.rb
506
555
  - app/models/spree/order/store_credit.rb
507
556
  - app/models/spree/order_inventory.rb
@@ -618,17 +667,25 @@ files:
618
667
  - app/models/spree/store_credit_category.rb
619
668
  - app/models/spree/store_credit_event.rb
620
669
  - app/models/spree/store_credit_type.rb
670
+ - app/models/spree/store_payment_method.rb
671
+ - app/models/spree/store_product.rb
672
+ - app/models/spree/store_promotion.rb
621
673
  - app/models/spree/tax_category.rb
622
674
  - app/models/spree/tax_rate.rb
623
675
  - app/models/spree/taxon.rb
624
676
  - app/models/spree/taxon_image.rb
625
677
  - app/models/spree/taxon_image/configuration/active_storage.rb
626
678
  - app/models/spree/taxonomy.rb
627
- - app/models/spree/validations/db_maximum_length_validator.rb
628
679
  - app/models/spree/variant.rb
629
680
  - app/models/spree/zone.rb
630
681
  - app/models/spree/zone_member.rb
631
682
  - app/paginators/spree/shared/paginate.rb
683
+ - app/presenters/spree/filters/options_presenter.rb
684
+ - app/presenters/spree/filters/price_presenter.rb
685
+ - app/presenters/spree/filters/price_range_presenter.rb
686
+ - app/presenters/spree/filters/properties_presenter.rb
687
+ - app/presenters/spree/filters/property_presenter.rb
688
+ - app/presenters/spree/filters/quantified_price_range_presenter.rb
632
689
  - app/presenters/spree/product_summary_presenter.rb
633
690
  - app/presenters/spree/variant_presenter.rb
634
691
  - app/presenters/spree/variants/option_types_presenter.rb
@@ -636,9 +693,13 @@ files:
636
693
  - app/services/spree/account/addresses/create.rb
637
694
  - app/services/spree/account/addresses/helper.rb
638
695
  - app/services/spree/account/addresses/update.rb
696
+ - app/services/spree/account/create.rb
697
+ - app/services/spree/account/update.rb
639
698
  - app/services/spree/build_localized_redirect_url.rb
640
699
  - app/services/spree/cart/add_item.rb
641
700
  - app/services/spree/cart/create.rb
701
+ - app/services/spree/cart/destroy.rb
702
+ - app/services/spree/cart/empty.rb
642
703
  - app/services/spree/cart/estimate_shipping_rates.rb
643
704
  - app/services/spree/cart/recalculate.rb
644
705
  - app/services/spree/cart/remove_item.rb
@@ -652,45 +713,19 @@ files:
652
713
  - app/services/spree/checkout/next.rb
653
714
  - app/services/spree/checkout/remove_store_credit.rb
654
715
  - app/services/spree/checkout/update.rb
716
+ - app/services/spree/classifications/reposition.rb
655
717
  - app/services/spree/compare_line_items.rb
718
+ - app/services/spree/credit_cards/destroy.rb
656
719
  - app/services/spree/generate_token.rb
657
720
  - app/sorters/spree/base_sorter.rb
658
721
  - app/sorters/spree/orders/sort.rb
659
722
  - app/sorters/spree/products/sort.rb
660
723
  - app/validators/db_maximum_length_validator.rb
661
724
  - app/validators/email_validator.rb
662
- - app/views/layouts/spree/base_mailer.html.erb
663
- - app/views/spree/errors/forbidden.html.erb
664
- - app/views/spree/errors/unauthorized.html.erb
665
- - app/views/spree/order_mailer/cancel_email.html.erb
666
- - app/views/spree/order_mailer/cancel_email.text.erb
667
- - app/views/spree/order_mailer/confirm_email.html.erb
668
- - app/views/spree/order_mailer/confirm_email.text.erb
669
- - app/views/spree/order_mailer/store_owner_notification_email.html.erb
670
- - app/views/spree/order_mailer/store_owner_notification_email.text.erb
671
- - app/views/spree/reimbursement_mailer/reimbursement_email.html.erb
672
- - app/views/spree/reimbursement_mailer/reimbursement_email.text.erb
673
- - app/views/spree/shared/_base_mailer_footer.html.erb
674
- - app/views/spree/shared/_base_mailer_header.html.erb
675
- - app/views/spree/shared/_base_mailer_stylesheets.html.erb
676
- - app/views/spree/shared/_error_messages.html.erb
677
- - app/views/spree/shared/_mailer_line_item.html.erb
678
- - app/views/spree/shared/_paths.html.erb
679
- - app/views/spree/shared/_purchased_items_table.html.erb
680
- - app/views/spree/shared/purchased_items_table/_adjustment.html.erb
681
- - app/views/spree/shared/purchased_items_table/_line_item.html.erb
682
- - app/views/spree/shared/purchased_items_table/_subtotal.html.erb
683
- - app/views/spree/shared/purchased_items_table/_total.html.erb
684
- - app/views/spree/shipment_mailer/shipped_email.html.erb
685
- - app/views/spree/shipment_mailer/shipped_email.text.erb
686
- - app/views/spree/test_mailer/test_email.html.erb
687
- - app/views/spree/test_mailer/test_email.text.erb
725
+ - app/views/spree/shared/_purchased_items_table.text.erb
688
726
  - config/initializers/active_storage.rb
689
- - config/initializers/assets.rb
690
727
  - config/initializers/friendly_id.rb
691
728
  - config/initializers/inflections.rb
692
- - config/initializers/premailer_assets.rb
693
- - config/initializers/premailer_rails.rb
694
729
  - config/initializers/rails61_fixes.rb
695
730
  - config/initializers/state_machine.rb
696
731
  - config/locales/en.yml
@@ -877,7 +912,6 @@ files:
877
912
  - db/migrate/20140731150017_create_spree_reimbursement_types.rb
878
913
  - db/migrate/20140804185157_add_default_to_shipment_cost.rb
879
914
  - db/migrate/20140805171035_add_default_to_spree_credit_cards.rb
880
- - db/migrate/20140805171219_make_existing_credit_cards_default.rb
881
915
  - db/migrate/20140806144901_add_type_to_reimbursement_type.rb
882
916
  - db/migrate/20140808184039_create_spree_reimbursement_credits.rb
883
917
  - db/migrate/20140827170513_add_meta_title_to_spree_products.rb
@@ -983,6 +1017,7 @@ files:
983
1017
  - db/migrate/20201006110150_add_checkout_zone_field_to_store.rb
984
1018
  - db/migrate/20201012091259_add_filterable_column_to_spree_option_types.rb
985
1019
  - db/migrate/20201013084504_add_seo_robots_to_spree_stores.rb
1020
+ - db/migrate/20201023152810_add_filterable_to_spree_properties.rb
986
1021
  - db/migrate/20201127084048_add_default_country_kind_to_spree_zones.rb
987
1022
  - db/migrate/20210112193440_remove_contact_email_from_spree_stores.rb
988
1023
  - db/migrate/20210114182625_create_spree_payment_methods_stores.rb
@@ -991,6 +1026,24 @@ files:
991
1026
  - db/migrate/20210120142527_ensure_default_locale_in_spree_stores.rb
992
1027
  - db/migrate/20210205211040_add_supported_locales_to_spree_stores.rb
993
1028
  - db/migrate/20210215202602_migrate_spree_i18n_globalize_config.rb
1029
+ - db/migrate/20210407200948_create_spree_menus.rb
1030
+ - db/migrate/20210408092939_create_spree_menu_items.rb
1031
+ - db/migrate/20210504163720_add_filter_param_to_spree_product_properties.rb
1032
+ - db/migrate/20210505114659_add_filter_param_to_spree_properties.rb
1033
+ - db/migrate/20210512191732_create_spree_cms_pages.rb
1034
+ - db/migrate/20210514204251_create_spree_cms_sections.rb
1035
+ - db/migrate/20210527094055_create_spree_products_stores.rb
1036
+ - db/migrate/20210608045519_ensure_store_default_country_is_set.rb
1037
+ - db/migrate/20210702112334_add_missing_timestamp_columns.rb
1038
+ - db/migrate/20210713131614_add_unique_index_on_property_id_and_product_id_to_product_properties.rb
1039
+ - db/migrate/20210715091956_add_store_id_to_spree_store_credits.rb
1040
+ - db/migrate/20210716093151_add_store_id_to_spree_taxonomies.rb
1041
+ - db/migrate/20210716104141_add_index_on_name_parent_id_and_taxonomy_id_on_spree_taxons.rb
1042
+ - db/migrate/20210721120857_add_index_on_permalink_parent_id_and_taxonomy_id_on_spree_taxons.rb
1043
+ - db/migrate/20210721125657_create_spree_promotions_stores.rb
1044
+ - db/migrate/20210722090705_add_store_id_to_spree_customer_returns.rb
1045
+ - db/migrate/20210726065456_change_integer_id_columns_into_bigint.rb
1046
+ - db/migrate/20210730154425_fix_promotion_code_and_path_unique_indexes.rb
994
1047
  - db/seeds.rb
995
1048
  - lib/friendly_id/slug_rails5_patch.rb
996
1049
  - lib/generators/spree/custom_user/custom_user_generator.rb
@@ -998,7 +1051,6 @@ files:
998
1051
  - lib/generators/spree/custom_user/templates/initializer.rb.tt
999
1052
  - lib/generators/spree/custom_user/templates/migration.rb.tt
1000
1053
  - lib/generators/spree/dummy/dummy_generator.rb
1001
- - lib/generators/spree/dummy/templates/initializers/bullet.rb
1002
1054
  - lib/generators/spree/dummy/templates/initializers/devise.rb
1003
1055
  - lib/generators/spree/dummy/templates/rails/application.rb
1004
1056
  - lib/generators/spree/dummy/templates/rails/boot.rb
@@ -1011,15 +1063,6 @@ files:
1011
1063
  - lib/generators/spree/dummy_model/templates/model.rb.tt
1012
1064
  - lib/generators/spree/install/install_generator.rb
1013
1065
  - lib/generators/spree/install/templates/config/initializers/spree.rb
1014
- - lib/generators/spree/install/templates/vendor/assets/javascripts/spree/backend/all.js
1015
- - lib/generators/spree/install/templates/vendor/assets/javascripts/spree/frontend/all.js
1016
- - lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/backend/all.css
1017
- - lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/frontend/all.css
1018
- - lib/generators/spree/mailers_preview/mailers_preview_generator.rb
1019
- - lib/generators/spree/mailers_preview/templates/mailers/previews/order_preview.rb
1020
- - lib/generators/spree/mailers_preview/templates/mailers/previews/reimbursement_preview.rb
1021
- - lib/generators/spree/mailers_preview/templates/mailers/previews/shipment_preview.rb
1022
- - lib/generators/spree/mailers_preview/templates/mailers/previews/user_preview.rb
1023
1066
  - lib/spree/core.rb
1024
1067
  - lib/spree/core/components.rb
1025
1068
  - lib/spree/core/controller_helpers/auth.rb
@@ -1067,12 +1110,18 @@ files:
1067
1110
  - lib/spree/testing_support/factories/address_factory.rb
1068
1111
  - lib/spree/testing_support/factories/adjustment_factory.rb
1069
1112
  - lib/spree/testing_support/factories/calculator_factory.rb
1113
+ - lib/spree/testing_support/factories/classification_factory.rb
1114
+ - lib/spree/testing_support/factories/cms_page_factory.rb
1115
+ - lib/spree/testing_support/factories/cms_section_factory.rb
1070
1116
  - lib/spree/testing_support/factories/country_factory.rb
1071
1117
  - lib/spree/testing_support/factories/credit_card_factory.rb
1072
1118
  - lib/spree/testing_support/factories/customer_return_factory.rb
1119
+ - lib/spree/testing_support/factories/icon_factory.rb
1073
1120
  - lib/spree/testing_support/factories/image_factory.rb
1074
1121
  - lib/spree/testing_support/factories/inventory_unit_factory.rb
1075
1122
  - lib/spree/testing_support/factories/line_item_factory.rb
1123
+ - lib/spree/testing_support/factories/menu_factory.rb
1124
+ - lib/spree/testing_support/factories/menu_item_factory.rb
1076
1125
  - lib/spree/testing_support/factories/options_factory.rb
1077
1126
  - lib/spree/testing_support/factories/order_factory.rb
1078
1127
  - lib/spree/testing_support/factories/order_promotion_factory.rb
@@ -1109,6 +1158,7 @@ files:
1109
1158
  - lib/spree/testing_support/factories/tax_category_factory.rb
1110
1159
  - lib/spree/testing_support/factories/tax_rate_factory.rb
1111
1160
  - lib/spree/testing_support/factories/taxon_factory.rb
1161
+ - lib/spree/testing_support/factories/taxon_image_factory.rb
1112
1162
  - lib/spree/testing_support/factories/taxonomy_factory.rb
1113
1163
  - lib/spree/testing_support/factories/user_factory.rb
1114
1164
  - lib/spree/testing_support/factories/variant_factory.rb
@@ -1127,25 +1177,24 @@ files:
1127
1177
  - lib/spree/testing_support/url_helpers.rb
1128
1178
  - lib/spree_core.rb
1129
1179
  - lib/tasks/core.rake
1130
- - lib/tasks/email.rake
1131
1180
  - lib/tasks/exchanges.rake
1132
1181
  - script/rails
1182
+ - spec/fixtures/favicon.ico
1183
+ - spec/fixtures/files/icon_256x256.gif
1184
+ - spec/fixtures/files/icon_256x256.png
1185
+ - spec/fixtures/files/icon_512x512.png
1186
+ - spec/fixtures/files/img_256x128.png
1133
1187
  - spec/fixtures/text-file.txt
1134
1188
  - spec/fixtures/thinking-cat.jpg
1135
1189
  - spree_core.gemspec
1136
- - vendor/assets/javascripts/cleave.js
1137
- - vendor/assets/javascripts/fetch.umd.js
1138
- - vendor/assets/javascripts/jquery.payment.js
1139
- - vendor/assets/javascripts/jsuri.js
1140
- - vendor/assets/javascripts/polyfill.min.js
1141
1190
  homepage: https://spreecommerce.org
1142
1191
  licenses:
1143
1192
  - BSD-3-Clause
1144
1193
  metadata:
1145
1194
  bug_tracker_uri: https://github.com/spree/spree/issues
1146
- changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.5
1195
+ changelog_uri: https://github.com/spree/spree/releases/tag/v4.3.0.rc1
1147
1196
  documentation_uri: https://guides.spreecommerce.org/
1148
- source_code_uri: https://github.com/spree/spree/tree/v4.2.5
1197
+ source_code_uri: https://github.com/spree/spree/tree/v4.3.0.rc1
1149
1198
  post_install_message:
1150
1199
  rdoc_options: []
1151
1200
  require_paths:
@@ -1164,5 +1213,5 @@ requirements: []
1164
1213
  rubygems_version: 3.2.3
1165
1214
  signing_key:
1166
1215
  specification_version: 4
1167
- summary: The bare bones necessary for Spree.
1216
+ summary: The bare bones necessary for Spree
1168
1217
  test_files: []