spree_core 2.2.14 → 2.3.0

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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/{spree.js.coffee → spree.js.coffee.erb} +11 -2
  3. data/app/controllers/spree/base_controller.rb +1 -0
  4. data/app/helpers/spree/base_helper.rb +5 -6
  5. data/app/helpers/spree/orders_helper.rb +4 -0
  6. data/app/helpers/spree/products_helper.rb +8 -7
  7. data/app/mailers/spree/base_mailer.rb +2 -2
  8. data/app/mailers/spree/order_mailer.rb +2 -2
  9. data/app/mailers/spree/shipment_mailer.rb +1 -1
  10. data/app/mailers/spree/test_mailer.rb +1 -1
  11. data/app/models/spree/ability.rb +15 -16
  12. data/app/models/spree/address.rb +3 -6
  13. data/app/models/spree/adjustment.rb +2 -2
  14. data/app/models/spree/alert.rb +1 -1
  15. data/app/models/spree/app_configuration.rb +17 -20
  16. data/app/models/spree/asset.rb +2 -2
  17. data/app/models/spree/base.rb +9 -0
  18. data/app/models/spree/calculator.rb +1 -1
  19. data/app/models/spree/calculator/flat_rate.rb +1 -1
  20. data/app/models/spree/calculator/flexi_rate.rb +1 -1
  21. data/app/models/spree/calculator/price_sack.rb +1 -3
  22. data/app/models/spree/calculator/shipping/flat_rate.rb +1 -1
  23. data/app/models/spree/calculator/shipping/flexi_rate.rb +1 -1
  24. data/app/models/spree/calculator/shipping/per_item.rb +1 -1
  25. data/app/models/spree/calculator/shipping/price_sack.rb +1 -3
  26. data/app/models/spree/classification.rb +1 -1
  27. data/app/models/spree/configuration.rb +1 -1
  28. data/app/models/spree/country.rb +1 -1
  29. data/app/models/spree/credit_card.rb +8 -12
  30. data/app/models/spree/gateway.rb +0 -3
  31. data/app/models/spree/gateway/bogus.rb +2 -3
  32. data/app/models/spree/image.rb +3 -1
  33. data/app/models/spree/inventory_unit.rb +5 -6
  34. data/app/models/spree/item_adjustments.rb +3 -4
  35. data/app/models/spree/legacy_user.rb +1 -1
  36. data/app/models/spree/line_item.rb +6 -13
  37. data/app/models/spree/log_entry.rb +1 -1
  38. data/app/models/spree/option_type.rb +1 -1
  39. data/app/models/spree/option_value.rb +1 -3
  40. data/app/models/spree/order.rb +52 -70
  41. data/app/models/spree/order/checkout.rb +17 -10
  42. data/app/models/spree/order/currency_updater.rb +1 -1
  43. data/app/models/spree/order_contents.rb +7 -4
  44. data/app/models/spree/order_populator.rb +1 -1
  45. data/app/models/spree/order_updater.rb +8 -21
  46. data/app/models/spree/payment.rb +26 -12
  47. data/app/models/spree/payment/processing.rb +5 -16
  48. data/app/models/spree/payment_capture_event.rb +1 -1
  49. data/app/models/spree/payment_method.rb +2 -2
  50. data/app/models/spree/payment_method/check.rb +0 -2
  51. data/app/models/spree/preference.rb +1 -31
  52. data/app/models/spree/preferences/configuration.rb +2 -6
  53. data/app/models/spree/preferences/preferable.rb +46 -74
  54. data/app/models/spree/preferences/preferable_class_methods.rb +11 -46
  55. data/app/models/spree/preferences/scoped_store.rb +33 -0
  56. data/app/models/spree/preferences/store.rb +8 -7
  57. data/app/models/spree/price.rb +1 -3
  58. data/app/models/spree/product.rb +59 -87
  59. data/app/models/spree/product/scopes.rb +22 -13
  60. data/app/models/spree/product_option_type.rb +1 -1
  61. data/app/models/spree/product_property.rb +1 -3
  62. data/app/models/spree/product_scope/scopes.rb +1 -1
  63. data/app/models/spree/promotion.rb +4 -5
  64. data/app/models/spree/promotion/actions/create_adjustment.rb +11 -2
  65. data/app/models/spree/promotion/actions/create_item_adjustments.rb +19 -2
  66. data/app/models/spree/promotion/actions/create_line_items.rb +2 -12
  67. data/app/models/spree/promotion/rules/user.rb +5 -1
  68. data/app/models/spree/promotion_action.rb +1 -1
  69. data/app/models/spree/promotion_action_line_item.rb +1 -1
  70. data/app/models/spree/promotion_handler/cart.rb +2 -14
  71. data/app/models/spree/promotion_handler/coupon.rb +3 -13
  72. data/app/models/spree/promotion_rule.rb +1 -1
  73. data/app/models/spree/property.rb +1 -3
  74. data/app/models/spree/prototype.rb +1 -1
  75. data/app/models/spree/return_authorization.rb +4 -10
  76. data/app/models/spree/role.rb +1 -1
  77. data/app/models/spree/shipment.rb +1 -9
  78. data/app/models/spree/shipping_category.rb +3 -3
  79. data/app/models/spree/shipping_method.rb +1 -1
  80. data/app/models/spree/shipping_method_category.rb +2 -2
  81. data/app/models/spree/shipping_rate.rb +3 -3
  82. data/app/models/spree/state.rb +1 -1
  83. data/app/models/spree/state_change.rb +1 -1
  84. data/app/models/spree/stock/availability_validator.rb +7 -3
  85. data/app/models/spree/stock/package.rb +0 -23
  86. data/app/models/spree/stock/splitter/backordered.rb +1 -1
  87. data/app/models/spree/stock/splitter/shipping_category.rb +1 -1
  88. data/app/models/spree/stock/splitter/weight.rb +1 -1
  89. data/app/models/spree/stock_item.rb +7 -10
  90. data/app/models/spree/stock_location.rb +2 -6
  91. data/app/models/spree/stock_movement.rb +1 -3
  92. data/app/models/spree/stock_transfer.rb +1 -3
  93. data/app/models/spree/store.rb +33 -0
  94. data/app/models/spree/tax_category.rb +2 -2
  95. data/app/models/spree/tax_rate.rb +21 -52
  96. data/app/models/spree/taxon.rb +9 -8
  97. data/app/models/spree/taxonomy.rb +1 -1
  98. data/app/models/spree/tracker.rb +1 -1
  99. data/app/models/spree/variant.rb +13 -15
  100. data/app/models/spree/variant/scopes.rb +1 -1
  101. data/app/models/spree/zone.rb +22 -22
  102. data/app/models/spree/zone_member.rb +2 -2
  103. data/config/initializers/user_class_extensions.rb +0 -8
  104. data/config/locales/en.yml +7 -42
  105. data/db/default/spree/countries.rb +2 -3
  106. data/db/default/spree/stores.rb +9 -0
  107. data/db/migrate/20130611054351_rename_shipping_methods_zones_to_spree_shipping_methods_zones.rb +0 -5
  108. data/db/migrate/20130807024301_upgrade_adjustments.rb +4 -5
  109. data/db/migrate/20130807024302_rename_adjustment_fields.rb +5 -2
  110. data/db/migrate/20131118183431_add_line_item_id_to_spree_inventory_units.rb +1 -1
  111. data/db/migrate/20140106065820_remove_value_type_from_spree_preferences.rb +8 -0
  112. data/db/migrate/20140227112348_add_preference_store_to_everything.rb +8 -0
  113. data/db/migrate/20140309023735_migrate_old_preferences.rb +23 -0
  114. data/db/migrate/20140309024355_create_spree_stores.rb +25 -0
  115. data/db/migrate/20140309033438_create_store_from_preferences.rb +30 -0
  116. data/db/migrate/20140315053743_add_timestamps_to_spree_assets.rb +6 -0
  117. data/db/migrate/20140331100557_add_additional_store_fields.rb +8 -0
  118. data/db/migrate/20140410141842_add_many_missing_indexes.rb +18 -0
  119. data/db/migrate/20140410150358_correct_some_polymorphic_index_and_add_more_missing.rb +66 -0
  120. data/db/migrate/20140508151342_change_spree_price_amount_precision.rb +1 -1
  121. data/db/migrate/20140518174634_add_token_to_spree_orders.rb +5 -0
  122. data/db/migrate/20140530024945_move_order_token_from_tokenized_permission.rb +29 -0
  123. data/db/migrate/20140601011216_set_shipment_total_for_users_upgrading.rb +5 -3
  124. data/db/migrate/20140604135309_drop_credit_card_first_name_and_last_name.rb +6 -0
  125. data/lib/generators/spree/dummy/dummy_generator.rb +1 -0
  126. data/lib/generators/spree/dummy/templates/initializers/devise.rb +3 -0
  127. data/lib/generators/spree/dummy/templates/rails/routes.rb +0 -1
  128. data/lib/generators/spree/install/install_generator.rb +8 -17
  129. data/lib/generators/spree/install/templates/config/initializers/spree.rb +2 -2
  130. data/lib/spree/core.rb +13 -9
  131. data/lib/spree/core/calculated_adjustments.rb +1 -1
  132. data/lib/spree/core/controller_helpers/auth.rb +27 -18
  133. data/lib/spree/core/controller_helpers/common.rb +2 -2
  134. data/lib/spree/core/controller_helpers/order.rb +15 -24
  135. data/lib/spree/core/controller_helpers/store.rb +19 -0
  136. data/lib/spree/core/delegate_belongs_to.rb +2 -2
  137. data/lib/spree/core/engine.rb +0 -10
  138. data/lib/spree/core/importer.rb +1 -0
  139. data/lib/spree/core/importer/order.rb +16 -44
  140. data/lib/spree/core/importer/product.rb +62 -0
  141. data/lib/spree/core/product_filters.rb +0 -4
  142. data/lib/spree/core/routes.rb +4 -6
  143. data/lib/spree/core/validators/email.rb +23 -1
  144. data/lib/spree/core/version.rb +1 -1
  145. data/lib/spree/money.rb +1 -169
  146. data/lib/spree/permitted_attributes.rb +6 -4
  147. data/lib/spree/testing_support/authorization_helpers.rb +23 -21
  148. data/lib/spree/testing_support/capybara_ext.rb +11 -21
  149. data/lib/spree/testing_support/common_rake.rb +3 -1
  150. data/lib/spree/testing_support/controller_requests.rb +0 -2
  151. data/lib/spree/testing_support/factories/credit_card_factory.rb +1 -1
  152. data/lib/spree/testing_support/factories/line_item_factory.rb +4 -1
  153. data/lib/spree/testing_support/factories/order_factory.rb +5 -4
  154. data/lib/spree/testing_support/factories/product_factory.rb +0 -4
  155. data/lib/spree/testing_support/factories/promotion_factory.rb +5 -7
  156. data/lib/spree/testing_support/factories/shipment_factory.rb +0 -1
  157. data/lib/spree/testing_support/factories/stock_factory.rb +2 -2
  158. data/lib/spree/testing_support/factories/store_factory.rb +8 -0
  159. data/lib/spree/testing_support/preferences.rb +3 -3
  160. data/lib/tasks/core.rake +2 -2
  161. metadata +48 -39
  162. data/app/models/spree/stock/order_counter.rb +0 -55
  163. data/app/models/spree/tokenized_permission.rb +0 -6
  164. data/app/views/spree/shared/_routes.html.erb +0 -13
  165. data/db/migrate/20140804185157_add_default_to_shipment_cost.rb +0 -10
  166. data/db/migrate/20141021194502_add_state_lock_version_to_order.rb +0 -5
  167. data/lib/spree/core/adjustment_source.rb +0 -26
  168. data/lib/spree/core/mail_interceptor.rb +0 -22
  169. data/lib/spree/core/mail_method.rb +0 -27
  170. data/lib/spree/core/mail_settings.rb +0 -55
  171. data/lib/spree/core/ransackable_attributes.rb +0 -15
  172. data/lib/spree/core/token_resource.rb +0 -27
