spree_core 3.3.0.rc1 → 3.3.0.rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. checksums.yaml +4 -4
  2. data/app/helpers/spree/base_helper.rb +1 -1
  3. data/app/mailers/spree/base_mailer.rb +5 -0
  4. data/app/models/spree/ability.rb +4 -1
  5. data/app/models/spree/image.rb +6 -2
  6. data/app/models/spree/order.rb +10 -9
  7. data/app/models/spree/order/payments.rb +1 -1
  8. data/app/models/spree/payment_method/store_credit.rb +4 -0
  9. data/app/models/spree/shipment.rb +2 -0
  10. data/app/views/spree/shared/_base_mailer_header.html.erb +5 -1
  11. data/app/views/spree/shared/_mailer_line_item.html.erb +5 -1
  12. data/config/routes.rb +0 -3
  13. data/lib/spree/core/components.rb +17 -0
  14. data/lib/spree/core/controller_helpers/auth.rb +3 -1
  15. data/lib/spree/core/engine.rb +1 -0
  16. data/lib/spree/core/validators/email.rb +1 -5
  17. data/lib/spree/core/version.rb +1 -1
  18. data/spree_core.gemspec +1 -1
  19. metadata +4 -204
  20. data/lib/spree/testing_support/shoulda_matcher_configuration.rb +0 -6
  21. data/spec/fixtures/thinking-cat.jpg +0 -0
  22. data/spec/helpers/base_helper_spec.rb +0 -200
  23. data/spec/helpers/products_helper_spec.rb +0 -289
  24. data/spec/lib/calculated_adjustments_spec.rb +0 -7
  25. data/spec/lib/i18n_spec.rb +0 -123
  26. data/spec/lib/search/base_spec.rb +0 -86
  27. data/spec/lib/spree/core/controller_helpers/auth_spec.rb +0 -103
  28. data/spec/lib/spree/core/controller_helpers/order_spec.rb +0 -110
  29. data/spec/lib/spree/core/controller_helpers/search_spec.rb +0 -17
  30. data/spec/lib/spree/core/controller_helpers/store_spec.rb +0 -72
  31. data/spec/lib/spree/core/controller_helpers/strong_parameters_spec.rb +0 -39
  32. data/spec/lib/spree/core/delegate_belongs_to_spec.rb +0 -22
  33. data/spec/lib/spree/core/importer/order_spec.rb +0 -607
  34. data/spec/lib/spree/core/number_generator_spec.rb +0 -139
  35. data/spec/lib/spree/core/token_generator_spec.rb +0 -24
  36. data/spec/lib/spree/core/validators/email_spec.rb +0 -54
  37. data/spec/lib/spree/core_spec.rb +0 -23
  38. data/spec/lib/spree/localized_number_spec.rb +0 -54
  39. data/spec/lib/spree/migrations_spec.rb +0 -36
  40. data/spec/lib/spree/money_spec.rb +0 -122
  41. data/spec/lib/tasks/exchanges_spec.rb +0 -136
  42. data/spec/mailers/order_mailer_spec.rb +0 -122
  43. data/spec/mailers/reimbursement_mailer_spec.rb +0 -52
  44. data/spec/mailers/shipment_mailer_spec.rb +0 -81
  45. data/spec/mailers/test_mailer_spec.rb +0 -38
  46. data/spec/models/spree/ability_spec.rb +0 -251
  47. data/spec/models/spree/address_spec.rb +0 -402
  48. data/spec/models/spree/adjustable/adjuster/base_spec.rb +0 -10
  49. data/spec/models/spree/adjustable/adjuster/promotion_spec.rb +0 -211
  50. data/spec/models/spree/adjustable/adjuster/tax_spec.rb +0 -86
  51. data/spec/models/spree/adjustable/adjustments_updater_spec.rb +0 -26
  52. data/spec/models/spree/adjustment_spec.rb +0 -189
  53. data/spec/models/spree/app_configuration_spec.rb +0 -26
  54. data/spec/models/spree/asset_spec.rb +0 -28
  55. data/spec/models/spree/calculator/default_tax_spec.rb +0 -152
  56. data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +0 -25
  57. data/spec/models/spree/calculator/flat_rate_spec.rb +0 -47
  58. data/spec/models/spree/calculator/flexi_rate_spec.rb +0 -41
  59. data/spec/models/spree/calculator/percent_on_line_item_spec.rb +0 -15
  60. data/spec/models/spree/calculator/price_sack_spec.rb +0 -30
  61. data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +0 -47
  62. data/spec/models/spree/calculator/shipping.rb +0 -8
  63. data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +0 -23
  64. data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +0 -13
  65. data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +0 -52
  66. data/spec/models/spree/calculator/shipping/per_item_spec.rb +0 -20
  67. data/spec/models/spree/calculator/shipping/price_sack_spec.rb +0 -29
  68. data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +0 -40
  69. data/spec/models/spree/calculator/tiered_percent_spec.rb +0 -51
  70. data/spec/models/spree/calculator_spec.rb +0 -69
  71. data/spec/models/spree/classification_spec.rb +0 -93
  72. data/spec/models/spree/concerns/display_money_spec.rb +0 -43
  73. data/spec/models/spree/concerns/user_methods_spec.rb +0 -82
  74. data/spec/models/spree/concerns/vat_price_calculation_spec.rb +0 -66
  75. data/spec/models/spree/country_spec.rb +0 -55
  76. data/spec/models/spree/credit_card_spec.rb +0 -328
  77. data/spec/models/spree/customer_return_spec.rb +0 -240
  78. data/spec/models/spree/exchange_spec.rb +0 -75
  79. data/spec/models/spree/gateway/bogus_simple.rb +0 -20
  80. data/spec/models/spree/gateway/bogus_spec.rb +0 -13
  81. data/spec/models/spree/gateway_spec.rb +0 -61
  82. data/spec/models/spree/image_spec.rb +0 -8
  83. data/spec/models/spree/inventory_unit_spec.rb +0 -256
  84. data/spec/models/spree/line_item_spec.rb +0 -348
  85. data/spec/models/spree/option_type_prototype_spec.rb +0 -9
  86. data/spec/models/spree/option_type_spec.rb +0 -14
  87. data/spec/models/spree/option_value_spec.rb +0 -18
  88. data/spec/models/spree/order/address_spec.rb +0 -50
  89. data/spec/models/spree/order/adjustments_spec.rb +0 -29
  90. data/spec/models/spree/order/callbacks_spec.rb +0 -42
  91. data/spec/models/spree/order/checkout_spec.rb +0 -770
  92. data/spec/models/spree/order/currency_updater_spec.rb +0 -32
  93. data/spec/models/spree/order/finalizing_spec.rb +0 -114
  94. data/spec/models/spree/order/helpers_spec.rb +0 -5
  95. data/spec/models/spree/order/payment_spec.rb +0 -214
  96. data/spec/models/spree/order/risk_assessment_spec.rb +0 -84
  97. data/spec/models/spree/order/shipments_spec.rb +0 -43
  98. data/spec/models/spree/order/state_machine_spec.rb +0 -212
  99. data/spec/models/spree/order/store_credit_spec.rb +0 -457
  100. data/spec/models/spree/order/tax_spec.rb +0 -84
  101. data/spec/models/spree/order/totals_spec.rb +0 -24
  102. data/spec/models/spree/order/updating_spec.rb +0 -18
  103. data/spec/models/spree/order/validations_spec.rb +0 -15
  104. data/spec/models/spree/order_contents_spec.rb +0 -332
  105. data/spec/models/spree/order_inventory_spec.rb +0 -247
  106. data/spec/models/spree/order_merger_spec.rb +0 -135
  107. data/spec/models/spree/order_spec.rb +0 -1067
  108. data/spec/models/spree/order_updater_spec.rb +0 -305
  109. data/spec/models/spree/payment/gateway_options_spec.rb +0 -127
  110. data/spec/models/spree/payment/store_credit_spec.rb +0 -60
  111. data/spec/models/spree/payment_method/store_credit_spec.rb +0 -291
  112. data/spec/models/spree/payment_method_spec.rb +0 -108
  113. data/spec/models/spree/payment_spec.rb +0 -922
  114. data/spec/models/spree/preference_spec.rb +0 -80
  115. data/spec/models/spree/preferences/configuration_spec.rb +0 -30
  116. data/spec/models/spree/preferences/preferable_spec.rb +0 -344
  117. data/spec/models/spree/preferences/scoped_store_spec.rb +0 -58
  118. data/spec/models/spree/preferences/store_spec.rb +0 -46
  119. data/spec/models/spree/price_spec.rb +0 -128
  120. data/spec/models/spree/product/scopes_spec.rb +0 -174
  121. data/spec/models/spree/product_duplicator_spec.rb +0 -102
  122. data/spec/models/spree/product_filter_spec.rb +0 -26
  123. data/spec/models/spree/product_option_type_spec.rb +0 -9
  124. data/spec/models/spree/product_promotion_rule_spec.rb +0 -9
  125. data/spec/models/spree/product_property_spec.rb +0 -26
  126. data/spec/models/spree/product_spec.rb +0 -626
  127. data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +0 -113
  128. data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +0 -148
  129. data/spec/models/spree/promotion/actions/create_line_items_spec.rb +0 -86
  130. data/spec/models/spree/promotion/actions/free_shipping_spec.rb +0 -36
  131. data/spec/models/spree/promotion/rules/country_spec.rb +0 -36
  132. data/spec/models/spree/promotion/rules/first_order_spec.rb +0 -75
  133. data/spec/models/spree/promotion/rules/item_total_spec.rb +0 -282
  134. data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +0 -42
  135. data/spec/models/spree/promotion/rules/option_value_spec.rb +0 -90
  136. data/spec/models/spree/promotion/rules/product_spec.rb +0 -143
  137. data/spec/models/spree/promotion/rules/taxon_spec.rb +0 -102
  138. data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +0 -27
  139. data/spec/models/spree/promotion/rules/user_spec.rb +0 -45
  140. data/spec/models/spree/promotion_action_spec.rb +0 -10
  141. data/spec/models/spree/promotion_category_spec.rb +0 -17
  142. data/spec/models/spree/promotion_handler/cart_spec.rb +0 -102
  143. data/spec/models/spree/promotion_handler/coupon_spec.rb +0 -323
  144. data/spec/models/spree/promotion_handler/free_shipping_spec.rb +0 -48
  145. data/spec/models/spree/promotion_handler/page_spec.rb +0 -44
  146. data/spec/models/spree/promotion_rule_spec.rb +0 -29
  147. data/spec/models/spree/promotion_rule_taxon_spec.rb +0 -9
  148. data/spec/models/spree/promotion_rule_user_spec.rb +0 -9
  149. data/spec/models/spree/promotion_spec.rb +0 -674
  150. data/spec/models/spree/property_prototype_spec.rb +0 -9
  151. data/spec/models/spree/property_spec.rb +0 -5
  152. data/spec/models/spree/prototype_spec.rb +0 -5
  153. data/spec/models/spree/prototype_taxon_spec.rb +0 -9
  154. data/spec/models/spree/refund_reason_spec.rb +0 -20
  155. data/spec/models/spree/refund_spec.rb +0 -195
  156. data/spec/models/spree/reimbursement/credit_spec.rb +0 -36
  157. data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +0 -140
  158. data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +0 -83
  159. data/spec/models/spree/reimbursement_performer_spec.rb +0 -30
  160. data/spec/models/spree/reimbursement_spec.rb +0 -188
  161. data/spec/models/spree/reimbursement_tax_calculator_spec.rb +0 -63
  162. data/spec/models/spree/reimbursement_type/credit_spec.rb +0 -53
  163. data/spec/models/spree/reimbursement_type/exchange_spec.rb +0 -46
  164. data/spec/models/spree/reimbursement_type/original_payment_spec.rb +0 -55
  165. data/spec/models/spree/reimbursement_type/store_credit_spec.rb +0 -101
  166. data/spec/models/spree/return_authorization_reason_spec.rb +0 -7
  167. data/spec/models/spree/return_authorization_spec.rb +0 -230
  168. data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +0 -77
  169. data/spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb +0 -58
  170. data/spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb +0 -61
  171. data/spec/models/spree/return_item/eligibility_validator/order_completed_spec.rb +0 -32
  172. data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +0 -29
  173. data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +0 -35
  174. data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +0 -65
  175. data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +0 -43
  176. data/spec/models/spree/return_item_spec.rb +0 -734
  177. data/spec/models/spree/returns_calculator_spec.rb +0 -14
  178. data/spec/models/spree/role_spec.rb +0 -7
  179. data/spec/models/spree/shipment_spec.rb +0 -744
  180. data/spec/models/spree/shipping_calculator_spec.rb +0 -45
  181. data/spec/models/spree/shipping_category_spec.rb +0 -19
  182. data/spec/models/spree/shipping_method_spec.rb +0 -125
  183. data/spec/models/spree/shipping_rate_spec.rb +0 -140
  184. data/spec/models/spree/state_spec.rb +0 -29
  185. data/spec/models/spree/stock/availability_validator_spec.rb +0 -42
  186. data/spec/models/spree/stock/content_item_spec.rb +0 -31
  187. data/spec/models/spree/stock/coordinator_spec.rb +0 -61
  188. data/spec/models/spree/stock/differentiator_spec.rb +0 -39
  189. data/spec/models/spree/stock/estimator_spec.rb +0 -202
  190. data/spec/models/spree/stock/inventory_unit_builder_spec.rb +0 -37
  191. data/spec/models/spree/stock/package_spec.rb +0 -182
  192. data/spec/models/spree/stock/packer_spec.rb +0 -70
  193. data/spec/models/spree/stock/prioritizer_spec.rb +0 -125
  194. data/spec/models/spree/stock/quantifier_spec.rb +0 -126
  195. data/spec/models/spree/stock/splitter/backordered_spec.rb +0 -29
  196. data/spec/models/spree/stock/splitter/base_spec.rb +0 -21
  197. data/spec/models/spree/stock/splitter/shipping_category_spec.rb +0 -47
  198. data/spec/models/spree/stock/splitter/weight_spec.rb +0 -32
  199. data/spec/models/spree/stock_item_spec.rb +0 -465
  200. data/spec/models/spree/stock_location_spec.rb +0 -243
  201. data/spec/models/spree/stock_movement_spec.rb +0 -120
  202. data/spec/models/spree/stock_transfer_spec.rb +0 -50
  203. data/spec/models/spree/store_credit_event_spec.rb +0 -101
  204. data/spec/models/spree/store_credit_spec.rb +0 -798
  205. data/spec/models/spree/store_spec.rb +0 -78
  206. data/spec/models/spree/tax_category_spec.rb +0 -32
  207. data/spec/models/spree/tax_rate_spec.rb +0 -561
  208. data/spec/models/spree/taxon_spec.rb +0 -93
  209. data/spec/models/spree/taxonomy_spec.rb +0 -18
  210. data/spec/models/spree/tracker_spec.rb +0 -21
  211. data/spec/models/spree/user_spec.rb +0 -203
  212. data/spec/models/spree/variant_spec.rb +0 -818
  213. data/spec/models/spree/zone_member_spec.rb +0 -38
  214. data/spec/models/spree/zone_spec.rb +0 -472
  215. data/spec/spec_helper.rb +0 -82
  216. data/spec/support/big_decimal.rb +0 -5
  217. data/spec/support/concerns/adjustment_source.rb +0 -23
  218. data/spec/support/concerns/default_price.rb +0 -37
  219. data/spec/support/rake.rb +0 -13
  220. data/spec/support/test_gateway.rb +0 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0c9fdf952e713bfe4540fa0cc02c50e0b0d1d463
