solidus_core 1.0.0.pre → 1.0.0.pre2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of solidus_core might be problematic. Click here for more details.

Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/app/mailers/spree/carton_mailer.rb +1 -1
  3. data/app/mailers/spree/reimbursement_mailer.rb +3 -2
  4. data/app/mailers/spree/test_mailer.rb +1 -1
  5. data/app/models/concerns/spree/user_methods.rb +49 -0
  6. data/app/models/spree/ability.rb +2 -0
  7. data/app/models/spree/adjustment.rb +1 -0
  8. data/app/models/spree/adjustment_reason.rb +12 -0
  9. data/app/models/spree/app_configuration.rb +1 -1
  10. data/app/models/spree/carton.rb +1 -1
  11. data/app/models/spree/inventory_unit.rb +10 -6
  12. data/app/models/spree/legacy_user.rb +4 -12
  13. data/app/models/spree/order.rb +15 -15
  14. data/app/models/spree/order/checkout.rb +20 -15
  15. data/app/models/spree/order/payments.rb +1 -5
  16. data/app/models/spree/order_cancellations.rb +1 -1
  17. data/app/models/spree/order_capturing.rb +1 -1
  18. data/app/models/spree/order_mutex.rb +1 -1
  19. data/app/models/spree/order_shipping.rb +1 -1
  20. data/app/models/spree/payment/processing.rb +39 -13
  21. data/app/models/spree/payment_method.rb +2 -2
  22. data/app/models/spree/permission_sets/base.rb +17 -0
  23. data/app/models/spree/permission_sets/configuration_display.rb +24 -0
  24. data/app/models/spree/permission_sets/configuration_management.rb +24 -0
  25. data/app/models/spree/permission_sets/dashboard_display.rb +9 -0
  26. data/app/models/spree/permission_sets/order_display.rb +15 -0
  27. data/app/models/spree/permission_sets/order_management.rb +15 -0
  28. data/app/models/spree/permission_sets/product_display.rb +18 -0
  29. data/app/models/spree/permission_sets/product_management.rb +19 -0
  30. data/app/models/spree/permission_sets/promotion_display.rb +12 -0
  31. data/app/models/spree/permission_sets/promotion_management.rb +12 -0
  32. data/app/models/spree/permission_sets/report_display.rb +9 -0
  33. data/app/models/spree/permission_sets/stock_display.rb +10 -0
  34. data/app/models/spree/permission_sets/stock_management.rb +11 -0
  35. data/app/models/spree/permission_sets/user_display.rb +11 -0
  36. data/app/models/spree/permission_sets/user_management.rb +11 -0
  37. data/app/models/spree/promotion/rules/item_total.rb +12 -33
  38. data/app/models/spree/promotion/rules/user.rb +2 -2
  39. data/app/models/spree/promotion_rule.rb +2 -2
  40. data/app/models/spree/reimbursement.rb +0 -12
  41. data/app/models/spree/return_authorization.rb +2 -2
  42. data/app/models/spree/return_item.rb +1 -0
  43. data/app/models/spree/return_reason.rb +18 -0
  44. data/app/models/spree/role_user.rb +1 -1
  45. data/app/models/spree/shipment.rb +9 -26
  46. data/app/models/spree/store_credit.rb +31 -7
  47. data/app/models/spree/store_credit_event.rb +13 -11
  48. data/app/models/spree/store_credit_update_reason.rb +2 -0
  49. data/app/models/spree/user_class_handle.rb +21 -0
  50. data/app/models/spree/user_stock_location.rb +1 -1
  51. data/config/initializers/spree_user.rb +10 -0
  52. data/config/locales/en.yml +58 -16
  53. data/db/default/spree/return_reasons.rb +9 -0
  54. data/db/migrate/20140713140455_create_spree_return_authorization_reasons.rb +11 -9
  55. data/db/migrate/20150618212517_create_spree_store_credit_update_reasons.rb +8 -0
  56. data/db/migrate/20150619160613_create_adjustment_reason.rb +18 -0
  57. data/db/migrate/20150622144655_add_update_reason_to_store_credit_events.rb +5 -0
  58. data/db/migrate/20150623194316_add_return_authorization_reason_id_to_return_items.rb +7 -0
  59. data/db/migrate/20150623214058_seed_store_credit_update_reasons.rb +9 -0
  60. data/db/migrate/20150626200816_remove_shipping_method_id_from_spree_orders.rb +9 -0
  61. data/db/seeds.rb +9 -0
  62. data/lib/spree/core.rb +1 -4
  63. data/lib/spree/core/controller_helpers/auth.rb +15 -20
  64. data/lib/spree/core/engine.rb +1 -0
  65. data/lib/spree/core/importer/order.rb +8 -5
  66. data/lib/spree/core/role_configuration.rb +70 -0
  67. data/lib/spree/permitted_attributes.rb +1 -1
  68. data/lib/spree/testing_support/factories/adjustment_reason_factory.rb +6 -0
  69. data/lib/spree/testing_support/factories/order_factory.rb +14 -1
  70. data/lib/spree/testing_support/factories/promotion_factory.rb +2 -4
  71. data/lib/spree/testing_support/factories/return_authorization_factory.rb +3 -3
  72. data/lib/spree/testing_support/factories/return_item_factory.rb +1 -0
  73. data/lib/spree/testing_support/factories/store_credit_event_factory.rb +10 -0
  74. data/lib/spree/testing_support/factories/store_credit_update_reason_factory.rb +5 -0
  75. data/lib/spree/testing_support/factories/store_factory.rb +1 -1
  76. data/lib/spree/testing_support/order_walkthrough.rb +2 -7
  77. metadata +36 -10
  78. data/app/assets/images/logo/solidus.png +0 -0
  79. data/app/models/spree/item_adjustments.rb.orig +0 -93
  80. data/app/models/spree/return_authorization_reason.rb +0 -7
  81. data/app/models/spree/static_model_preferences.rb +0 -32
  82. data/config/initializers/user_class_extensions.rb +0 -42