@@ -18,6 +18,7 @@ module Spree
18
18
  :stock_item_attributes,
19
19
  :stock_location_attributes,
20
20
  :stock_movement_attributes,
21
+ :store_attributes,
21
22
  :taxon_attributes,
22
23
  :taxonomy_attributes,
23
24
  :user_attributes,
@@ -27,16 +28,14 @@ module Spree
27
28
  mattr_reader *ATTRIBUTES
28
29
 
29
30
  @@address_attributes = [
30
- :id, :firstname, :lastname, :address1, :address2,
31
+ :firstname, :lastname, :address1, :address2,
31
32
  :city, :country_id, :state_id, :zipcode, :phone,
32
33
  :state_name, :alternative_phone, :company,
33
34
  :country => [:iso, :name, :iso3, :iso_name],
34
35
  :state => [:name, :abbr]
35
36
  ]
36
37
 
37
- @@checkout_attributes = [
38
- :coupon_code, :email, :shipping_method_id, :special_instructions, :use_billing
39
- ]
38
+ @@checkout_attributes = [:email, :use_billing, :shipping_method_id, :coupon_code, :special_instructions]
40
39
 
41
40
  @@image_attributes = [:alt, :attachment, :position, :viewable_type, :viewable_id]
42
41
 
@@ -83,6 +82,9 @@ module Spree
83
82
  @@stock_movement_attributes = [
84
83
  :quantity, :stock_item, :stock_item_id, :originator, :action]
