solidus_core 1.0.0.pre → 1.0.0.pre2

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.

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: []