@@ -0,0 +1,5 @@
1
+ class AddUpdateReasonToStoreCreditEvents < ActiveRecord::Migration
2
+ def change
3
+ add_column :spree_store_credit_events, :update_reason_id, :integer
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ class AddReturnAuthorizationReasonIdToReturnItems < ActiveRecord::Migration
2
+ def change
3
+ rename_table :spree_return_authorization_reasons, :spree_return_reasons
4
+ rename_column :spree_return_authorizations, :return_authorization_reason_id, :return_reason_id
5
+ add_column :spree_return_items, :return_reason_id, :integer
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ class SeedStoreCreditUpdateReasons < ActiveRecord::Migration
2
+ def up
3
+ Spree::StoreCreditUpdateReason.create!(name: 'Credit Given In Error')
4
+ end
5
+
6
+ def down
7
+ Spree::StoreCreditUpdateReason.find_by(name: 'Credit Given In Error').try!(:destroy)
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class RemoveShippingMethodIdFromSpreeOrders < ActiveRecord::Migration
2
+ def up
3
+ remove_column :spree_orders, :shipping_method_id, :integer
4
+ end
5
+
6
+ def down
7
+ add_column :spree_orders, :shipping_method_id, :integer
8
+ end
9
+ end
@@ -3,3 +3,12 @@ default_path = File.join(File.dirname(__FILE__), 'default')
3
3
 
4
4
  Rake::Task['db:load_dir'].reenable
5
5
  Rake::Task['db:load_dir'].invoke(default_path)