85
84
 
85
+ @@store_attributes = [:name, :url, :seo_title, :meta_keywords,
86
+ :meta_description, :default_currency]
87
+
86
88
  @@taxonomy_attributes = [:name]
87
89
 
88
90
  @@taxon_attributes = [
@@ -1,46 +1,48 @@
1
1
  module Spree
2
2
  module TestingSupport
3
3
  module AuthorizationHelpers
4
- module Controller
5
- def stub_authorization!
6
- before do
7
- controller.stub :authorize! => true
4
+ module CustomAbility
5
+ def build_ability(&block)
6
+ block ||= proc{ |u| can :manage, :all }
7
+ Class.new do
8
+ include CanCan::Ability
9
+ define_method(:initialize, block)
8
10
  end
9
11
  end
10
12
  end
11
13
 
12
- module Request
13
- class SuperAbility
14
- include CanCan::Ability
14
+ module Controller
15
+ include CustomAbility
15
16
 
16
- def initialize(user)
17
- # allow anyone to perform anything on anything
18
- can :manage, :all
17
+ def stub_authorization!(&block)
18
+ ability_class = build_ability(&block)
19
+ before do
20
+ allow(controller).to receive(:current_ability).and_return{ ability_class.new(nil) }
19
21
  end
20
22
  end
23
+ end
24
+
25
+ module Request
26
+ include CustomAbility
21
27
 
22
28
  def stub_authorization!
29
+ ability = build_ability
30
+
23
31
  after(:all) do
24
- ability = Spree::TestingSupport::AuthorizationHelpers::Request::SuperAbility
25
32
  Spree::Ability.remove_ability(ability)
26
33
  end
34
+
27
35
  before(:all) do
28
- ability = Spree::TestingSupport::AuthorizationHelpers::Request::SuperAbility
29
36
  Spree::Ability.register_ability(ability)
30
37
  end
31
38
 
32
39
  before do
33
- allow(Spree.user_class).to receive(:find_by).
34
- with(hash_including(:spree_api_key)).
35
- and_return(Spree.user_class.new)
40
+ allow_any_instance_of(Api::BaseController).to receive(:try_spree_current_user).and_return(Spree.user_class.new)
36
41
  end
37
42
  end
38
43
 
39
44
  def custom_authorization!(&block)
40
- ability = Class.new do
41
- include CanCan::Ability
42
- define_method(:initialize, block)
43
- end
45
+ ability = build_ability(&block)
44
46
  after(:all) do
45
47
  Spree::Ability.remove_ability(ability)
46
48
  end
@@ -54,6 +56,6 @@ module Spree
54
56
  end
55
57
 
56
58
  RSpec.configure do |config|
57
- config.extend Spree::TestingSupport::AuthorizationHelpers::Controller, type: :controller
58
- config.extend Spree::TestingSupport::AuthorizationHelpers::Request, type: :feature
59
+ config.extend Spree::TestingSupport::AuthorizationHelpers::Controller, :type => :controller
60
+ config.extend Spree::TestingSupport::AuthorizationHelpers::Request, :type => :feature
59
61
  end
@@ -13,7 +13,7 @@ module CapybaraExt
13
13
  end
14
14
 
15
15
  def within_row(num, &block)
16
- if RSpec.current_example.metadata[:js]
16
+ if example.metadata[:js]
17
17
  within("table.index tbody tr:nth-child(#{num})", &block)
18
18
  else
19
19
  within(:xpath, all("table.index tbody tr")[num-1].path, &block)
@@ -21,7 +21,7 @@ module CapybaraExt
21
21
  end
22
22
 
23
23
  def column_text(num)
24
- if RSpec.current_example.metadata[:js]
24
+ if example.metadata[:js]
25
25
  find("td:nth-child(#{num})").text
26
26
  else
27
27
  all("td")[num-1].text
@@ -111,25 +111,15 @@ module CapybaraExt
111
111
  end
112
112
 
113
113
  def accept_alert
114
- if page.driver === Capybara::Selenium::Driver
115
- yield
116
- page.driver.browser.switch_to.alert.accept
117
- else
118
- page.evaluate_script('window.confirm = function() { return true; }')
119
- yield
120
- end
114
+ page.evaluate_script('window.confirm = function() { return true; }')
115
+ yield
121
116
  end
122
- def dismiss_alert
123
- if page.driver === Capybara::Selenium::Driver
124
- yield
125
- page.driver.browser.switch_to.alert.dismiss
126
- else
127
- page.evaluate_script('window.confirm = function() { return false; }')
128
- yield
129
117
 
130
- # Restore existing default
131
- page.evaluate_script('window.confirm = function() { return true; }')
132
- end
118
+ def dismiss_alert
119
+ page.evaluate_script('window.confirm = function() { return false; }')
120
+ yield
121
+ # Restore existing default
122
+ page.evaluate_script('window.confirm = function() { return true; }')
133
123
  end
134
124
  end
135
125
 
@@ -143,7 +133,7 @@ RSpec::Matchers.define :have_meta do |name, expected|
143
133
  has_css?("meta[name='#{name}'][content='#{expected}']", visible: false)
144
134
  end
145
135
 
146
- failure_message do |actual|
136
+ failure_message_for_should do |actual|
147
137
  actual = first("meta[name='#{name}']")
148
138
  if actual
149
139
  "expected that meta #{name} would have content='#{expected}' but was '#{actual[:content]}'"
@@ -158,7 +148,7 @@ RSpec::Matchers.define :have_title do |expected|
158
148
  has_css?("title", :text => expected, visible: false)
159
149
  end
160
150
 
161
- failure_message do |actual|
151
+ failure_message_for_should do |actual|
162
152
  actual = first("title")
163
153
  if actual
164
154
  "expected that title would have been '#{expected}' but was '#{actual.text}'"
@@ -10,11 +10,13 @@ namespace :common do
10
10
  args.with_defaults(:user_class => "Spree::LegacyUser")
11
11
  require "#{ENV['LIB_NAME']}"
12
12
 
13
+ ENV["RAILS_ENV"] = 'test'
14
+
13
15
  Spree::DummyGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", "--quiet"]
14
16
  Spree::InstallGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", "--auto-accept", "--migrate=false", "--seed=false", "--sample=false", "--quiet", "--user_class=#{args[:user_class]}"]
15
17
 
16
18
  puts "Setting up dummy database..."
17
- cmd = "bundle exec rake db:drop db:create db:migrate db:test:prepare"
19
+ cmd = "bundle exec rake db:drop db:create db:migrate"
18
20
 
19
21
  if RUBY_PLATFORM =~ /mswin/ #windows
20
22
  cmd += " >nul"
@@ -77,5 +77,3 @@ module Spree
77
77
  end
78
78
  end
79
79
  end
80
-
81
-
@@ -2,7 +2,7 @@ FactoryGirl.define do
2
2
  factory :credit_card, class: Spree::CreditCard do
3
3
  verification_value 123
4
4
  month 12
5
- year { 1.year.from_now.year }
5
+ year { Time.now.year }
6
6
  number '4111111111111111'
7
7
  name 'Spree Commerce'
8
8
  end
@@ -3,6 +3,9 @@ FactoryGirl.define do
3
3
  quantity 1
4
4
  price { BigDecimal.new('10.00') }
5
5
  order
6
- variant
6
+ ignore do
7
+ association :product
8
+ end
9
+ variant{ product.master }
7
10
  end
8
11
  end
@@ -16,7 +16,7 @@ FactoryGirl.define do
16
16
  bill_address
17
17
  ship_address
18
18
 
19
- transient do
19
+ ignore do
20
20
  line_items_count 5
21
21
  end
22
22
 
@@ -47,25 +47,26 @@ FactoryGirl.define do
47
47
  factory :order_ready_to_ship do
48
48
  payment_state 'paid'
49
49
  shipment_state 'ready'
50
+
50
51
  after(:create) do |order|
51
52
  create(:payment, amount: order.total, order: order, state: 'completed')
52
53
  order.shipments.each do |shipment|
53
- shipment.inventory_units.each { |u| u.update_column('state', 'on_hand') }
54
+ shipment.inventory_units.update_all state: 'on_hand'
54
55
  shipment.update_column('state', 'ready')
55
56
  end
56
57
  order.reload
57
58
  end
59
+
58
60
  factory :shipped_order do
59
61
  after(:create) do |order|
60
62
  order.shipments.each do |shipment|
61
- shipment.inventory_units.each { |u| u.update_column('state', 'shipped') }
63
+ shipment.inventory_units.update_all state: 'shipped'
62
64
  shipment.update_column('state', 'shipped')
63
65
  end
64
66
  order.reload
65
67
  end
66
68
  end
67
69
  end
68
-
69
70
  end
70
71
  end
71
72
  end
@@ -12,10 +12,6 @@ FactoryGirl.define do
12
12
  # ensure stock item will be created for this products master
13
13
  before(:create) { create(:stock_location) if Spree::StockLocation.count == 0 }
14
14
 
15
- after(:create) do |p|
16
- p.variants_including_master.each { |v| v.save! }
17
- end
18
-
19
15
  factory :custom_product do
20
16
  name 'Custom Product'
21
17
  price 17.99
@@ -3,22 +3,20 @@ FactoryGirl.define do
3
3
  name 'Promo'
4
4
 
5
5
  trait :with_line_item_adjustment do
6
- transient do
6
+ ignore do
7
7
  adjustment_rate 10
8
8
  end
9
9
 
10
10
  after(:create) do |promotion, evaluator|
11
11
  calculator = Spree::Calculator::FlatRate.new
12
12
  calculator.preferred_amount = evaluator.adjustment_rate
13
- action = Spree::Promotion::Actions::CreateItemAdjustments.create(:calculator => calculator)
14
- promotion.actions << action
15
- promotion.save
13
+ Spree::Promotion::Actions::CreateItemAdjustments.create!(calculator: calculator, promotion: promotion)
16
14
  end
17
15
  end
18
16
  factory :promotion_with_item_adjustment, traits: [:with_line_item_adjustment]
19
17
 
20
18
  trait :with_order_adjustment do
21
- transient do
19
+ ignore do
22
20
  order_adjustment_amount 10
23
21
  end
24
22
 
@@ -32,13 +30,13 @@ FactoryGirl.define do
32
30
  end
33
31
 
34
32
  trait :with_item_total_rule do
35
- transient do
33
+ ignore do
36
34
  item_total_threshold_amount 10
37
35
  end
38
36
 
39
37
  after(:create) do |promotion, evaluator|
40
38
  rule = Spree::Promotion::Rules::ItemTotal.create!(
41
- preferred_operator: 'gte',
39
+ preferred_operator: 'gte',
42
40
  preferred_amount: evaluator.item_total_threshold_amount
43
41
  )
44
42
  promotion.rules << rule
@@ -5,7 +5,6 @@ FactoryGirl.define do
5
5
  cost 100.00
6
6
  state 'pending'
7
7
  order
8
- address
9
8
  stock_location
10
9
 
11
10
  after(:create) do |shipment, evalulator|
@@ -1,7 +1,7 @@
1
1
  FactoryGirl.define do
2
2
  # must use build()
3
3
  factory :stock_packer, class: Spree::Stock::Packer do
4
- transient do
4
+ ignore do
5
5
  stock_location { build(:stock_location) }
6
6
  contents []
7
7
  end
@@ -10,7 +10,7 @@ FactoryGirl.define do
10
10
  end
11
11
 
12
12
  factory :stock_package, class: Spree::Stock::Package do
13
- transient do
13
+ ignore do
14
14
  stock_location { build(:stock_location) }
15
15
  order { create(:order_with_line_items, line_items_count: 2) }
16
16
  contents []
@@ -0,0 +1,8 @@
1
+ FactoryGirl.define do
2
+ factory :store, class: Spree::Store do
3
+ sequence(:code) { |i| "spree_#{i}" }
4
+ name 'Spree Test Store'
5
+ url 'www.example.com'
6
+ mail_from_address 'spree@example.org'
7
+ end
8
+ end
@@ -5,7 +5,7 @@ module Spree
5
5
  # pass a block to override the defaults with a block
6
6
  #
7
7
  # reset_spree_preferences do |config|
8
- # config.site_name = "my fancy pants store"
8
+ # config.track_inventory_levels = false
9
9
  # end
10
10
  #
11
11
  def reset_spree_preferences(&config_block)
@@ -22,8 +22,8 @@ module Spree
22
22
  end
23
23
 
24
24
  def assert_preference_unset(preference)
25
- find("#preferences_#{preference}")['checked'].should be false
26
- Spree::Config[preference].should be false
25
+ find("#preferences_#{preference}")['checked'].should be_false
26
+ Spree::Config[preference].should be_false
27
27
  end
28
28
  end
29
29
  end
data/lib/tasks/core.rake CHANGED
@@ -86,8 +86,8 @@ use rake db:load_file[/absolute/path/to/sample/filename.rb]}
86
86
  end