4
- data.tar.gz: fe6f1d0bc7723acc565b94ea5b846ede4836c3bc
3
+ metadata.gz: 233dee0431dd5bf0e9ed17b562f2cdc4319ed57b
4
+ data.tar.gz: 7d4f772e323db20a0a0f786c493047ba6af720dc
5
5
  SHA512:
6
- metadata.gz: d08fd7351e39b0bf4201ddcb1203bbd79cd793d4c9b65a5af2f42e3455f9e5a3019fcc9cb2d67cb5d9022b6b903e6c261cb5a10a6e5928e462d19e07a864cef1
7
- data.tar.gz: ed488419461ff914b3175e55e99857c8776e9359495f7c69c935cabd13ef491e9752a8cb01daccd083e9252eba222afcf1b9000705be1d0cb21c616878bfaf1a
6
+ metadata.gz: 9bb2478b50519381c872f5ff3954edf622e6ee16a289c1570dc413341f683b85d87819a7cccb393481d4471544be96b9ee19fe2f7221bf05dc945938d1a343a5
7
+ data.tar.gz: 4dcb5617c69eada1bb9a869237643316a3fc1c349f05a966b38c7199464287f7f288088b594807ddf0fe01e58e236132d02a053f21155717f1a87e7ac96ee7e5
@@ -34,7 +34,7 @@ module Spree
34
34
  end
