spree_core 3.3.0.rc1 → 3.3.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
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.