87
87
 
88
88
  if load_sample
89
- # Reload models' attributes in case they were loaded in old migrations with wrong attributes
90
- ActiveRecord::Base.descendants.each(&:reset_column_information)
89
+ #prevent errors for missing attributes (since rails 3.1 upgrade)
90
+
91
91
  Rake::Task["spree_sample:load"].invoke
92
92
  end
93
93
 
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: 2.2.14
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-19 00:00:00.000000000 Z
11
+ date: 2014-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant
@@ -108,20 +108,6 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '1.16'
111
- - !ruby/object:Gem::Dependency
112
- name: font-awesome-rails
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '4.0'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '4.0'
125
111
  - !ruby/object:Gem::Dependency
126
112
  name: friendly_id
127
113
  requirement: !ruby/object:Gem::Requirement
@@ -210,30 +196,30 @@ dependencies:
210
196
  name: monetize
211
197
  requirement: !ruby/object:Gem::Requirement
212
198
  requirements:
213
- - - "~>"
199
+ - - ">="
214
200
  - !ruby/object:Gem::Version
215
- version: '1.1'
201
+ version: '0'
216
202
  type: :runtime
217
203
  prerelease: false
218
204
  version_requirements: !ruby/object:Gem::Requirement
219
205
  requirements:
220
- - - "~>"
206
+ - - ">="
221
207
  - !ruby/object:Gem::Version