35
35
 
36
36
  def logo(image_path=Spree::Config[:logo])
37
- link_to image_tag(image_path), spree.root_path
37
+ link_to image_tag(image_path), spree.respond_to?(:root_path) ? spree.root_path : main_app.root_path
38
38
  end
39
39
 
40
40
  def meta_data
@@ -9,6 +9,11 @@ module Spree
9
9
  end
10
10
  helper_method :money
11
11
 
12
+ def frontend_available?
13
+ Spree::Core::Engine.frontend_available?
14
+ end
15
+ helper_method :frontend_available?
16
+
12
17
  def mail(headers = {}, &block)
13
18
  ensure_default_action_mailer_url_host
14
19
  super if Spree::Config[:send_core_emails]
@@ -43,9 +43,12 @@ module Spree
43
43
  can :display, OptionType
44
44
  can :display, OptionValue
45
45
  can :create, Order
46
- can [:read, :update], Order do |order, token|
46
+ can :read, Order do |order, token|
47
47
  order.user == user || order.guest_token && token == order.guest_token
48
48
  end
49
+ can :update, Order do |order, token|
50
+ !order.completed? && (order.user == user || order.guest_token && token == order.guest_token)
51
+ end
49
52
  can :display, CreditCard, user_id: user.id
50
53
  can :display, Product