6
+
7
+ Spree::PaymentMethod.find_or_create_by(type: "Spree::PaymentMethod::StoreCredit", name: "Store Credit", description: "Store credit.", active: true, environment: Rails.env, display_on: 'back_end')
8
+
9
+ Spree::StoreCreditType.find_or_create_by(name: 'Expiring', priority: 1)
10
+ Spree::StoreCreditType.find_or_create_by(name: 'Non-expiring', priority: 2)
11
+
12
+ Spree::StoreCreditCategory.find_or_create_by(name: 'Gift Card')
13
+
14
+ Spree::StoreCreditUpdateReason.find_or_create_by(name: 'Credit Given In Error')
@@ -19,10 +19,6 @@ require 'responders'
19
19
  # invalid state of a Payment. In the future this should be removed.
20
20
  StateMachines::Machine.ignore_method_conflicts = true
21
21
 
22
- # This is required because ActiveModel::Validations#invalid? conflicts with the
23
- # invalid state of a Payment. In the future this should be removed.
24
- StateMachines::Machine.ignore_method_conflicts = true
25
-
26
22
  module Spree
27
23
 
28
24
  mattr_accessor :user_class
@@ -93,3 +89,4 @@ require 'spree/core/controller_helpers/search'
93
89
  require 'spree/core/controller_helpers/store'
94
90
  require 'spree/core/controller_helpers/strong_parameters'
95
91
  require 'spree/core/unreturned_item_charger'
92
+ require 'spree/core/role_configuration'
@@ -4,12 +4,25 @@ module Spree
4
4
  module Auth
5
5
  extend ActiveSupport::Concern
6
6
 
7
+ # @!attribute [rw] unauthorized_redirect
8
+ # @!scope class
9
+ # Extension point for overriding behaviour of access denied errors.
10
+ # Default behaviour is to redirect to "/unauthorized" with a flash
11
+ # message.
12
+ # @return [Proc] action to take when access denied error is raised.
13
+
7
14
  included do
8
15
  before_filter :set_guest_token
9
16
  helper_method :try_spree_current_user
10
17
 
11
- rescue_from CanCan::AccessDenied do |exception|
12
- redirect_unauthorized_access
18
+ class_attribute :unauthorized_redirect
19
+ self.unauthorized_redirect = -> do
20
+ flash[:error] = Spree.t(:authorization_failure)
21
+ redirect_to "/unauthorized"
22
+ end
23
+
24
+ rescue_from CanCan::AccessDenied do
25
+ instance_exec &unauthorized_redirect
13
26
  end
14
27
  end
15
28
 
@@ -59,24 +72,6 @@ module Spree
59
72
  nil
60
73
  end
61
74
  end
62
-
63
- # Redirect as appropriate when an access request fails. The default action is to redirect to the login screen.
64
- # Override this method in your controllers if you want to have special behavior in case the user is not authorized
65
- # to access the requested action. For example, a popup window might simply close itself.
66
- def redirect_unauthorized_access
67
- if try_spree_current_user
68
- flash[:error] = Spree.t(:authorization_failure)
69
- redirect_to '/unauthorized'
70
- else
71
- store_location
72
- if respond_to?(:spree_login_path)
73
- redirect_to spree_login_path
74
- else
75
- redirect_to '/unauthorized'
76
- end
77
- end
78
- end
79
-
80
75
  end
81
76
  end
82
77
  end
@@ -36,6 +36,7 @@ module Spree
36
36
  app.config.spree.payment_methods = [
37
37
  Spree::Gateway::Bogus,
38
38
  Spree::Gateway::BogusSimple,
39
+ Spree::PaymentMethod::StoreCredit,
39
40
  Spree::PaymentMethod::Check ]
40
41
  end
41
42
 
@@ -22,17 +22,20 @@ module Spree
22
22
  create_adjustments_from_params(params.delete(:adjustments_attributes), order)
23
23
  create_payments_from_params(params.delete(:payments_attributes), order)
24
24
 
25
- if completed_at = params.delete(:completed_at)
26
- order.completed_at = completed_at
27
- order.state = 'complete'
28
- end
29
-
30
25
  params.delete(:user_id) unless user.try(:has_spree_role?, "admin") && params.key?(:user_id)