222
- version: '1.1'
208
+ version: '0'
223
209
  - !ruby/object:Gem::Dependency
224
210
  name: paperclip
225
211
  requirement: !ruby/object:Gem::Requirement
226
212
  requirements:
227
213
  - - "~>"
228
214
  - !ruby/object:Gem::Version
229
- version: 3.4.1
215
+ version: 4.1.1
230
216
  type: :runtime
231
217
  prerelease: false
232
218
  version_requirements: !ruby/object:Gem::Requirement
233
219
  requirements:
234
220
  - - "~>"
235
221
  - !ruby/object:Gem::Version
236
- version: 3.4.1
222
+ version: 4.1.1
237
223
  - !ruby/object:Gem::Dependency
238
224
  name: paranoia
239
225
  requirement: !ruby/object:Gem::Requirement
@@ -254,28 +240,28 @@ dependencies:
254
240
  requirements:
255
241
  - - "~>"
256
242
  - !ruby/object:Gem::Version
257
- version: 4.0.12
243
+ version: 4.1.2
258
244
  type: :runtime
259
245
  prerelease: false
260
246
  version_requirements: !ruby/object:Gem::Requirement
261
247
  requirements:
262
248
  - - "~>"
263
249
  - !ruby/object:Gem::Version
264
- version: 4.0.12
250
+ version: 4.1.2
265
251
  - !ruby/object:Gem::Dependency