51
54
  can :display, ProductProperty
@@ -2,6 +2,10 @@ module Spree
2
2
  class Image < Asset
3
3
  validate :no_attachment_errors
4
4
 
5
+ def self.accepted_image_types
6
+ %w(image/jpeg image/jpg image/png image/gif)
7
+ end
8
+
5
9
  has_attached_file :attachment,
6
10
  styles: { mini: '48x48>', small: '100x100>', product: '240x240>', large: '600x600>' },
7
11
  default_style: :product,
@@ -10,11 +14,11 @@ module Spree
10
14
  convert_options: { all: '-strip -auto-orient -colorspace sRGB' }
11
15
  validates_attachment :attachment,
12
16
  presence: true,
13
- content_type: { content_type: %w(image/jpeg image/jpg image/png image/gif) }
17
+ content_type: { content_type: accepted_image_types }
14
18
 
15
19
  # save the w,h of the original image (from which others can be calculated)
16
20
  # we need to look at the write-queue for images which have not been saved yet
17
- before_save :find_dimensions, if: :saved_change_to_attachment_updated_at?
21
+ before_save :find_dimensions, if: :attachment_updated_at_changed?
18
22
 
19
23
  #used by admin products autocomplete
20
24
  def mini_url
@@ -12,7 +12,7 @@ module Spree
12
12
  include Spree::Order::StoreCredit
13
13
  include Spree::Core::NumberGenerator.new(prefix: 'R')
14
14
  include Spree::Core::TokenGenerator
15
-
15
+
16
16
  include NumberAsParam
17
17
 
18
18
  extend Spree::DisplayMoney
@@ -184,7 +184,7 @@ module Spree
184
184
  end
185
185
 
186
186
  def shipping_discount
187
- shipment_adjustments.eligible.sum(:amount) * - 1
187
+ shipment_adjustments.non_tax.eligible.sum(:amount) * - 1
188
188
  end
189
189
 
190
190
  def completed?
@@ -324,13 +324,10 @@ module Spree
324
324
  def outstanding_balance
325
325
  if canceled?
326
326
  -1 * payment_total
327
- elsif !reimbursements.includes(:refunds).empty?
328
- reimbursed = reimbursements.includes(:refunds).inject(0) do |sum, reimbursement|
329
- sum + reimbursement.refunds.sum(:amount)
330
- end
331
- # If reimbursement has happened add it back to total to prevent balance_due payment state
332
- # See: https://github.com/spree/spree/issues/6229
333
- total - (payment_total + reimbursed)
327
+ elsif refunds.exists?
328
+ # If refund has happened add it back to total to prevent balance_due payment state
329
+ # See: https://github.com/spree/spree/issues/6229 & https://github.com/spree/spree/issues/8136
330
+ total - (payment_total + refunds.sum(:amount))
334
331
  else