31
26
 
27
+ completed_at = params.delete(:completed_at)
28
+
32
29
  order.update_attributes!(params)
33
30
 
34
31
  order.create_proposed_shipments unless shipments_attrs.present?
35
32
 
33
+ if completed_at
34
+ order.completed_at = completed_at
35
+ order.state = 'complete'
36
+ order.save!
37
+ end
38
+
36
39
  # Really ensure that the order totals & states are correct
37
40
  order.updater.update
38
41
  if shipments_attrs.present?
@@ -0,0 +1,70 @@
1
+ require 'singleton'
2
+
3
+ module Spree
4
+ # A class responsible for associating {Spree::Role} with a list of permission sets.
5
+ #
6
+ # @see Spree::PermissionSets
7
+ #
8
+ # @example Adding order, product, and user display to customer service users.
9
+ # Spree::RoleConfiguration.configure do |config|
10
+ # config.assign_permissions :customer_service, [
11
+ # Spree::PermissionSets::OrderDisplay,
12
+ # Spree::PermissionSets::UserDisplay,
13
+ # Spree::PermissionSets::ProductDisplay
14
+ # ]
15
+ # end
16
+ class RoleConfiguration
17
+ # An internal structure for the association between a role and a
18
+ # set of permissions.
19
+ Role = Struct.new(:name, :permission_sets)
20
+
21
+ include Singleton
22
+ attr_accessor :roles
23
+
24
+ # Yields the instance of the singleton, used for configuration
25
+ # @yield_param instance [Spree::RoleConfiguration]
26
+ def self.configure
27
+ yield(instance)
28
+ end
29
+
30
+ # Given a CanCan::Ability, and a user, determine what permissions sets can
31
+ # be activated on the ability, then activate them.
32
+ #
33
+ # This performs can/cannot declarations on the ability, and can modify its
34
+ # internal permissions.
35
+ #
36
+ # @param ability [CanCan::Ability] the ability to invoke declarations on
37
+ # @param user [#spree_roles] the user that holds the spree_roles association.
38
+ def activate_permissions! ability, user
39
+ spree_roles = user.spree_roles.pluck(:name)
40
+ applicable_permissions = Set.new
41
+
42
+ spree_roles.each do |role_name|
43
+ applicable_permissions |= roles[role_name].permission_sets
44
+ end
45
+
46
+ applicable_permissions.each do |permission_set|
47
+ permission_set.new(ability).activate!
48
+ end
49
+ end
50
+
51
+ # Not public due to the fact this class is a Singleton
52
+ # @!visibility private
53
+ def initialize
54
+ @roles = Hash.new do |h, name|
55
+ h[name] = Role.new(name, Set.new)
56
+ end
57
+ end
58
+
59
+ # Assign permission sets for a {Spree::Role} that has the name of role_name
60
+ # @param role_name [Symbol, String] The name of the role to associate permissions with
61
+ # @param permission_sets [Array<Spree::PermissionSets::Base>, Set<Spree::PermissionSets::Base>]
62
+ # A list of permission sets to activate if the user has the role indicated by role_name
63
+ def assign_permissions role_name, permission_sets
64
+ name = role_name.to_s
65
+
66
+ roles[name].permission_sets |= permission_sets
67
+ roles[name]
68
+ end
69
+ end
70
+ end
@@ -69,7 +69,7 @@ module Spree
69
69
 
70
70
  @@property_attributes = [:name, :presentation]
71
71
 
72
- @@return_authorization_attributes = [:memo, :stock_location_id, :return_authorization_reason_id, return_items_attributes: [:inventory_unit_id, :exchange_variant_id]]
72
+ @@return_authorization_attributes = [:memo, :stock_location_id, :return_reason_id, return_items_attributes: [:inventory_unit_id, :exchange_variant_id, :return_reason_id]]
73
73
 