266
252
  name: ransack
267
253
  requirement: !ruby/object:Gem::Requirement
268
254
  requirements:
269
255
  - - "~>"
270
256
  - !ruby/object:Gem::Version
271
- version: 1.1.0
257
+ version: 1.2.2
272
258
  type: :runtime
273
259
  prerelease: false
274
260
  version_requirements: !ruby/object:Gem::Requirement
275
261
  requirements:
276
262
  - - "~>"
277
263
  - !ruby/object:Gem::Version
278
- version: 1.1.0
264
+ version: 1.2.2
279
265
  - !ruby/object:Gem::Dependency
280
266
  name: state_machine
281
267
  requirement: !ruby/object:Gem::Requirement
@@ -318,6 +304,20 @@ dependencies:
318
304
  - - '='
319
305
  - !ruby/object:Gem::Version
320
306
  version: 0.9.2
307
+ - !ruby/object:Gem::Dependency
308
+ name: font-awesome-rails
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: '4.0'
314
+ type: :runtime
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '4.0'
321
321
  description: The bare bones necessary for Spree.
322
322
  email: sean@spreecommerce.com
323
323
  executables: []
@@ -330,7 +330,7 @@ files:
330
330
  - app/assets/images/noimage/mini.png
331
331
  - app/assets/images/noimage/product.png