335
332
  total - payment_total
336
333
  end
@@ -607,6 +604,10 @@ module Spree
607
604
  payments.offset_payment.exists? # how old versions of spree stored refunds
608
605
  end
609
606
 
607
+ def collect_backend_payment_methods
608
+ PaymentMethod.available_on_back_end.select { |pm| pm.available_for_order?(self) }
609
+ end
610
+
610
611
  # determines whether the inventory is fully discounted
611
612
  #
612
613
  # Returns
@@ -52,7 +52,7 @@ module Spree
52
52
 
53
53
  payment.public_send(method)
54
54
 
55
- if payment.completed?
55
+ if payment.completed? && payment_total != total
56
56
  self.payment_total += payment.amount
57
57
  end
58
58
  end
@@ -93,6 +93,10 @@ module Spree
93
93
  true
94
94
  end
95
95
 
96
+ def available_for_order?(order)
97
+ order.could_use_store_credit?
98
+ end
99
+
96
100
  private
97
101
 
98
102
  def handle_action_call(store_credit, action, action_name, auth_code = nil)
@@ -126,6 +126,7 @@ module Spree
126
126
  alias discounted_amount discounted_cost
127
127
 
128
128
  def editable_by?(_user)
129
+ warn "`Spree::Shipment#editable_by?` is deprecated. You should use cancancan `can?` method for cheks like this."
129
130
  !shipped?
130
131
  end
131
132
 
@@ -400,6 +401,7 @@ module Spree
400
401
  end
401
402
 
402
403
  def send_shipped_email
404
+ warn "Shipment#send_shipped_email is deprecated, please use ShipmentHandler#send_shipped_email"
403
405
  ShipmentMailer.shipped_email(id).deliver_later
404
406
  end
405
407
 
@@ -11,7 +11,11 @@
11
11
  <table class="twelve columns">
12
12
  <tr>
13
13
  <td class="twelve sub-columns last">
14
- <%= link_to spree.root_url, class: 'template-label' do %>
14
+ <% if frontend_available? %>
15
+ <%= link_to spree.root_url, class: 'template-label' do %>
16
+ <%= image_tag Spree::Config.logo, class: 'logo', alt: Spree::Store.current.name, title: Spree::Store.current.name %>
17
+ <% end %>
18
+ <% else %>
15
19
  <%= image_tag Spree::Config.logo, class: 'logo', alt: Spree::Store.current.name, title: Spree::Store.current.name %>
16
20
  <% end %>
17
21
  </td>
@@ -1,7 +1,11 @@
1
1
  <tr>
2
2
  <td class="six sub-columns">
3
3
  <strong>
4
- <%= link_to raw(line_item.variant.product.name), spree.product_url(line_item.variant.product) %>
4
+ <% if frontend_available? %>
5
+ <%= link_to raw(line_item.variant.product.name), spree.product_url(line_item.variant.product) %>
6
+ <% else %>
7
+ <%= raw(line_item.variant.product.name) %>
8
+ <% end %>
5
9
  </strong>
6
10
  <%= raw(line_item.variant.options_text) -%>
7
11
  (<%= line_item.variant.sku %>)
data/config/routes.rb CHANGED
@@ -1,8 +1,5 @@
1
1
  Spree::Core::Engine.add_routes do
2
2
  get '/forbidden', to: 'home#forbidden', as: :forbidden
3
- # those routes are needed for mailers
4
- root to: 'home#index'
5
- resources :products, only: [:index, :show]
6
3
  end
7
4
 
8
5
  Spree::Core::Engine.draw_routes
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Core
3
+ class Engine < ::Rails::Engine
4
+ def self.api_available?
5
+ @@api_available ||= ::Rails::Engine.subclasses.map(&:instance).map{ |e| e.class.to_s }.include?('Spree::Api::Engine')
6
+ end
7
+
8
+ def self.backend_available?
9
+ @@backend_available ||= ::Rails::Engine.subclasses.map(&:instance).map{ |e| e.class.to_s }.include?('Spree::Backend::Engine')
10
+ end
11
+
12
+ def self.frontend_available?
13
+ @@frontend_available ||= ::Rails::Engine.subclasses.map(&:instance).map{ |e| e.class.to_s }.include?('Spree::Frontend::Engine')
14
+ end
15
+ end
16
+ end
17
+ end
@@ -72,8 +72,10 @@ module Spree
72
72
  store_location
73
73
  if respond_to?(:spree_login_path)
74
74
  redirect_to spree_login_path
75
+ elsif spree.respond_to?(:root_path)
76
+ redirect_to spree.root_path
75
77
  else
76
- redirect_to spree.respond_to?(:root_path) ? spree.root_path : main_app.root_path
78
+ redirect_to main_app.respond_to?(:root_path) ? main_app.root_path : '/'
77
79
  end
78
80
  end
79
81
  end
@@ -133,3 +133,4 @@ module Spree
133
133
  end
134
134
 
135
135
  require 'spree/core/routes'
