solidus_auth_devise 2.0.0 → 2.5.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 (121) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +35 -0
  3. data/.gem_release.yml +5 -0
  4. data/.github/stale.yml +17 -0
  5. data/.gitignore +12 -8
  6. data/.rubocop.yml +2 -0
  7. data/CHANGELOG.md +284 -145
  8. data/Gemfile +22 -14
  9. data/{LICENSE.md → LICENSE} +2 -2
  10. data/README.md +50 -3
  11. data/Rakefile +2 -0
  12. data/app/mailers/spree/user_mailer.rb +4 -2
  13. data/app/models/spree/auth_configuration.rb +2 -0
  14. data/app/models/spree/user.rb +30 -20
  15. data/app/overrides/spree/admin/users/edit/_add_reset_password_form.html.erb.deface +20 -0
  16. data/bin/console +17 -0
  17. data/bin/rails +12 -4
  18. data/bin/setup +8 -0
  19. data/config/initializers/devise.rb +11 -3
  20. data/config/initializers/warden.rb +4 -2
  21. data/config/locales/en.yml +4 -1
  22. data/config/locales/fr.yml +1 -1
  23. data/config/locales/it.yml +4 -4
  24. data/config/routes.rb +16 -15
  25. data/db/default/users.rb +10 -8
  26. data/db/migrate/20101026184949_create_users.rb +9 -7
  27. data/db/migrate/20101026184950_rename_columns_for_devise.rb +3 -1
  28. data/db/migrate/20101214150824_convert_user_remember_field.rb +2 -0
  29. data/db/migrate/20120203010234_add_reset_password_sent_at_to_spree_users.rb +2 -0
  30. data/db/migrate/20120605211305_make_users_email_index_unique.rb +4 -2
  31. data/db/migrate/20140904000425_add_deleted_at_to_users.rb +2 -0
  32. data/db/migrate/20141002154641_add_confirmable_to_users.rb +2 -0
  33. data/db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb +34 -0
  34. data/db/migrate/20200417153503_add_unconfirmed_email_to_spree_users.rb +7 -0
  35. data/db/seeds.rb +2 -0
  36. data/lib/controllers/backend/spree/admin/user_passwords_controller.rb +7 -4
  37. data/lib/controllers/backend/spree/admin/user_sessions_controller.rb +12 -10
  38. data/lib/controllers/frontend/spree/user_confirmations_controller.rb +2 -0
  39. data/lib/controllers/frontend/spree/user_passwords_controller.rb +4 -1
  40. data/lib/controllers/frontend/spree/user_registrations_controller.rb +4 -0
  41. data/lib/controllers/frontend/spree/user_sessions_controller.rb +4 -2
  42. data/lib/controllers/frontend/spree/users_controller.rb +20 -15
  43. data/lib/decorators/backend/controllers/spree/admin/base_controller_decorator.rb +20 -0
  44. data/lib/decorators/backend/controllers/spree/admin/orders/customer_details_controller_decorator.rb +22 -0
  45. data/lib/{controllers/frontend → decorators/frontend/controllers}/spree/checkout_controller_decorator.rb +29 -19
  46. data/lib/generators/solidus/auth/install/install_generator.rb +15 -3
  47. data/lib/generators/solidus/auth/install/templates/config/initializers/devise.rb +3 -1
  48. data/lib/solidus/auth.rb +2 -0
  49. data/lib/solidus_auth_devise.rb +13 -5
  50. data/lib/spree/auth/devise.rb +2 -7
  51. data/lib/spree/auth/engine.rb +51 -38
  52. data/lib/spree/auth/version.rb +7 -0
  53. data/lib/spree/authentication_helpers.rb +5 -11
  54. data/lib/tasks/auth.rake +3 -1
  55. data/lib/views/backend/spree/admin/shared/_navigation_footer.html.erb +13 -6
  56. data/lib/views/backend/spree/admin/user_passwords/edit.html.erb +4 -4
  57. data/lib/views/backend/spree/admin/user_passwords/new.html.erb +6 -8
  58. data/lib/views/backend/spree/admin/user_sessions/authorization_failure.html.erb +1 -1
  59. data/lib/views/backend/spree/admin/user_sessions/new.html.erb +9 -9
  60. data/lib/views/backend/spree/layouts/admin/_login_nav.html.erb +4 -4
  61. data/lib/views/frontend/spree/checkout/registration.html.erb +4 -4
  62. data/lib/views/frontend/spree/shared/_login.html.erb +4 -4
  63. data/lib/views/frontend/spree/shared/_login_bar.html.erb +2 -6
  64. data/lib/views/frontend/spree/shared/_login_bar_items.html.erb +6 -0
  65. data/lib/views/frontend/spree/shared/_user_form.html.erb +3 -3
  66. data/lib/views/frontend/spree/user_passwords/edit.html.erb +4 -4
  67. data/lib/views/frontend/spree/user_passwords/new.html.erb +5 -7
  68. data/lib/views/frontend/spree/user_registrations/new.html.erb +3 -3
  69. data/lib/views/frontend/spree/user_sessions/authorization_failure.html.erb +1 -1
  70. data/lib/views/frontend/spree/user_sessions/new.html.erb +2 -2
  71. data/lib/views/frontend/spree/users/edit.html.erb +2 -2
  72. data/lib/views/frontend/spree/users/show.html.erb +12 -12
  73. data/solidus_auth_devise.gemspec +38 -31
  74. data/spec/controllers/spree/admin/base_controller_spec.rb +53 -0
  75. data/spec/controllers/spree/admin/user_passwords_controller_spec.rb +14 -0
  76. data/spec/controllers/spree/base_controller_spec.rb +53 -0
  77. data/spec/controllers/spree/checkout_controller_spec.rb +6 -10
  78. data/spec/controllers/spree/products_controller_spec.rb +6 -3
  79. data/spec/controllers/spree/user_passwords_controller_spec.rb +4 -3
  80. data/spec/controllers/spree/user_registrations_controller_spec.rb +3 -2
  81. data/spec/controllers/spree/user_sessions_controller_spec.rb +14 -0
  82. data/spec/controllers/spree/users_controller_spec.rb +26 -8
  83. data/spec/factories/confirmed_user.rb +7 -5
  84. data/spec/features/account_spec.rb +4 -3
  85. data/spec/features/admin/password_reset_spec.rb +66 -10
  86. data/spec/features/admin/products_spec.rb +2 -1
  87. data/spec/features/admin/sign_in_spec.rb +2 -1
  88. data/spec/features/admin/sign_out_spec.rb +2 -1
  89. data/spec/features/admin_permissions_spec.rb +2 -1
  90. data/spec/features/change_email_spec.rb +3 -2
  91. data/spec/features/checkout_spec.rb +14 -37
  92. data/spec/features/confirmation_spec.rb +6 -10
  93. data/spec/features/order_spec.rb +2 -1
  94. data/spec/features/password_reset_spec.rb +23 -10
  95. data/spec/features/sign_in_spec.rb +2 -1
  96. data/spec/features/sign_out_spec.rb +4 -3
  97. data/spec/features/sign_up_spec.rb +2 -1
  98. data/spec/mailers/user_mailer_spec.rb +2 -1
  99. data/spec/models/order_spec.rb +2 -1
  100. data/spec/models/user_spec.rb +57 -38
  101. data/spec/spec_helper.rb +13 -9
  102. data/spec/support/ability.rb +3 -1
  103. data/spec/support/authentication_helpers.rb +2 -0
  104. data/spec/support/confirm_helpers.rb +23 -10
  105. data/spec/support/email.rb +2 -0
  106. data/spec/support/features/fill_addresses_fields.rb +29 -0
  107. data/spec/support/preferences.rb +10 -2
  108. data/spec/support/spree.rb +2 -0
  109. metadata +327 -243
  110. data/.travis.yml +0 -22
  111. data/app/overrides/auth_admin_login_navigation_bar.rb +0 -11
  112. data/app/overrides/auth_shared_login_bar.rb +0 -10
  113. data/circle.yml +0 -6
  114. data/lib/assets/javascripts/spree/backend/solidus_auth.js +0 -1
  115. data/lib/assets/javascripts/spree/frontend/solidus_auth.js +0 -1
  116. data/lib/assets/stylesheets/spree/backend/solidus_auth.css +0 -3
  117. data/lib/assets/stylesheets/spree/frontend/solidus_auth.css +0 -3
  118. data/lib/controllers/backend/spree/admin/admin_controller_decorator.rb +0 -11
  119. data/lib/controllers/backend/spree/admin/admin_orders_controller_decorator.rb +0 -20
  120. data/lib/controllers/backend/spree/admin/orders/customer_details_controller_decorator.rb +0 -15
  121. data/spec/features/admin/orders_spec.rb +0 -30