332
332
  - app/assets/images/noimage/small.png
333
- - app/assets/javascripts/spree.js.coffee
333
+ - app/assets/javascripts/spree.js.coffee.erb
334
334
  - app/controllers/spree/base_controller.rb
335
335
  - app/helpers/spree/base_helper.rb
336
336
  - app/helpers/spree/checkout_helper.rb
@@ -350,6 +350,7 @@ files:
350
350
  - app/models/spree/alert.rb
351
351
  - app/models/spree/app_configuration.rb
352
352
  - app/models/spree/asset.rb
353
+ - app/models/spree/base.rb
353
354
  - app/models/spree/billing_integration.rb
354
355
  - app/models/spree/calculator.rb
355
356
  - app/models/spree/calculator/default_tax.rb
@@ -396,6 +397,7 @@ files:
396
397
  - app/models/spree/preferences/configuration.rb
397
398
  - app/models/spree/preferences/preferable.rb
398
399
  - app/models/spree/preferences/preferable_class_methods.rb
400
+ - app/models/spree/preferences/scoped_store.rb
399
401
  - app/models/spree/preferences/store.rb
400
402
  - app/models/spree/price.rb
401
403
  - app/models/spree/product.rb
@@ -437,7 +439,6 @@ files:
437
439
  - app/models/spree/stock/coordinator.rb
438
440
  - app/models/spree/stock/differentiator.rb
439
441
  - app/models/spree/stock/estimator.rb
440
- - app/models/spree/stock/order_counter.rb
441
442
  - app/models/spree/stock/package.rb
442
443
  - app/models/spree/stock/packer.rb
443
444
  - app/models/spree/stock/prioritizer.rb
@@ -450,11 +451,11 @@ files:
450
451
  - app/models/spree/stock_location.rb
451
452
  - app/models/spree/stock_movement.rb
452
453
  - app/models/spree/stock_transfer.rb
454
+ - app/models/spree/store.rb
453
455
  - app/models/spree/tax_category.rb
454
456
  - app/models/spree/tax_rate.rb
455
457
  - app/models/spree/taxon.rb
456
458
  - app/models/spree/taxonomy.rb
457
- - app/models/spree/tokenized_permission.rb
458
459
  - app/models/spree/tracker.rb
459
460
  - app/models/spree/variant.rb
460
461
  - app/models/spree/variant/scopes.rb
@@ -464,7 +465,6 @@ files:
464
465
  - app/views/spree/order_mailer/cancel_email.text.erb
465
466
  - app/views/spree/order_mailer/confirm_email.text.erb
466
467
  - app/views/spree/shared/_error_messages.html.erb
467
- - app/views/spree/shared/_routes.html.erb
468
468
  - app/views/spree/shipment_mailer/shipped_email.text.erb
469
469
  - app/views/spree/test_mailer/test_email.text.erb
470
470
  - config/initializers/user_class_extensions.rb
@@ -473,6 +473,7 @@ files:
473
473
  - db/default/spree/countries.rb
474
474
  - db/default/spree/roles.rb
475
475
  - db/default/spree/states.rb
476
+ - db/default/spree/stores.rb
476
477
  - db/default/spree/zones.rb
477
478
  - db/migrate/20120831092320_spree_one_two.rb
478
479
  - db/migrate/20120831092359_spree_promo_one_two.rb
@@ -587,6 +588,7 @@ files:
587
588
  - db/migrate/20131211112807_create_spree_orders_promotions.rb
588
589
  - db/migrate/20131211192741_unique_shipping_method_categories.rb
589
590
  - db/migrate/20131218054603_add_item_count_to_spree_orders.rb
591
+ - db/migrate/20140106065820_remove_value_type_from_spree_preferences.rb
590
592
  - db/migrate/20140106224208_rename_permalink_to_slug_for_products.rb
591
593
  - db/migrate/20140120160805_add_index_to_variant_id_and_currency_on_prices.rb
592
594
  - db/migrate/20140124023232_rename_activator_id_in_rules_and_actions_to_promotion_id.rb
@@ -602,14 +604,23 @@ files:
602
604
  - db/migrate/20140211040159_add_pre_tax_amount_to_line_items_and_shipments.rb
603
605
  - db/migrate/20140213184916_add_more_indexes.rb
604
606
  - db/migrate/20140219060952_add_considered_risky_to_orders.rb
607
+ - db/migrate/20140227112348_add_preference_store_to_everything.rb
605
608
  - db/migrate/20140307235515_add_user_id_to_spree_credit_cards.rb