74
74
  @@shipment_attributes = [
75
75
  :order, :special_instructions, :stock_location_id, :id,
@@ -0,0 +1,6 @@
1
+ FactoryGirl.define do
2
+ factory :adjustment_reason, class: Spree::AdjustmentReason do
3
+ sequence(:name) { |n| "Refund for return ##{n}" }
4
+ sequence(:code) { |n| "Code #{n}"}
5
+ end
6
+ end
@@ -2,6 +2,7 @@ FactoryGirl.define do
2
2
  factory :order, class: Spree::Order do
3
3
  user
4
4
  bill_address
5
+ ship_address
5
6
  completed_at nil
6
7
  email { user.try(:email) }
7
8
  store
@@ -69,10 +70,22 @@ FactoryGirl.define do
69
70
  end
70
71
 
71
72
  factory :shipped_order do
72
- after(:create) do |order|
73
+ transient do
74
+ with_cartons true
75
+ end
76
+ after(:create) do |order, evaluator|
73
77
  order.shipments.each do |shipment|
74
78
  shipment.inventory_units.update_all state: 'shipped'
75
79
  shipment.update_columns(state: 'shipped', shipped_at: Time.now)
80
+ if evaluator.with_cartons
81
+ Spree::Carton.create!(
82
+ stock_location: shipment.stock_location,
83
+ address: shipment.address,
84
+ shipping_method: shipment.shipping_method,
85
+ inventory_units: shipment.inventory_units,
86
+ shipped_at: Time.now,
87
+ )
88
+ end
76
89
  end
77
90
  order.reload
78
91
  end
@@ -47,10 +47,8 @@ FactoryGirl.define do
47
47
  after(:create) do |promotion, evaluator|
48
48
  rule = Spree::Promotion::Rules::ItemTotal.create!(
49
49
  promotion: promotion,
50
- preferred_operator_min: 'gte',
51
- preferred_operator_max: 'lte',
52
- preferred_amount_min: evaluator.item_total_threshold_amount,
53
- preferred_amount_max: evaluator.item_total_threshold_amount + 100
50
+ preferred_operator: 'gte',
51
+ preferred_amount: evaluator.item_total_threshold_amount
54
52
  )
55
53
  promotion.rules << rule
56
54
  promotion.save!
@@ -2,17 +2,17 @@ FactoryGirl.define do
2
2
  factory :return_authorization, class: Spree::ReturnAuthorization do
3
3
  association(:order, factory: :shipped_order)
4
4
  association(:stock_location, factory: :stock_location)
5
- association(:reason, factory: :return_authorization_reason)
5
+ association(:reason, factory: :return_reason)
6
6
  memo 'Items were broken'
7
7
  end
8
8
 
9
9
  factory :new_return_authorization, class: Spree::ReturnAuthorization do
10
10
  association(:order, factory: :shipped_order)
11
11
  association(:stock_location, factory: :stock_location)
12
- association(:reason, factory: :return_authorization_reason)
12
+ association(:reason, factory: :return_reason)
13
13
  end
14
14
 
15
- factory :return_authorization_reason, class: Spree::ReturnAuthorizationReason do
15
+ factory :return_reason, class: Spree::ReturnReason do
16
16
  sequence(:name) { |n| "Defect ##{n}" }
17
17
  end
18
18
  end
@@ -1,6 +1,7 @@
1
1
  FactoryGirl.define do
2
2
  factory :return_item, class: Spree::ReturnItem do
3
3
  association(:inventory_unit, factory: :inventory_unit, state: :shipped)
4
+ association(:return_reason, factory: :return_reason)
4
5
  return_authorization do |return_item|
5
6
  build(:return_authorization, order: inventory_unit.order)
6
7
  end
@@ -11,5 +11,15 @@ FactoryGirl.define do
11
11
  factory :store_credit_capture_event do
12
12
  action { Spree::StoreCredit::CAPTURE_ACTION }
13
13
  end
14
+
15
+ factory :store_credit_adjustment_event do
16
+ action { Spree::StoreCredit::ADJUSTMENT_ACTION }
17
+ update_reason { create(:store_credit_update_reason) }
18
+ end
19
+
20
+ factory :store_credit_invalidate_event do
21
+ action { Spree::StoreCredit::INVALIDATE_ACTION }
22
+ update_reason { create(:store_credit_update_reason) }
23
+ end
14
24
  end
15
25
  end
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :store_credit_update_reason, class: Spree::StoreCreditUpdateReason do
3
+ name "Input error"
4
+ end
5
+ end
@@ -1,7 +1,7 @@
1
1
  FactoryGirl.define do
2
2
  factory :store, class: Spree::Store do
3
3
  sequence(:code) { |i| "spree_#{i}" }
4
- name 'Spree Test Store'
4
+ sequence(:name) { |i| "Spree Test Store #{i}" }
5
5
  sequence(:url) { |i| "www.example#{i}.com" }
6
6
  mail_from_address 'spree@example.org'
7
7
  end
@@ -1,10 +1,5 @@
1
1
  class OrderWalkthrough
2
2
  def self.up_to(state)
3
- # A payment method must exist for an order to proceed through the Address state
4
- unless Spree::PaymentMethod.exists?
5
- FactoryGirl.create(:check_payment_method)
6
- end
7
-
8
3
  # Need to create a valid zone too...
9
4
  zone = FactoryGirl.create(:zone)
10
5
  country = FactoryGirl.create(:country)
@@ -56,8 +51,8 @@ class OrderWalkthrough
56
51
  end
57
52
 
58
53
  def self.payment(order)
59
- FactoryGirl.create(:credit_card) unless Spree::CreditCard.exists?
60
- order.payments.create!(:payment_method => Spree::PaymentMethod.first, :amount => order.total, source: Spree::CreditCard.first)
54
+ credit_card = FactoryGirl.create(:credit_card)
55
+ order.payments.create!(:payment_method => credit_card.payment_method, :amount => order.total, source: credit_card)
61
56
  # TODO: maybe look at some way of making this payment_state change automatic
62
57
  order.payment_state = 'paid'
63
58
  order.next!
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre
4
+ version: 1.0.0.pre2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Solidus Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-29 00:00:00.000000000 Z
11
+ date: 2015-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant
@@ -352,14 +352,13 @@ dependencies:
352
352
  - - "~>"
353
353
  - !ruby/object:Gem::Version
354
354
  version: '1.6'
355
- description: The bare bones necessary for Spree.
355
+ description: Essential models, mailers, and classes for the Solidus e-commerce project.
356
356
  email: contact@solidus.io
357
357
  executables: []
358
358
  extensions: []
359
359
  extra_rdoc_files: []
360
360
  files:
361
361
  - LICENSE
362
- - app/assets/images/logo/solidus.png
363
362
  - app/assets/images/logo/solidus_logo.png
364
363
  - app/assets/images/noimage/large.png
365
364
  - app/assets/images/noimage/mini.png
@@ -385,11 +384,13 @@ files:
385
384
  - app/models/concerns/spree/named_type.rb
386
385
  - app/models/concerns/spree/user_address.rb
387
386
  - app/models/concerns/spree/user_api_authentication.rb
387
+ - app/models/concerns/spree/user_methods.rb
388
388
  - app/models/concerns/spree/user_payment_source.rb
389
389
  - app/models/concerns/spree/user_reporting.rb
390
390
  - app/models/spree/ability.rb
391
391
  - app/models/spree/address.rb
392
392
  - app/models/spree/adjustment.rb
393
+ - app/models/spree/adjustment_reason.rb
393
394
  - app/models/spree/app_configuration.rb
394
395
  - app/models/spree/asset.rb
395
396
  - app/models/spree/base.rb
@@ -423,7 +424,6 @@ files:
423
424
  - app/models/spree/image.rb
424
425
  - app/models/spree/inventory_unit.rb
425
426
  - app/models/spree/item_adjustments.rb
426
- - app/models/spree/item_adjustments.rb.orig
427
427
  - app/models/spree/legacy_user.rb
428
428
  - app/models/spree/line_item.rb
429
429
  - app/models/spree/line_item_action.rb
@@ -450,6 +450,21 @@ files:
450
450
  - app/models/spree/payment_method.rb
451
451
  - app/models/spree/payment_method/check.rb
452
452
  - app/models/spree/payment_method/store_credit.rb
453
+ - app/models/spree/permission_sets/base.rb
454
+ - app/models/spree/permission_sets/configuration_display.rb
455
+ - app/models/spree/permission_sets/configuration_management.rb
456
+ - app/models/spree/permission_sets/dashboard_display.rb
457
+ - app/models/spree/permission_sets/order_display.rb
458
+ - app/models/spree/permission_sets/order_management.rb
459
+ - app/models/spree/permission_sets/product_display.rb
460
+ - app/models/spree/permission_sets/product_management.rb
461
+ - app/models/spree/permission_sets/promotion_display.rb
462
+ - app/models/spree/permission_sets/promotion_management.rb
463
+ - app/models/spree/permission_sets/report_display.rb
464
+ - app/models/spree/permission_sets/stock_display.rb
465
+ - app/models/spree/permission_sets/stock_management.rb
466
+ - app/models/spree/permission_sets/user_display.rb
467
+ - app/models/spree/permission_sets/user_management.rb
453
468
  - app/models/spree/preference.rb
454
469
  - app/models/spree/preferences/configuration.rb
455
470
  - app/models/spree/preferences/preferable.rb
@@ -503,7 +518,6 @@ files:
503
518
  - app/models/spree/reimbursement_type/reimbursement_helpers.rb
504
519
  - app/models/spree/reimbursement_type/store_credit.rb
505
520
  - app/models/spree/return_authorization.rb
506
- - app/models/spree/return_authorization_reason.rb
507
521
  - app/models/spree/return_item.rb
508
522
  - app/models/spree/return_item/eligibility_validator/base_validator.rb
509
523
  - app/models/spree/return_item/eligibility_validator/default.rb
@@ -514,6 +528,7 @@ files:
514
528
  - app/models/spree/return_item/eligibility_validator/time_since_purchase.rb
515
529
  - app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb
516
530
  - app/models/spree/return_item/exchange_variant_eligibility/same_product.rb
531
+ - app/models/spree/return_reason.rb
517
532
  - app/models/spree/returns_calculator.rb
518
533
  - app/models/spree/role.rb
519
534
  - app/models/spree/role_user.rb
@@ -526,7 +541,6 @@ files:
526
541
  - app/models/spree/shipping_rate.rb
527
542
  - app/models/spree/state.rb
528
543
  - app/models/spree/state_change.rb
529
- - app/models/spree/static_model_preferences.rb
530
544
  - app/models/spree/stock/adjuster.rb
531
545
  - app/models/spree/stock/availability_validator.rb
532
546
  - app/models/spree/stock/content_item.rb
@@ -552,6 +566,7 @@ files:
552
566
  - app/models/spree/store_credit_category.rb
553
567
  - app/models/spree/store_credit_event.rb
554
568
  - app/models/spree/store_credit_type.rb
569
+ - app/models/spree/store_credit_update_reason.rb
555
570
  - app/models/spree/tax_category.rb
556
571
  - app/models/spree/tax_rate.rb
557
572
  - app/models/spree/taxon.rb
@@ -559,6 +574,7 @@ files:
559
574
  - app/models/spree/tracker.rb
560
575
  - app/models/spree/transfer_item.rb
561
576
  - app/models/spree/unit_cancel.rb
577
+ - app/models/spree/user_class_handle.rb
562
578
  - app/models/spree/user_stock_location.rb
563
579
  - app/models/spree/validations/db_maximum_length_validator.rb
564
580
  - app/models/spree/variant.rb
@@ -582,10 +598,11 @@ files:
582
598
  - app/views/spree/test_mailer/test_email.text.erb
583
599
  - config/initializers/friendly_id.rb
584
600
  - config/initializers/premailer_assets.rb
585
- - config/initializers/user_class_extensions.rb
601
+ - config/initializers/spree_user.rb
586
602
  - config/locales/en.yml
587
603
  - config/routes.rb
588
604
  - db/default/spree/countries.rb
605
+ - db/default/spree/return_reasons.rb
589
606
  - db/default/spree/roles.rb
590
607
  - db/default/spree/states.rb
591
608
  - db/default/spree/store_credit.rb
@@ -832,6 +849,12 @@ files:
832
849
  - db/migrate/20150611200247_add_frontend_viewable_to_spree_orders.rb
833
850
  - db/migrate/20150612205731_remove_spree_configurations.rb
834
851
  - db/migrate/20150618191713_remove_credit_card_address_id.rb
852
+ - db/migrate/20150618212517_create_spree_store_credit_update_reasons.rb
853
+ - db/migrate/20150619160613_create_adjustment_reason.rb
854
+ - db/migrate/20150622144655_add_update_reason_to_store_credit_events.rb
855
+ - db/migrate/20150623194316_add_return_authorization_reason_id_to_return_items.rb
856
+ - db/migrate/20150623214058_seed_store_credit_update_reasons.rb
857
+ - db/migrate/20150626200816_remove_shipping_method_id_from_spree_orders.rb
835
858
  - db/migrate/20150626214817_remove_counter_cache_from_spree_variants_to_spree_stock_items.rb
836
859
  - db/seeds.rb
837
860
  - lib/generators/spree/custom_user/custom_user_generator.rb
@@ -873,6 +896,7 @@ files:
873
896
  - lib/spree/core/permalinks.rb
874
897
  - lib/spree/core/product_duplicator.rb
875
898
  - lib/spree/core/product_filters.rb
899
+ - lib/spree/core/role_configuration.rb
876
900
  - lib/spree/core/routes.rb
877
901
  - lib/spree/core/search/base.rb
878
902
  - lib/spree/core/search/variant.rb
@@ -899,6 +923,7 @@ files:
899
923
  - lib/spree/testing_support/factories.rb
900
924
  - lib/spree/testing_support/factories/address_factory.rb
901
925
  - lib/spree/testing_support/factories/adjustment_factory.rb
926
+ - lib/spree/testing_support/factories/adjustment_reason_factory.rb
902
927
  - lib/spree/testing_support/factories/calculator_factory.rb
903
928
  - lib/spree/testing_support/factories/carton_factory.rb
904
929
  - lib/spree/testing_support/factories/country_factory.rb
@@ -939,6 +964,7 @@ files:
939
964
  - lib/spree/testing_support/factories/store_credit_event_factory.rb
940
965
  - lib/spree/testing_support/factories/store_credit_factory.rb
941
966
  - lib/spree/testing_support/factories/store_credit_type_factory.rb
967
+ - lib/spree/testing_support/factories/store_credit_update_reason_factory.rb
942
968
  - lib/spree/testing_support/factories/store_factory.rb
943
969
  - lib/spree/testing_support/factories/tax_category_factory.rb
944
970
  - lib/spree/testing_support/factories/tax_rate_factory.rb
@@ -986,8 +1012,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
986
1012
  version: 1.3.1
987
1013
  requirements: []
988
1014
  rubyforge_project:
989
- rubygems_version: 2.2.0
1015
+ rubygems_version: 2.4.5
990
1016
  signing_key:
991
1017
  specification_version: 4
992
- summary: The bare bones necessary for Spree.
1018
+ summary: Essential models, mailers, and classes for the Solidus e-commerce project.
993
1019
  test_files: []