@@ -1,22 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.3.1
5
- env:
6
- matrix:
7
- - SOLIDUS_BRANCH=v1.2 DB=postgres
8
- - SOLIDUS_BRANCH=v1.3 DB=postgres
9
- - SOLIDUS_BRANCH=v1.4 DB=postgres
10
- - SOLIDUS_BRANCH=v2.0 DB=postgres
11
- - SOLIDUS_BRANCH=v2.1 DB=postgres
12
- - SOLIDUS_BRANCH=v2.2 DB=postgres
13
- - SOLIDUS_BRANCH=v2.3 DB=postgres
14
- - SOLIDUS_BRANCH=master DB=postgres
15
- - SOLIDUS_BRANCH=v1.2 DB=mysql
16
- - SOLIDUS_BRANCH=v1.3 DB=mysql
17
- - SOLIDUS_BRANCH=v1.4 DB=mysql
18
- - SOLIDUS_BRANCH=v2.0 DB=mysql
19
- - SOLIDUS_BRANCH=v2.1 DB=mysql
20
- - SOLIDUS_BRANCH=v2.2 DB=mysql
21
- - SOLIDUS_BRANCH=v2.3 DB=mysql
22
- - SOLIDUS_BRANCH=master DB=mysql
@@ -1,11 +0,0 @@
1
- override_required = !Spree.respond_to?(:solidus_version) || Spree.solidus_version < '1.2'
2
- if override_required
3
- Deface::Override.new(
4
- virtual_path: "spree/admin/shared/_header",
5
- name: "auth_admin_login_navigation_bar",
6
- insert_before: "[data-hook='admin_login_navigation_bar'], #admin_login_navigation_bar[data-hook]",
7
- partial: "spree/layouts/admin/login_nav",
8
- disabled: false,
9
- original: '841227d0aedf7909d62237d8778df99100087715'
10
- )
11
- end
@@ -1,10 +0,0 @@
1
- if SolidusSupport.frontend_available?
2
- Deface::Override.new(
3
- virtual_path: "spree/shared/_nav_bar",
4
- name: "auth_shared_login_bar",
5
- insert_before: "li#search-bar",
6
- partial: "spree/shared/login_bar",
7
- disabled: false,
8
- original: 'eb3fa668cd98b6a1c75c36420ef1b238a1fc55ac'
9
- )
10
- end
data/circle.yml DELETED
@@ -1,6 +0,0 @@
1
- machine:
2
- ruby:
3
- version: 2.1.5
4
- test:
5
- pre:
6
- - bundle exec rake test_app
@@ -1 +0,0 @@
1
- //= require spree/backend
@@ -1 +0,0 @@
1
- //= require spree/frontend
@@ -1,3 +0,0 @@
1
- /*
2
- *= require spree/backend
3
- */
@@ -1,3 +0,0 @@
1
- /*
2
- *= require spree/frontend
3
- */
@@ -1,11 +0,0 @@
1
- Spree::Admin::BaseController.class_eval do
2
- protected
3
-
4
- def model_class
5
- const_name = controller_name.classify
6
- if Spree.const_defined?(const_name, false)
7
- return "Spree::#{const_name}".constantize
8
- end
9
- nil
10
- end
11
- end
@@ -1,20 +0,0 @@
1
- Spree::Admin::OrdersController.class_eval do
2
- before_action :check_authorization
3
-
4
- private
5
- def load_order_action
6
- [:edit, :update, :cancel, :resume, :approve, :resend, :open_adjustments, :close_adjustments, :cart]
7
- end
8
-
9
- def check_authorization
10
- action = params[:action].to_sym
11
- if load_order_action.include?(action)
12
- load_order
13
- session[:access_token] ||= params[:token]
14
- resource = @order || Spree::Order.new
15
- authorize! action, resource, session[:access_token]
16
- else
17
- authorize! :index, Spree::Order
18
- end
19
- end
20
- end
@@ -1,15 +0,0 @@
1
- Spree::Admin::Orders::CustomerDetailsController.class_eval do
2
- before_action :check_authorization
3
-
4
- private
5
- def check_authorization
6
- load_order
7
- session[:access_token] ||= params[:token]
8
-
9
- resource = @order
10
- action = params[:action].to_sym
11
- action = :edit if action == :show # show route renders :edit for this controller
12
-
13
- authorize! action, resource, session[:access_token]
14
- end
15
- end
@@ -1,30 +0,0 @@
1
- RSpec.feature 'Admin orders', type: :feature do
2
-
3
- background do
4
- create(:store)
5
- sign_in_as! create(:admin_user)
6
- end
7
-
8
- # Regression #203
9
- scenario 'can list orders' do
10
- expect { visit spree.admin_orders_path }.not_to raise_error
11
- end
12
-
13
- # Regression #203
14
- scenario 'can new orders' do
15
- FactoryGirl.create(:country)
16
- expect { visit spree.new_admin_order_path }.not_to raise_error
17
- end
18
-
19
- # Regression #203
20
- scenario 'can not edit orders' do
21
- expect { visit spree.edit_admin_order_path('nodata') }.to raise_error(ActiveRecord::RecordNotFound)
22
- end
23
-
24
- # Regression #203
25
- scenario 'can edit orders' do
26
- create(:order, number: 'R123')
27
- visit spree.edit_admin_order_path('R123')
28
- expect(page).not_to have_text 'Authorization Failure'
29
- end
30
- end