609
+ - db/migrate/20140309023735_migrate_old_preferences.rb
610
+ - db/migrate/20140309024355_create_spree_stores.rb
611
+ - db/migrate/20140309033438_create_store_from_preferences.rb
612
+ - db/migrate/20140315053743_add_timestamps_to_spree_assets.rb
613
+ - db/migrate/20140331100557_add_additional_store_fields.rb
614
+ - db/migrate/20140410141842_add_many_missing_indexes.rb
615
+ - db/migrate/20140410150358_correct_some_polymorphic_index_and_add_more_missing.rb
606
616
  - db/migrate/20140415041315_add_user_id_created_by_id_index_to_order.rb
607
617
  - db/migrate/20140508151342_change_spree_price_amount_precision.rb
618
+ - db/migrate/20140518174634_add_token_to_spree_orders.rb
619
+ - db/migrate/20140530024945_move_order_token_from_tokenized_permission.rb
608
620
  - db/migrate/20140601011216_set_shipment_total_for_users_upgrading.rb
621
+ - db/migrate/20140604135309_drop_credit_card_first_name_and_last_name.rb
609
622
  - db/migrate/20140609201656_add_deleted_at_to_spree_promotion_actions.rb
610
623
  - db/migrate/20140616202624_remove_uncaptured_amount_from_spree_payments.rb
611
- - db/migrate/20140804185157_add_default_to_shipment_cost.rb
612
- - db/migrate/20141021194502_add_state_lock_version_to_order.rb
613
624
  - db/seeds.rb
614
625
  - lib/generators/spree/custom_user/custom_user_generator.rb
615
626
  - lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt
@@ -617,6 +628,7 @@ files:
617
628
  - lib/generators/spree/custom_user/templates/migration.rb.tt
618
629
  - lib/generators/spree/dummy/dummy_generator.rb
619
630
  - lib/generators/spree/dummy/templates/initializers/custom_user.rb
631
+ - lib/generators/spree/dummy/templates/initializers/devise.rb
620
632
  - lib/generators/spree/dummy/templates/rails/application.rb
621
633
  - lib/generators/spree/dummy/templates/rails/boot.rb
622
634
  - lib/generators/spree/dummy/templates/rails/database.yml
@@ -630,7 +642,6 @@ files:
630
642
  - lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/backend/all.css
631
643
  - lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/frontend/all.css
632
644
  - lib/spree/core.rb
633
- - lib/spree/core/adjustment_source.rb
634
645
  - lib/spree/core/calculated_adjustments.rb
635
646
  - lib/spree/core/controller_helpers.rb
636
647
  - lib/spree/core/controller_helpers/auth.rb
@@ -639,6 +650,7 @@ files:
639
650
  - lib/spree/core/controller_helpers/respond_with.rb
640
651
  - lib/spree/core/controller_helpers/search.rb
641
652
  - lib/spree/core/controller_helpers/ssl.rb
653
+ - lib/spree/core/controller_helpers/store.rb
642
654
  - lib/spree/core/controller_helpers/strong_parameters.rb
643
655
  - lib/spree/core/delegate_belongs_to.rb
644
656
  - lib/spree/core/engine.rb
@@ -647,16 +659,12 @@ files:
647
659
  - lib/spree/core/environment_extension.rb
648
660
  - lib/spree/core/importer.rb
649
661
  - lib/spree/core/importer/order.rb
650
- - lib/spree/core/mail_interceptor.rb
651
- - lib/spree/core/mail_method.rb
652
- - lib/spree/core/mail_settings.rb
662
+ - lib/spree/core/importer/product.rb
653
663
  - lib/spree/core/permalinks.rb
654
664
  - lib/spree/core/product_duplicator.rb
655
665
  - lib/spree/core/product_filters.rb
656
- - lib/spree/core/ransackable_attributes.rb
657
666
  - lib/spree/core/routes.rb
658
667
  - lib/spree/core/search/base.rb
659
- - lib/spree/core/token_resource.rb
660
668
  - lib/spree/core/user_address.rb
661
669
  - lib/spree/core/user_payment_source.rb
662
670
  - lib/spree/core/validators/email.rb
@@ -707,6 +715,7 @@ files:
707
715
  - lib/spree/testing_support/factories/stock_item_factory.rb
708
716
  - lib/spree/testing_support/factories/stock_location_factory.rb
709
717
  - lib/spree/testing_support/factories/stock_movement_factory.rb
718
+ - lib/spree/testing_support/factories/store_factory.rb
710
719
  - lib/spree/testing_support/factories/tax_category_factory.rb
711
720
  - lib/spree/testing_support/factories/tax_rate_factory.rb
712
721
  - lib/spree/testing_support/factories/taxon_factory.rb
@@ -760,7 +769,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
760
769
  version: '0'
761
770
  requirements: []
762
771
  rubyforge_project:
763
- rubygems_version: 2.4.5
772
+ rubygems_version: 2.2.2
764
773
  signing_key:
765
774
  specification_version: 4
766
775
  summary: The bare bones necessary for Spree.