136
+ require 'spree/core/components'
@@ -1,10 +1,6 @@
1
1
  class EmailValidator < ActiveModel::EachValidator
2
2
  def validate_each(record, attribute, value)
3
- unless value =~ %r{\A(([A-Za-z0-9]+_+)|
4
- ([A-Za-z0-9]+\-+)|
5
- ([A-Za-z0-9]+\.+)|
6
- ([A-Za-z0-9]+\++))*[A-Za-z0-9_]+@((\w+\-+)|
7
- (\w+\.))*\w{1,63}\.[a-zA-Z]{2,15}\z}xi
3
+ unless value =~ /\A[^@\s]+@[^@\s]+\z/
8
4
  record.errors.add(attribute, :invalid, { value: value }.merge!(options))
9
5
  end
10
6
  end
@@ -1,5 +1,5 @@
1
1
  module Spree
2
2
  def self.version
3
- "3.3.0.rc1"
3
+ "3.3.0.rc2"
4
4
  end
5
5
  end
data/spree_core.gemspec CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.homepage = 'http://spreecommerce.com'
18
18
  s.license = 'BSD-3-Clause'
19
19
 
20
- s.files = `git ls-files`.split("\n")
20
+ s.files = `git ls-files`.split("\n").reject { |f| f.match(/^spec/) }
21
21
  s.require_path = 'lib'
22
22
 
23
23
  s.add_dependency 'activemerchant', '~> 1.67'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0.rc1
4
+ version: 3.3.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-02 00:00:00.000000000 Z
11
+ date: 2017-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant
@@ -855,6 +855,7 @@ files:
855
855
  - lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/backend/all.css
856
856
  - lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/frontend/all.css
857
857
  - lib/spree/core.rb
858
+ - lib/spree/core/components.rb
858
859
  - lib/spree/core/controller_helpers/auth.rb
859
860
  - lib/spree/core/controller_helpers/common.rb
860
861
  - lib/spree/core/controller_helpers/order.rb
@@ -953,213 +954,12 @@ files:
953
954
  - lib/spree/testing_support/microdata.rb
954
955
  - lib/spree/testing_support/order_walkthrough.rb
955
956
  - lib/spree/testing_support/preferences.rb
956
- - lib/spree/testing_support/shoulda_matcher_configuration.rb
957
957
  - lib/spree/testing_support/url_helpers.rb
958
958
  - lib/spree_core.rb
959
959
  - lib/tasks/core.rake
960
960
  - lib/tasks/email.rake
961
961
  - lib/tasks/exchanges.rake
962
962
  - script/rails
