solidus_auth_devise 2.0.0 → 2.5.0

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

Potentially problematic release.


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

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