963
- - spec/fixtures/thinking-cat.jpg
964
- - spec/helpers/base_helper_spec.rb
965
- - spec/helpers/products_helper_spec.rb
966
- - spec/lib/calculated_adjustments_spec.rb
967
- - spec/lib/i18n_spec.rb
968
- - spec/lib/search/base_spec.rb
969
- - spec/lib/spree/core/controller_helpers/auth_spec.rb
970
- - spec/lib/spree/core/controller_helpers/order_spec.rb
971
- - spec/lib/spree/core/controller_helpers/search_spec.rb
972
- - spec/lib/spree/core/controller_helpers/store_spec.rb
973
- - spec/lib/spree/core/controller_helpers/strong_parameters_spec.rb
974
- - spec/lib/spree/core/delegate_belongs_to_spec.rb
975
- - spec/lib/spree/core/importer/order_spec.rb
976
- - spec/lib/spree/core/number_generator_spec.rb
977
- - spec/lib/spree/core/token_generator_spec.rb
978
- - spec/lib/spree/core/validators/email_spec.rb
979
- - spec/lib/spree/core_spec.rb
980
- - spec/lib/spree/localized_number_spec.rb
981
- - spec/lib/spree/migrations_spec.rb
982
- - spec/lib/spree/money_spec.rb
983
- - spec/lib/tasks/exchanges_spec.rb
984
- - spec/mailers/order_mailer_spec.rb
985
- - spec/mailers/reimbursement_mailer_spec.rb
986
- - spec/mailers/shipment_mailer_spec.rb
987
- - spec/mailers/test_mailer_spec.rb
988
- - spec/models/spree/ability_spec.rb
989
- - spec/models/spree/address_spec.rb
990
- - spec/models/spree/adjustable/adjuster/base_spec.rb
991
- - spec/models/spree/adjustable/adjuster/promotion_spec.rb
992
- - spec/models/spree/adjustable/adjuster/tax_spec.rb
993
- - spec/models/spree/adjustable/adjustments_updater_spec.rb
994
- - spec/models/spree/adjustment_spec.rb
995
- - spec/models/spree/app_configuration_spec.rb
996
- - spec/models/spree/asset_spec.rb
997
- - spec/models/spree/calculator/default_tax_spec.rb
998
- - spec/models/spree/calculator/flat_percent_item_total_spec.rb
999
- - spec/models/spree/calculator/flat_rate_spec.rb
1000
- - spec/models/spree/calculator/flexi_rate_spec.rb
1001
- - spec/models/spree/calculator/percent_on_line_item_spec.rb
1002
- - spec/models/spree/calculator/price_sack_spec.rb
1003
- - spec/models/spree/calculator/refunds/default_refund_amount_spec.rb
1004
- - spec/models/spree/calculator/shipping.rb
1005
- - spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
1006
- - spec/models/spree/calculator/shipping/flat_rate_spec.rb
1007
- - spec/models/spree/calculator/shipping/flexi_rate_spec.rb
1008
- - spec/models/spree/calculator/shipping/per_item_spec.rb
1009
- - spec/models/spree/calculator/shipping/price_sack_spec.rb
1010
- - spec/models/spree/calculator/tiered_flat_rate_spec.rb
1011
- - spec/models/spree/calculator/tiered_percent_spec.rb
1012
- - spec/models/spree/calculator_spec.rb
1013
- - spec/models/spree/classification_spec.rb
1014
- - spec/models/spree/concerns/display_money_spec.rb
1015
- - spec/models/spree/concerns/user_methods_spec.rb
1016
- - spec/models/spree/concerns/vat_price_calculation_spec.rb
1017
- - spec/models/spree/country_spec.rb
1018
- - spec/models/spree/credit_card_spec.rb
1019
- - spec/models/spree/customer_return_spec.rb
1020
- - spec/models/spree/exchange_spec.rb
1021
- - spec/models/spree/gateway/bogus_simple.rb
1022
- - spec/models/spree/gateway/bogus_spec.rb
1023
- - spec/models/spree/gateway_spec.rb
1024
- - spec/models/spree/image_spec.rb
1025
- - spec/models/spree/inventory_unit_spec.rb
1026
- - spec/models/spree/line_item_spec.rb
1027
- - spec/models/spree/option_type_prototype_spec.rb
1028
- - spec/models/spree/option_type_spec.rb
1029
- - spec/models/spree/option_value_spec.rb
1030
- - spec/models/spree/order/address_spec.rb
1031
- - spec/models/spree/order/adjustments_spec.rb
1032
- - spec/models/spree/order/callbacks_spec.rb
1033
- - spec/models/spree/order/checkout_spec.rb
1034
- - spec/models/spree/order/currency_updater_spec.rb
1035
- - spec/models/spree/order/finalizing_spec.rb
1036
- - spec/models/spree/order/helpers_spec.rb
1037
- - spec/models/spree/order/payment_spec.rb
1038
- - spec/models/spree/order/risk_assessment_spec.rb
1039
- - spec/models/spree/order/shipments_spec.rb
1040
- - spec/models/spree/order/state_machine_spec.rb
1041
- - spec/models/spree/order/store_credit_spec.rb
1042
- - spec/models/spree/order/tax_spec.rb
1043
- - spec/models/spree/order/totals_spec.rb
1044
- - spec/models/spree/order/updating_spec.rb
1045
- - spec/models/spree/order/validations_spec.rb
1046
- - spec/models/spree/order_contents_spec.rb
1047
- - spec/models/spree/order_inventory_spec.rb
1048
- - spec/models/spree/order_merger_spec.rb
1049
- - spec/models/spree/order_spec.rb
1050
- - spec/models/spree/order_updater_spec.rb
1051
- - spec/models/spree/payment/gateway_options_spec.rb
1052
- - spec/models/spree/payment/store_credit_spec.rb
1053
- - spec/models/spree/payment_method/store_credit_spec.rb
1054
- - spec/models/spree/payment_method_spec.rb
1055
- - spec/models/spree/payment_spec.rb
1056
- - spec/models/spree/preference_spec.rb
1057
- - spec/models/spree/preferences/configuration_spec.rb
1058
- - spec/models/spree/preferences/preferable_spec.rb
1059
- - spec/models/spree/preferences/scoped_store_spec.rb
1060
- - spec/models/spree/preferences/store_spec.rb
1061
- - spec/models/spree/price_spec.rb
1062
- - spec/models/spree/product/scopes_spec.rb
1063
- - spec/models/spree/product_duplicator_spec.rb
1064
- - spec/models/spree/product_filter_spec.rb
1065
- - spec/models/spree/product_option_type_spec.rb
1066
- - spec/models/spree/product_promotion_rule_spec.rb
1067
- - spec/models/spree/product_property_spec.rb
1068
- - spec/models/spree/product_spec.rb
1069
- - spec/models/spree/promotion/actions/create_adjustment_spec.rb
1070
- - spec/models/spree/promotion/actions/create_item_adjustments_spec.rb
1071
- - spec/models/spree/promotion/actions/create_line_items_spec.rb
1072
- - spec/models/spree/promotion/actions/free_shipping_spec.rb
1073
- - spec/models/spree/promotion/rules/country_spec.rb
1074
- - spec/models/spree/promotion/rules/first_order_spec.rb
1075
- - spec/models/spree/promotion/rules/item_total_spec.rb
1076
- - spec/models/spree/promotion/rules/one_use_per_user_spec.rb
1077
- - spec/models/spree/promotion/rules/option_value_spec.rb
1078
- - spec/models/spree/promotion/rules/product_spec.rb
1079
- - spec/models/spree/promotion/rules/taxon_spec.rb
1080
- - spec/models/spree/promotion/rules/user_logged_in_spec.rb
1081
- - spec/models/spree/promotion/rules/user_spec.rb
1082
- - spec/models/spree/promotion_action_spec.rb
1083
- - spec/models/spree/promotion_category_spec.rb
1084
- - spec/models/spree/promotion_handler/cart_spec.rb
1085
- - spec/models/spree/promotion_handler/coupon_spec.rb
1086
- - spec/models/spree/promotion_handler/free_shipping_spec.rb
1087
- - spec/models/spree/promotion_handler/page_spec.rb
1088
- - spec/models/spree/promotion_rule_spec.rb
1089
- - spec/models/spree/promotion_rule_taxon_spec.rb
1090
- - spec/models/spree/promotion_rule_user_spec.rb
1091
- - spec/models/spree/promotion_spec.rb
1092
- - spec/models/spree/property_prototype_spec.rb
1093
- - spec/models/spree/property_spec.rb
1094
- - spec/models/spree/prototype_spec.rb
1095
- - spec/models/spree/prototype_taxon_spec.rb
1096
- - spec/models/spree/refund_reason_spec.rb
1097
- - spec/models/spree/refund_spec.rb
1098
- - spec/models/spree/reimbursement/credit_spec.rb
1099
- - spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb
1100
- - spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb
1101
- - spec/models/spree/reimbursement_performer_spec.rb
1102
- - spec/models/spree/reimbursement_spec.rb
1103
- - spec/models/spree/reimbursement_tax_calculator_spec.rb
1104
- - spec/models/spree/reimbursement_type/credit_spec.rb
1105
- - spec/models/spree/reimbursement_type/exchange_spec.rb
1106
- - spec/models/spree/reimbursement_type/original_payment_spec.rb
1107
- - spec/models/spree/reimbursement_type/store_credit_spec.rb
1108
- - spec/models/spree/return_authorization_reason_spec.rb
1109
- - spec/models/spree/return_authorization_spec.rb
1110
- - spec/models/spree/return_item/eligibility_validator/default_spec.rb
1111
- - spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb
1112
- - spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb
1113
- - spec/models/spree/return_item/eligibility_validator/order_completed_spec.rb
1114
- - spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb
1115
- - spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb
1116
- - spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb
1117
- - spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb
1118
- - spec/models/spree/return_item_spec.rb
1119
- - spec/models/spree/returns_calculator_spec.rb
1120
- - spec/models/spree/role_spec.rb
1121
- - spec/models/spree/shipment_spec.rb
1122
- - spec/models/spree/shipping_calculator_spec.rb
1123
- - spec/models/spree/shipping_category_spec.rb
1124
- - spec/models/spree/shipping_method_spec.rb
1125
- - spec/models/spree/shipping_rate_spec.rb
1126
- - spec/models/spree/state_spec.rb
1127
- - spec/models/spree/stock/availability_validator_spec.rb
1128
- - spec/models/spree/stock/content_item_spec.rb
1129
- - spec/models/spree/stock/coordinator_spec.rb
1130
- - spec/models/spree/stock/differentiator_spec.rb
1131
- - spec/models/spree/stock/estimator_spec.rb
1132
- - spec/models/spree/stock/inventory_unit_builder_spec.rb
1133
- - spec/models/spree/stock/package_spec.rb
1134
- - spec/models/spree/stock/packer_spec.rb
1135
- - spec/models/spree/stock/prioritizer_spec.rb
1136
- - spec/models/spree/stock/quantifier_spec.rb
1137
- - spec/models/spree/stock/splitter/backordered_spec.rb
1138
- - spec/models/spree/stock/splitter/base_spec.rb
1139
- - spec/models/spree/stock/splitter/shipping_category_spec.rb
1140
- - spec/models/spree/stock/splitter/weight_spec.rb
1141
- - spec/models/spree/stock_item_spec.rb
1142
- - spec/models/spree/stock_location_spec.rb
1143
- - spec/models/spree/stock_movement_spec.rb
1144
- - spec/models/spree/stock_transfer_spec.rb
1145
- - spec/models/spree/store_credit_event_spec.rb
1146
- - spec/models/spree/store_credit_spec.rb
1147
- - spec/models/spree/store_spec.rb
1148
- - spec/models/spree/tax_category_spec.rb
1149
- - spec/models/spree/tax_rate_spec.rb
1150
- - spec/models/spree/taxon_spec.rb
1151
- - spec/models/spree/taxonomy_spec.rb
1152
- - spec/models/spree/tracker_spec.rb
1153
- - spec/models/spree/user_spec.rb
1154
- - spec/models/spree/variant_spec.rb
1155
- - spec/models/spree/zone_member_spec.rb
1156
- - spec/models/spree/zone_spec.rb
1157
- - spec/spec_helper.rb
1158
- - spec/support/big_decimal.rb
1159
- - spec/support/concerns/adjustment_source.rb
1160
- - spec/support/concerns/default_price.rb
1161
- - spec/support/rake.rb
1162
- - spec/support/test_gateway.rb
1163
963
  - spree_core.gemspec
1164
964
  - vendor/assets/javascripts/jquery-migrate-1.0.0.js
1165
965
  - vendor/assets/javascripts/jquery.payment.js
@@ -1186,7 +986,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1186
986
  version: 1.8.23
1187
987
  requirements: []
1188
988
  rubyforge_project:
1189
- rubygems_version: 2.6.12
989
+ rubygems_version: 2.6.10
1190
990
  signing_key:
1191
991
  specification_version: 4
1192
992
  summary: The bare bones necessary for Spree.