spree_auth_devise 3.5.2 → 4.0.1
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.
- checksums.yaml +4 -4
- data/.travis.yml +15 -3
- data/Appraisals +7 -6
- data/README.md +10 -2
- data/app/controllers/metal_decorator.rb +3 -1
- data/app/views/spree/shared/_login.html.erb +12 -12
- data/app/views/spree/user_passwords/edit.html.erb +5 -5
- data/app/views/spree/user_passwords/new.html.erb +5 -5
- data/app/views/spree/user_registrations/new.html.erb +6 -6
- data/app/views/spree/user_sessions/new.html.erb +6 -6
- data/config/initializers/devise.rb +1 -1
- data/config/locales/en.yml +1 -0
- data/gemfiles/spree_3_7.gemfile +1 -0
- data/gemfiles/spree_4_0.gemfile +8 -0
- data/lib/controllers/backend/spree/admin/{admin_controller_decorator.rb → base_controller_decorator.rb} +2 -1
- data/lib/controllers/backend/spree/admin/orders/customer_details_controller_decorator.rb +6 -2
- data/lib/controllers/backend/spree/admin/{admin_orders_controller_decorator.rb → orders_controller_decorator.rb} +6 -2
- data/lib/controllers/backend/spree/admin/resource_controller_decorator.rb +6 -0
- data/lib/controllers/frontend/spree/checkout_controller_decorator.rb +6 -3
- data/lib/controllers/frontend/spree/store_controller_decorator.rb +2 -1
- data/lib/controllers/frontend/spree/users_controller.rb +8 -3
- data/lib/views/backend/spree/admin/user_sessions/new.html.erb +4 -4
- data/lib/views/backend/spree/layouts/login.html.erb +2 -2
- data/lib/views/frontend/spree/checkout/_new_user.html.erb +5 -5
- data/lib/views/frontend/spree/checkout/registration.html.erb +6 -6
- data/lib/views/frontend/spree/shared/_link_to_account.html.erb +3 -3
- data/lib/views/frontend/spree/users/edit.html.erb +5 -5
- data/lib/views/frontend/spree/users/show.html.erb +3 -3
- data/spec/controllers/spree/checkout_controller_spec.rb +18 -6
- data/spec/controllers/spree/user_registrations_controller_spec.rb +20 -4
- data/spec/controllers/spree/user_sessions_controller_spec.rb +34 -8
- data/spec/features/checkout_spec.rb +1 -2
- data/spec/requests/spree/frontend/user_update_spec.rb +42 -0
- data/spec/spec_helper.rb +6 -0
- data/spree_auth_devise.gemspec +4 -3
- metadata +34 -23
- data/lib/controllers/backend/spree/admin/admin_resource_controller_decorator.rb +0 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0a4c46da7628319c592ae1a9675173fd8add8ca34dbb6fd7d5ffdb92345207c2
|
|
4
|
+
data.tar.gz: e6d9d38bc3e2fa09ff21fc024193160d04f2ba89c4439d8703b6a19f058a6fcd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7f0c22c01027c613ab423d73af40ce43f02d4a14e26c76865ecd5a381943c2049366c52f2386697c4fa6a394c15d10b91da06b47d563a6f0081e897e948f77a5
|
|
7
|
+
data.tar.gz: 235a7977bb12281f9c3a0f00c0b99b59f7ee63d609b34e413ab530b1e2fde43384bc82e0dce91b784abf8f3518ae72a61d022916ceaa110394466e1aff854f39
|
data/.travis.yml
CHANGED
|
@@ -7,6 +7,7 @@ script:
|
|
|
7
7
|
|
|
8
8
|
addons:
|
|
9
9
|
chrome: stable
|
|
10
|
+
postgresql: 9.4
|
|
10
11
|
|
|
11
12
|
env:
|
|
12
13
|
- DB=mysql
|
|
@@ -17,17 +18,28 @@ language: ruby
|
|
|
17
18
|
rvm:
|
|
18
19
|
- 2.5.1
|
|
19
20
|
- 2.4.4
|
|
20
|
-
- 2.3.
|
|
21
|
+
- 2.3.8
|
|
21
22
|
|
|
22
23
|
gemfile:
|
|
23
|
-
- gemfiles/spree_3_2.gemfile
|
|
24
24
|
- gemfiles/spree_3_5.gemfile
|
|
25
25
|
- gemfiles/spree_3_7.gemfile
|
|
26
|
+
- gemfiles/spree_4_0.gemfile
|
|
26
27
|
- gemfiles/spree_master.gemfile
|
|
27
28
|
|
|
28
29
|
matrix:
|
|
29
30
|
allow_failures:
|
|
30
|
-
|
|
31
|
+
- gemfile: gemfiles/spree_master.gemfile
|
|
32
|
+
exclude:
|
|
33
|
+
- rvm: 2.3.8
|
|
34
|
+
gemfile: gemfiles/spree_4_0.gemfile
|
|
35
|
+
- rvm: 2.4.4
|
|
36
|
+
gemfile: gemfiles/spree_4_0.gemfile
|
|
37
|
+
- rvm: 2.3.8
|
|
38
|
+
gemfile: gemfiles/spree_master.gemfile
|
|
39
|
+
- rvm: 2.4.4
|
|
40
|
+
gemfile: gemfiles/spree_master.gemfile
|
|
41
|
+
- rvm: 2.5.1
|
|
42
|
+
gemfile: gemfiles/spree_3_5.gemfile
|
|
31
43
|
|
|
32
44
|
before_install:
|
|
33
45
|
- mysql -u root -e "GRANT ALL ON *.* TO 'travis'@'%';"
|
data/Appraisals
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
appraise 'spree-3-2' do
|
|
2
|
-
gem 'spree', '~> 3.2.0'
|
|
3
|
-
gem 'rails-controller-testing'
|
|
4
|
-
end
|
|
5
|
-
|
|
6
1
|
appraise 'spree-3-5' do
|
|
7
2
|
gem 'spree', '~> 3.5.0'
|
|
8
3
|
gem 'rails-controller-testing'
|
|
9
4
|
end
|
|
10
5
|
|
|
11
6
|
appraise 'spree-3-7' do
|
|
12
|
-
gem '
|
|
7
|
+
gem 'sass-rails'
|
|
8
|
+
gem 'spree', '~> 3.7.0'
|
|
9
|
+
gem 'rails-controller-testing'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
appraise 'spree-4-0' do
|
|
13
|
+
gem 'spree', '~> 4.0.0.rc2'
|
|
13
14
|
gem 'rails-controller-testing'
|
|
14
15
|
end
|
|
15
16
|
|
data/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://travis-ci.org/spree/spree_auth_devise)
|
|
4
4
|
[](https://codeclimate.com/github/spree/spree_auth_devise)
|
|
5
5
|
|
|
6
|
-
Provides authentication services for Spree, using the Devise gem.
|
|
6
|
+
Provides authentication services for [Spree](https://spreecommerce.org), using the [Devise](https://github.com/plataformatec/devise) gem.
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
@@ -119,10 +119,18 @@ This methodology can also be used by gems that extend spree and want/need to add
|
|
|
119
119
|
|
|
120
120
|
If you encounter issues when using Ruby 2.5, please run:
|
|
121
121
|
|
|
122
|
-
```
|
|
122
|
+
```bash
|
|
123
123
|
bundle update devise
|
|
124
124
|
```
|
|
125
125
|
|
|
126
|
+
### Creating the default Admin user
|
|
127
|
+
|
|
128
|
+
If you didn't created the Admin user from the installer you can run this rake task:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
bundle exec rake spree_auth:admin:create
|
|
132
|
+
```
|
|
133
|
+
|
|
126
134
|
## Testing
|
|
127
135
|
|
|
128
136
|
You need to do a quick one-time creation of a test application and then you can use it to run the tests.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# For the API
|
|
2
|
-
|
|
2
|
+
module MetalDecorator
|
|
3
3
|
def spree_current_user
|
|
4
4
|
@spree_current_user ||= if defined? env
|
|
5
5
|
env['warden'].user
|
|
@@ -8,3 +8,5 @@ ActionController::Metal.class_eval do
|
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
|
+
|
|
12
|
+
ActionController::Metal.prepend(MetalDecorator)
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
<%= form_for Spree::User.new, :as => :spree_user, :url => spree.create_new_session_path do |f| %>
|
|
2
2
|
<div id="password-credentials">
|
|
3
|
-
<
|
|
3
|
+
<p>
|
|
4
4
|
<%= f.label :email, Spree.t(:email) %>
|
|
5
|
-
<%= f.email_field :email,
|
|
6
|
-
</
|
|
7
|
-
<
|
|
5
|
+
<%= f.email_field :email, :class => 'form-control', :tabindex => 1, autofocus: true %>
|
|
6
|
+
</p>
|
|
7
|
+
<p>
|
|
8
8
|
<%= f.label :password, Spree.t(:password) %>
|
|
9
|
-
<%= f.password_field :password,
|
|
10
|
-
</
|
|
11
|
-
</div>
|
|
12
|
-
<div>
|
|
13
|
-
<%= f.check_box :remember_me, :tabindex => 3 %>
|
|
14
|
-
<%= f.label :remember_me, Spree.t(:remember_me) %>
|
|
9
|
+
<%= f.password_field :password, :class => 'form-control', :tabindex => 2 %>
|
|
10
|
+
</p>
|
|
15
11
|
</div>
|
|
12
|
+
<p class="form-check">
|
|
13
|
+
<%= f.check_box :remember_me, :tabindex => 3, :class => 'form-check-input' %>
|
|
14
|
+
<%= f.label :remember_me, Spree.t(:remember_me), :class => 'form-check-label' %>
|
|
15
|
+
</p>
|
|
16
16
|
|
|
17
|
-
<
|
|
18
|
-
<% end %>
|
|
17
|
+
<p><%= f.submit Spree.t(:login), :class => 'btn btn-lg btn-success btn-block', :tabindex => 4 %></p>
|
|
18
|
+
<% end %>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<%= render :partial => 'spree/shared/error_messages', :locals => { :target => @spree_user } %>
|
|
2
|
-
<div class="col-
|
|
3
|
-
<div class="
|
|
4
|
-
<div class="
|
|
5
|
-
<h3 class="
|
|
2
|
+
<div class="col-lg-6 offset-lg-3">
|
|
3
|
+
<div class="card mb-3">
|
|
4
|
+
<div class="card-header">
|
|
5
|
+
<h3 class="card-title mb-0 h6"><%= Spree.t(:change_your_password) %></h3>
|
|
6
6
|
</div>
|
|
7
|
-
<div class="
|
|
7
|
+
<div class="card-body">
|
|
8
8
|
<%= form_for @spree_user, :as => :spree_user, :url => spree.update_password_path, :method => :put do |f| %>
|
|
9
9
|
<div class="form-group">
|
|
10
10
|
<%= f.label :password, Spree.t(:password) %>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<%= render :partial => 'spree/shared/error_messages', :locals => { :target => @spree_user } %>
|
|
2
|
-
<div class="col-
|
|
3
|
-
<div class="
|
|
4
|
-
<div class="
|
|
5
|
-
<h3 class="
|
|
2
|
+
<div class="col-lg-6 offset-lg-3" id="forgot-password">
|
|
3
|
+
<div class="card mb-3">
|
|
4
|
+
<div class="card-header">
|
|
5
|
+
<h3 class="card-title mb-0 h6"><%= Spree.t(:forgot_password) %></h3>
|
|
6
6
|
</div>
|
|
7
|
-
<div class="
|
|
7
|
+
<div class="card-body">
|
|
8
8
|
<p><%= Spree.t(:instructions_to_reset_password) %></p>
|
|
9
9
|
|
|
10
10
|
<%= form_for Spree::User.new, :as => :spree_user, :url => spree.reset_password_path do |f| %>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<% @body_id = 'signup' %>
|
|
2
2
|
<%= render :partial => 'spree/shared/error_messages', :locals => { :target => @user } %>
|
|
3
|
-
<div class="col-
|
|
4
|
-
<div class="
|
|
5
|
-
<div class="
|
|
6
|
-
<h3 class="
|
|
7
|
-
|
|
8
|
-
<div id="new-customer" class="
|
|
3
|
+
<div class="col-lg-6 offset-lg-3">
|
|
4
|
+
<div class="card mb-3">
|
|
5
|
+
<div class="card-header">
|
|
6
|
+
<h3 class="card-title mb-0 h6"><%= Spree.t(:new_customer) %></h3>
|
|
7
|
+
</div>
|
|
8
|
+
<div id="new-customer" class="card-body" data-hook="login">
|
|
9
9
|
<%= form_for resource, :as => :spree_user, :url => spree.registration_path do |f| %>
|
|
10
10
|
<div data-hook="signup_inside_form">
|
|
11
11
|
<%= render :partial => 'spree/shared/user_form', :locals => { :f => f } %>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<% @body_id = 'login' %>
|
|
2
|
-
<div class="col-
|
|
3
|
-
<div class="
|
|
4
|
-
<div class="
|
|
5
|
-
<h3 class="
|
|
6
|
-
|
|
7
|
-
<div id="existing-customer" class="
|
|
2
|
+
<div class="col-lg-6 <%= request.path == spree.login_path ? "offset-lg-3" : "" %>">
|
|
3
|
+
<div class="card mb-3">
|
|
4
|
+
<div class="card-header">
|
|
5
|
+
<h3 class="card-title mb-0 h6"><%= Spree.t(:login_as_existing) %></h3>
|
|
6
|
+
</div>
|
|
7
|
+
<div id="existing-customer" class="card-body" data-hook="login">
|
|
8
8
|
<%= render :partial => 'spree/shared/login' %>
|
|
9
9
|
<div class="text-center">
|
|
10
10
|
<%= Spree.t(:or) %>
|
|
@@ -40,7 +40,7 @@ Devise.setup do |config|
|
|
|
40
40
|
config.stretches = 20
|
|
41
41
|
|
|
42
42
|
# Setup a pepper to generate the encrypted password.
|
|
43
|
-
config.pepper =
|
|
43
|
+
# config.pepper = '<%= SecureRandom.hex(64) %>'
|
|
44
44
|
|
|
45
45
|
# ==> Configuration for :confirmable
|
|
46
46
|
# The time you want to give your user to confirm his account. During this time
|
data/config/locales/en.yml
CHANGED
|
@@ -41,6 +41,7 @@ en:
|
|
|
41
41
|
user_registrations:
|
|
42
42
|
destroyed: Bye! Your account was successfully cancelled. We hope to see you again soon.
|
|
43
43
|
inactive_signed_up: 'You have signed up successfully. However, we could not sign you in because your account is %{reason}.'
|
|
44
|
+
signed_up_but_unconfirmed: You have signed up successfully.
|
|
44
45
|
signed_up: Welcome! You have signed up successfully.
|
|
45
46
|
updated: You updated your account successfully.
|
|
46
47
|
user_sessions:
|
data/gemfiles/spree_3_7.gemfile
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Spree::Admin::
|
|
1
|
+
module Spree::Admin::BaseControllerDecorator
|
|
2
2
|
# Redirect as appropriate when an access request fails. The default action is to redirect to the login screen.
|
|
3
3
|
# Override this method in your controllers if you want to have special behavior in case the user is not authorized
|
|
4
4
|
# to access the requested action. For example, a popup window might simply close itself.
|
|
@@ -22,3 +22,4 @@ Spree::Admin::BaseController.class_eval do
|
|
|
22
22
|
nil
|
|
23
23
|
end
|
|
24
24
|
end
|
|
25
|
+
Spree::Admin::BaseController.prepend(Spree::Admin::BaseControllerDecorator)
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
Spree::Admin::Orders::
|
|
2
|
-
|
|
1
|
+
module Spree::Admin::Orders::CustomerDetailsControllerDecorator
|
|
2
|
+
|
|
3
|
+
def self.prepended(base)
|
|
4
|
+
base.before_action :check_authorization
|
|
5
|
+
end
|
|
3
6
|
|
|
4
7
|
private
|
|
5
8
|
|
|
@@ -14,3 +17,4 @@ Spree::Admin::Orders::CustomerDetailsController.class_eval do
|
|
|
14
17
|
authorize! action, resource, session[:access_token]
|
|
15
18
|
end
|
|
16
19
|
end
|
|
20
|
+
Spree::Admin::Orders::CustomerDetailsController.prepend(Spree::Admin::Orders::CustomerDetailsControllerDecorator)
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
Spree::Admin::
|
|
2
|
-
|
|
1
|
+
module Spree::Admin::OrdersControllerDecorator
|
|
2
|
+
|
|
3
|
+
def self.prepended(base)
|
|
4
|
+
base.before_action :check_authorization
|
|
5
|
+
end
|
|
3
6
|
|
|
4
7
|
private
|
|
5
8
|
|
|
@@ -19,3 +22,4 @@ Spree::Admin::OrdersController.class_eval do
|
|
|
19
22
|
end
|
|
20
23
|
end
|
|
21
24
|
end
|
|
25
|
+
Spree::Admin::OrdersController.prepend(Spree::Admin::OrdersControllerDecorator)
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
require 'spree/core/validators/email' if Spree.version.to_f < 3.5
|
|
2
|
-
Spree::
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
module Spree::CheckoutControllerDecorator
|
|
3
|
+
def self.prepended(base)
|
|
4
|
+
base.before_action :check_authorization
|
|
5
|
+
base.before_action :check_registration, except: [:registration, :update_registration]
|
|
6
|
+
end
|
|
5
7
|
|
|
6
8
|
def registration
|
|
7
9
|
@user = Spree::User.new
|
|
@@ -39,3 +41,4 @@ Spree::CheckoutController.class_eval do
|
|
|
39
41
|
redirect_to spree.checkout_registration_path
|
|
40
42
|
end
|
|
41
43
|
end
|
|
44
|
+
Spree::CheckoutController.prepend(Spree::CheckoutControllerDecorator)
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
class Spree::UsersController < Spree::StoreController
|
|
2
|
-
|
|
3
|
-
prepend_before_action :load_object, only: [:show, :edit, :update]
|
|
2
|
+
skip_before_action :set_current_order, only: :show
|
|
4
3
|
prepend_before_action :authorize_actions, only: :new
|
|
5
4
|
|
|
6
5
|
include Spree::Core::ControllerHelpers
|
|
7
6
|
|
|
8
7
|
def show
|
|
8
|
+
load_object
|
|
9
9
|
@orders = @user.orders.complete.order('completed_at desc')
|
|
10
10
|
end
|
|
11
11
|
|
|
@@ -23,8 +23,13 @@ class Spree::UsersController < Spree::StoreController
|
|
|
23
23
|
end
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
+
def edit
|
|
27
|
+
load_object
|
|
28
|
+
end
|
|
29
|
+
|
|
26
30
|
def update
|
|
27
|
-
|
|
31
|
+
load_object
|
|
32
|
+
if @user.update(user_params)
|
|
28
33
|
if params[:user][:password].present?
|
|
29
34
|
# this logic needed b/c devise wants to log us out after password changes
|
|
30
35
|
Spree::User.reset_password_by_token(params[:user])
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
<div class="alert alert-danger"><%= flash[:alert] %></div>
|
|
3
3
|
<% end %>
|
|
4
4
|
|
|
5
|
-
<div data-hook="login" class="
|
|
6
|
-
<div class="
|
|
5
|
+
<div data-hook="login" class="card border-0">
|
|
6
|
+
<div class="card-body">
|
|
7
7
|
<%= form_for Spree::User.new, :as => :spree_user, :url => spree.admin_create_new_session_path do |f| %>
|
|
8
8
|
<div id="password-credentials">
|
|
9
9
|
<div class="form-group text-center">
|
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
</div>
|
|
18
18
|
<div class="checkbox form-group">
|
|
19
19
|
<div class="row">
|
|
20
|
-
<div class="col-
|
|
20
|
+
<div class="col-lg-6">
|
|
21
21
|
<%= f.label :remember_me do %>
|
|
22
22
|
<%= f.check_box :remember_me, :tabindex => 3 %>
|
|
23
23
|
<%= Spree.t(:remember_me) %>
|
|
24
24
|
<% end %>
|
|
25
25
|
</div>
|
|
26
|
-
<div class="col-
|
|
26
|
+
<div class="col-lg-6 text-right">
|
|
27
27
|
<%= link_to Spree.t(:forgot_password), spree.recover_password_path %>
|
|
28
28
|
</div>
|
|
29
29
|
</div>
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
<%= render partial: 'spree/admin/shared/head' %>
|
|
9
9
|
</head>
|
|
10
10
|
|
|
11
|
-
<body>
|
|
11
|
+
<body class="pt-5">
|
|
12
12
|
<div class="container">
|
|
13
13
|
|
|
14
14
|
<div class="row">
|
|
15
|
-
<div class="col-
|
|
15
|
+
<div class="col-lg-6 offset-lg-3">
|
|
16
16
|
<%= render partial: 'spree/admin/shared/header' %>
|
|
17
17
|
|
|
18
18
|
<%= flash_alert(flash) %>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<div
|
|
2
|
-
<div class="
|
|
3
|
-
<div class="
|
|
4
|
-
<h3 class="
|
|
1
|
+
<div>
|
|
2
|
+
<div class="card mb-3">
|
|
3
|
+
<div class="card-header">
|
|
4
|
+
<h3 class="card-title mb-0 h6"><%= Spree.t(:create_a_new_account) %></h3>
|
|
5
5
|
</div>
|
|
6
|
-
<div id="new-customer" class="
|
|
6
|
+
<div id="new-customer" class="card-body" data-hook="login">
|
|
7
7
|
<%= form_for @user, :as => :spree_user, :url => spree.registration_path(@user) do |f| %>
|
|
8
8
|
<div data-hook="signup_inside_form">
|
|
9
9
|
<%= render :partial => 'spree/shared/user_form', :locals => { :f => f } %>
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
<%= render :partial => 'spree/shared/error_messages', :locals => { :target => @user } %>
|
|
2
2
|
<h1><%= Spree.t(:registration) %></h1>
|
|
3
3
|
<div id="registration" class="row" data-hook>
|
|
4
|
-
<div id="account">
|
|
4
|
+
<div id="account" class="col-lg-6">
|
|
5
5
|
<%= render :partial => 'new_user' %>
|
|
6
6
|
</div>
|
|
7
7
|
<% if Spree::Config[:allow_guest_checkout] %>
|
|
8
|
-
<div class="col-
|
|
9
|
-
<div class="
|
|
10
|
-
<div class="
|
|
11
|
-
<h3 class="
|
|
8
|
+
<div class="col-lg-6">
|
|
9
|
+
<div class="card mb-3">
|
|
10
|
+
<div class="card-header">
|
|
11
|
+
<h3 class="card-title mb-0 h6"><%= Spree.t(:guest_user_account) %></h3>
|
|
12
12
|
</div>
|
|
13
|
-
<div id="guest_checkout" class="
|
|
13
|
+
<div id="guest_checkout" class="card-body" data-hook>
|
|
14
14
|
<%= form_for @order, :url => update_checkout_registration_path, :method => :put, :html => { :id => 'checkout_form_registration' } do |f| %>
|
|
15
15
|
<div class="form-group">
|
|
16
16
|
<%= f.label :email, Spree.t(:email), class: 'required', title: 'required' %>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<% if spree_current_user %>
|
|
2
|
-
<li><%= link_to Spree.t(:my_account), spree.account_path %></li>
|
|
3
|
-
<li><%= link_to Spree.t(:logout), spree.logout_path %></li>
|
|
2
|
+
<li class="nav-item"><%= link_to Spree.t(:my_account), spree.account_path, :class => 'nav-link text-white' %></li>
|
|
3
|
+
<li class="nav-item"><%= link_to Spree.t(:logout), spree.logout_path, :class => 'nav-link text-white' %></li>
|
|
4
4
|
<% else %>
|
|
5
|
-
<li id="link-to-login"><%= link_to Spree.t(:login), spree.login_path %></li>
|
|
5
|
+
<li id="link-to-login" class="nav-item"><%= link_to Spree.t(:login), spree.login_path, :class => 'nav-link text-white' %></li>
|
|
6
6
|
<% end %>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<div class="col-
|
|
2
|
-
<div class="
|
|
3
|
-
<div class="
|
|
4
|
-
<h3 class="
|
|
1
|
+
<div class="col-lg-6 offset-lg-3">
|
|
2
|
+
<div class="card mb-3">
|
|
3
|
+
<div class="card-header">
|
|
4
|
+
<h3 class="card-title mb-0 h6"><%= Spree.t(:editing_user) %></h3>
|
|
5
5
|
</div>
|
|
6
|
-
<div class="
|
|
6
|
+
<div class="card-body">
|
|
7
7
|
<%= render :partial => 'spree/shared/error_messages', :locals => { :target => @user } %>
|
|
8
8
|
|
|
9
9
|
<%= form_for Spree::User.new, :as => @user, :url => spree.user_path(@user), :method => :put do |f| %>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<h1><%= accurate_title %></h1>
|
|
2
2
|
|
|
3
|
-
<div data-hook="account_summary" class="account-summary
|
|
4
|
-
<dl id="user-info">
|
|
3
|
+
<div data-hook="account_summary" class="account-summary card bg-light mb-3">
|
|
4
|
+
<dl id="user-info" class="card-body">
|
|
5
5
|
<dt><%= Spree.t(:email) %></dt>
|
|
6
6
|
<dd><%= @user.email %> (<%= link_to Spree.t(:edit), spree.edit_account_path %>)</dd>
|
|
7
7
|
<br />
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
</tbody>
|
|
42
42
|
</table>
|
|
43
43
|
<% else %>
|
|
44
|
-
<div class="alert alert-info"><%= Spree.t(:you_have_no_orders_yet) %></div>
|
|
44
|
+
<div class="alert alert-info" role="alert"><%= Spree.t(:you_have_no_orders_yet) %></div>
|
|
45
45
|
<% end %>
|
|
46
46
|
<br />
|
|
47
47
|
|
|
@@ -91,7 +91,11 @@ RSpec.describe Spree::CheckoutController, type: :controller do
|
|
|
91
91
|
before do
|
|
92
92
|
allow(controller).to receive(:spree_current_user) { user }
|
|
93
93
|
allow(order).to receive(:user) { user }
|
|
94
|
-
|
|
94
|
+
if Spree.version.to_f > 3.6
|
|
95
|
+
allow(order).to receive(:token) { nil }
|
|
96
|
+
else
|
|
97
|
+
allow(order).to receive(:guest_token) { nil }
|
|
98
|
+
end
|
|
95
99
|
end
|
|
96
100
|
|
|
97
101
|
it 'redirects to the standard order view' do
|
|
@@ -111,7 +115,11 @@ RSpec.describe Spree::CheckoutController, type: :controller do
|
|
|
111
115
|
|
|
112
116
|
it 'checks if the user is authorized for :edit' do
|
|
113
117
|
expect(controller).to receive(:authorize!).with(:edit, order, token)
|
|
114
|
-
|
|
118
|
+
if Spree.version.to_f > 3.6
|
|
119
|
+
request.cookie_jar.signed[:token] = token
|
|
120
|
+
else
|
|
121
|
+
request.cookie_jar.signed[:guest_token] = token
|
|
122
|
+
end
|
|
115
123
|
spree_get :registration, {}
|
|
116
124
|
end
|
|
117
125
|
end
|
|
@@ -121,7 +129,7 @@ RSpec.describe Spree::CheckoutController, type: :controller do
|
|
|
121
129
|
|
|
122
130
|
it 'does not check registration' do
|
|
123
131
|
controller.stub :check_authorization
|
|
124
|
-
order.stub
|
|
132
|
+
order.stub update: true
|
|
125
133
|
controller.should_not_receive :check_registration
|
|
126
134
|
spree_put :update_registration, { order: {} }
|
|
127
135
|
end
|
|
@@ -134,15 +142,19 @@ RSpec.describe Spree::CheckoutController, type: :controller do
|
|
|
134
142
|
end
|
|
135
143
|
|
|
136
144
|
it 'redirects to the checkout_path after saving' do
|
|
137
|
-
allow(order).to receive(:
|
|
145
|
+
allow(order).to receive(:update) { true }
|
|
138
146
|
allow(controller).to receive(:check_authorization)
|
|
139
147
|
spree_put :update_registration, { order: { email: 'jobs@spreecommerce.com' } }
|
|
140
148
|
expect(response).to redirect_to spree.checkout_state_path(:address)
|
|
141
149
|
end
|
|
142
150
|
|
|
143
151
|
it 'checks if the user is authorized for :edit' do
|
|
144
|
-
|
|
145
|
-
|
|
152
|
+
if Spree.version.to_f > 3.6
|
|
153
|
+
request.cookie_jar.signed[:token] = token
|
|
154
|
+
else
|
|
155
|
+
request.cookie_jar.signed[:guest_token] = token
|
|
156
|
+
end
|
|
157
|
+
allow(order).to receive(:update) { true }
|
|
146
158
|
expect(controller).to receive(:authorize!).with(:edit, order, token)
|
|
147
159
|
spree_put :update_registration, { order: { email: 'jobs@spreecommerce.com' } }
|
|
148
160
|
end
|
|
@@ -11,11 +11,19 @@ RSpec.describe Spree::UserRegistrationsController, type: :controller do
|
|
|
11
11
|
|
|
12
12
|
context 'with a guest token present' do
|
|
13
13
|
before do
|
|
14
|
-
|
|
14
|
+
if Spree.version.to_f > 3.6
|
|
15
|
+
request.cookie_jar.signed[:token] = 'ABC'
|
|
16
|
+
else
|
|
17
|
+
request.cookie_jar.signed[:guest_token] = 'ABC'
|
|
18
|
+
end
|
|
15
19
|
end
|
|
16
20
|
|
|
17
21
|
it 'assigns orders with the correct token and no user present' do
|
|
18
|
-
|
|
22
|
+
if Spree.version.to_f > 3.6
|
|
23
|
+
order = create(:order, token: 'ABC', user_id: nil, created_by_id: nil)
|
|
24
|
+
else
|
|
25
|
+
order = create(:order, guest_token: 'ABC', user_id: nil, created_by_id: nil)
|
|
26
|
+
end
|
|
19
27
|
spree_post :create, spree_user: { email: 'foobar@example.com', password: 'foobar123', password_confirmation: 'foobar123' }
|
|
20
28
|
user = Spree::User.find_by_email('foobar@example.com')
|
|
21
29
|
|
|
@@ -25,14 +33,22 @@ RSpec.describe Spree::UserRegistrationsController, type: :controller do
|
|
|
25
33
|
end
|
|
26
34
|
|
|
27
35
|
it 'does not assign orders with an existing user' do
|
|
28
|
-
|
|
36
|
+
if Spree.version.to_f > 3.6
|
|
37
|
+
order = create(:order, token: 'ABC', user_id: 200)
|
|
38
|
+
else
|
|
39
|
+
order = create(:order, guest_token: 'ABC', user_id: 200)
|
|
40
|
+
end
|
|
29
41
|
spree_post :create, spree_user: { email: 'foobar@example.com', password: 'foobar123', password_confirmation: 'foobar123' }
|
|
30
42
|
|
|
31
43
|
expect(order.reload.user_id).to eq 200
|
|
32
44
|
end
|
|
33
45
|
|
|
34
46
|
it 'does not assign orders with a different token' do
|
|
35
|
-
|
|
47
|
+
if Spree.version.to_f > 3.6
|
|
48
|
+
order = create(:order, token: 'DEF', user_id: nil, created_by_id: nil)
|
|
49
|
+
else
|
|
50
|
+
order = create(:order, guest_token: 'DEF', user_id: nil, created_by_id: nil)
|
|
51
|
+
end
|
|
36
52
|
spree_post :create, spree_user: { email: 'foobar@example.com', password: 'foobar123', password_confirmation: 'foobar123' }
|
|
37
53
|
|
|
38
54
|
expect(order.reload.user_id).to be_nil
|
|
@@ -59,11 +59,19 @@ RSpec.describe Spree::UserSessionsController, type: :controller do
|
|
|
59
59
|
|
|
60
60
|
context 'with a guest token present' do
|
|
61
61
|
before do
|
|
62
|
-
|
|
62
|
+
if Spree.version.to_f > 3.6
|
|
63
|
+
request.cookie_jar.signed[:token] = 'ABC'
|
|
64
|
+
else
|
|
65
|
+
request.cookie_jar.signed[:guest_token] = 'ABC'
|
|
66
|
+
end
|
|
63
67
|
end
|
|
64
68
|
|
|
65
69
|
it 'assigns orders with the correct token and no user present' do
|
|
66
|
-
|
|
70
|
+
if Spree.version.to_f > 3.6
|
|
71
|
+
order = create(:order, email: user.email, token: 'ABC', user_id: nil, created_by_id: nil)
|
|
72
|
+
else
|
|
73
|
+
order = create(:order, email: user.email, guest_token: 'ABC', user_id: nil, created_by_id: nil)
|
|
74
|
+
end
|
|
67
75
|
spree_post :create, spree_user: { email: user.email, password: 'secret' }
|
|
68
76
|
|
|
69
77
|
order.reload
|
|
@@ -72,7 +80,11 @@ RSpec.describe Spree::UserSessionsController, type: :controller do
|
|
|
72
80
|
end
|
|
73
81
|
|
|
74
82
|
it 'assigns orders with the correct token and no user or email present' do
|
|
75
|
-
|
|
83
|
+
if Spree.version.to_f > 3.6
|
|
84
|
+
order = create(:order, token: 'ABC', user_id: nil, created_by_id: nil)
|
|
85
|
+
else
|
|
86
|
+
order = create(:order, guest_token: 'ABC', user_id: nil, created_by_id: nil)
|
|
87
|
+
end
|
|
76
88
|
spree_post :create, spree_user: { email: user.email, password: 'secret' }
|
|
77
89
|
|
|
78
90
|
order.reload
|
|
@@ -81,9 +93,15 @@ RSpec.describe Spree::UserSessionsController, type: :controller do
|
|
|
81
93
|
end
|
|
82
94
|
|
|
83
95
|
it 'does not assign completed orders' do
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
96
|
+
if Spree.version.to_f > 3.6
|
|
97
|
+
order = create(:order, email: user.email, token: 'ABC',
|
|
98
|
+
user_id: nil, created_by_id: nil,
|
|
99
|
+
completed_at: 1.minute.ago)
|
|
100
|
+
else
|
|
101
|
+
order = create(:order, email: user.email, guest_token: 'ABC',
|
|
102
|
+
user_id: nil, created_by_id: nil,
|
|
103
|
+
completed_at: 1.minute.ago)
|
|
104
|
+
end
|
|
87
105
|
spree_post :create, spree_user: { email: user.email, password: 'secret' }
|
|
88
106
|
|
|
89
107
|
order.reload
|
|
@@ -92,14 +110,22 @@ RSpec.describe Spree::UserSessionsController, type: :controller do
|
|
|
92
110
|
end
|
|
93
111
|
|
|
94
112
|
it 'does not assign orders with an existing user' do
|
|
95
|
-
|
|
113
|
+
if Spree.version.to_f > 3.6
|
|
114
|
+
order = create(:order, token: 'ABC', user_id: 200)
|
|
115
|
+
else
|
|
116
|
+
order = create(:order, guest_token: 'ABC', user_id: 200)
|
|
117
|
+
end
|
|
96
118
|
spree_post :create, spree_user: { email: user.email, password: 'secret' }
|
|
97
119
|
|
|
98
120
|
expect(order.reload.user_id).to eq 200
|
|
99
121
|
end
|
|
100
122
|
|
|
101
123
|
it 'does not assign orders with a different token' do
|
|
102
|
-
|
|
124
|
+
if Spree.version.to_f > 3.6
|
|
125
|
+
order = create(:order, token: 'DEF', user_id: nil, created_by_id: nil)
|
|
126
|
+
else
|
|
127
|
+
order = create(:order, guest_token: 'DEF', user_id: nil, created_by_id: nil)
|
|
128
|
+
end
|
|
103
129
|
spree_post :create, spree_user: { email: user.email, password: 'secret' }
|
|
104
130
|
|
|
105
131
|
expect(order.reload.user_id).to be_nil
|
|
@@ -133,11 +133,10 @@ RSpec.feature 'Checkout', :js, type: :feature do
|
|
|
133
133
|
|
|
134
134
|
expect(page).to have_text 'Registration'
|
|
135
135
|
|
|
136
|
-
fill_in 'Email', with: 'email@person.com'
|
|
136
|
+
fill_in 'Email', with: 'email@person.com', match: :first
|
|
137
137
|
fill_in 'Password', with: 'spree123'
|
|
138
138
|
fill_in 'Password Confirmation', with: 'spree123'
|
|
139
139
|
click_button 'Create'
|
|
140
|
-
|
|
141
140
|
expect(page).to have_text 'You have signed up successfully.'
|
|
142
141
|
|
|
143
142
|
str_addr = 'bill_address'
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
RSpec.feature 'User update', type: :request do
|
|
4
|
+
context 'CSRF protection' do
|
|
5
|
+
%i[exception reset_session null_session].each do |strategy|
|
|
6
|
+
# Completely clean the configuration of forgery protection for the
|
|
7
|
+
# controller and reset it after the expectations. However, besides `:with`,
|
|
8
|
+
# the options given to `protect_from_forgery` are processed on the fly.
|
|
9
|
+
# I.e., there's no way to retain them. The initial setup corresponds to the
|
|
10
|
+
# dummy application, which uses the default Rails skeleton in that regard.
|
|
11
|
+
# So, if at some point Rails changed the given options, we should update it
|
|
12
|
+
# here.
|
|
13
|
+
around do |example|
|
|
14
|
+
controller = Spree::UsersController
|
|
15
|
+
old_allow_forgery_protection_value = controller.allow_forgery_protection
|
|
16
|
+
old_forgery_protection_strategy = controller.forgery_protection_strategy
|
|
17
|
+
controller.skip_forgery_protection
|
|
18
|
+
controller.allow_forgery_protection = true
|
|
19
|
+
controller.protect_from_forgery with: strategy
|
|
20
|
+
|
|
21
|
+
example.run
|
|
22
|
+
|
|
23
|
+
controller.allow_forgery_protection = old_allow_forgery_protection_value
|
|
24
|
+
controller.forgery_protection_strategy = old_forgery_protection_strategy
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it "is not possible to take account over with the #{strategy} forgery protection strategy" do
|
|
28
|
+
user = create(:user, email: 'legit@mail.com', password: 'password')
|
|
29
|
+
|
|
30
|
+
post '/login', params: "spree_user[email]=legit@mail.com&spree_user[password]=password"
|
|
31
|
+
begin
|
|
32
|
+
put '/users/123456', params: 'user[email]=hacked@example.com'
|
|
33
|
+
rescue
|
|
34
|
+
# testing that the account is not compromised regardless of any raised
|
|
35
|
+
# exception
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
expect(user.reload.email).to eq('legit@mail.com')
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -22,6 +22,12 @@ RSpec.configure do |config|
|
|
|
22
22
|
|
|
23
23
|
config.order = :random
|
|
24
24
|
Kernel.srand(config.seed)
|
|
25
|
+
|
|
26
|
+
config.before(:each) do
|
|
27
|
+
allow(RSpec::Rails::ViewRendering::EmptyTemplateHandler)
|
|
28
|
+
.to receive(:call)
|
|
29
|
+
.and_return(%("")) if Rails.gem_version >= Gem::Version.new('6.0.0.beta1')
|
|
30
|
+
end
|
|
25
31
|
end
|
|
26
32
|
|
|
27
33
|
Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
|
data/spree_auth_devise.gemspec
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Gem::Specification.new do |s|
|
|
4
4
|
s.platform = Gem::Platform::RUBY
|
|
5
5
|
s.name = 'spree_auth_devise'
|
|
6
|
-
s.version = '
|
|
6
|
+
s.version = '4.0.1'
|
|
7
7
|
s.summary = 'Provides authentication and authorization services for use with Spree by using Devise and CanCan.'
|
|
8
8
|
s.description = s.summary
|
|
9
9
|
|
|
@@ -19,12 +19,13 @@ Gem::Specification.new do |s|
|
|
|
19
19
|
s.require_path = 'lib'
|
|
20
20
|
s.requirements << 'none'
|
|
21
21
|
|
|
22
|
-
s.add_dependency 'devise', '
|
|
22
|
+
s.add_dependency 'devise', '~> 4.7'
|
|
23
23
|
s.add_dependency 'devise-encryptable', '0.2.0'
|
|
24
24
|
|
|
25
|
-
spree_version = '>= 3.1.0', '< 4.
|
|
25
|
+
spree_version = '>= 3.1.0', '< 4.1'
|
|
26
26
|
s.add_dependency 'spree_core', spree_version
|
|
27
27
|
s.add_dependency 'spree_extension'
|
|
28
|
+
s.add_dependency 'deface', '~> 1.0'
|
|
28
29
|
|
|
29
30
|
s.add_development_dependency 'capybara', '~> 2.7'
|
|
30
31
|
s.add_development_dependency 'capybara-screenshot'
|
metadata
CHANGED
|
@@ -1,33 +1,27 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spree_auth_devise
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 4.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sean Schofield
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-11-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: devise
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '4.4'
|
|
20
|
-
- - "<"
|
|
17
|
+
- - "~>"
|
|
21
18
|
- !ruby/object:Gem::Version
|
|
22
19
|
version: '4.7'
|
|
23
20
|
type: :runtime
|
|
24
21
|
prerelease: false
|
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
23
|
requirements:
|
|
27
|
-
- - "
|
|
28
|
-
- !ruby/object:Gem::Version
|
|
29
|
-
version: '4.4'
|
|
30
|
-
- - "<"
|
|
24
|
+
- - "~>"
|
|
31
25
|
- !ruby/object:Gem::Version
|
|
32
26
|
version: '4.7'
|
|
33
27
|
- !ruby/object:Gem::Dependency
|
|
@@ -53,7 +47,7 @@ dependencies:
|
|
|
53
47
|
version: 3.1.0
|
|
54
48
|
- - "<"
|
|
55
49
|
- !ruby/object:Gem::Version
|
|
56
|
-
version: '4.
|
|
50
|
+
version: '4.1'
|
|
57
51
|
type: :runtime
|
|
58
52
|
prerelease: false
|
|
59
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -63,7 +57,7 @@ dependencies:
|
|
|
63
57
|
version: 3.1.0
|
|
64
58
|
- - "<"
|
|
65
59
|
- !ruby/object:Gem::Version
|
|
66
|
-
version: '4.
|
|
60
|
+
version: '4.1'
|
|
67
61
|
- !ruby/object:Gem::Dependency
|
|
68
62
|
name: spree_extension
|
|
69
63
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -78,6 +72,20 @@ dependencies:
|
|
|
78
72
|
- - ">="
|
|
79
73
|
- !ruby/object:Gem::Version
|
|
80
74
|
version: '0'
|
|
75
|
+
- !ruby/object:Gem::Dependency
|
|
76
|
+
name: deface
|
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '1.0'
|
|
82
|
+
type: :runtime
|
|
83
|
+
prerelease: false
|
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - "~>"
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '1.0'
|
|
81
89
|
- !ruby/object:Gem::Dependency
|
|
82
90
|
name: capybara
|
|
83
91
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -311,7 +319,7 @@ dependencies:
|
|
|
311
319
|
version: 3.1.0
|
|
312
320
|
- - "<"
|
|
313
321
|
- !ruby/object:Gem::Version
|
|
314
|
-
version: '4.
|
|
322
|
+
version: '4.1'
|
|
315
323
|
type: :development
|
|
316
324
|
prerelease: false
|
|
317
325
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -321,7 +329,7 @@ dependencies:
|
|
|
321
329
|
version: 3.1.0
|
|
322
330
|
- - "<"
|
|
323
331
|
- !ruby/object:Gem::Version
|
|
324
|
-
version: '4.
|
|
332
|
+
version: '4.1'
|
|
325
333
|
- !ruby/object:Gem::Dependency
|
|
326
334
|
name: spree_frontend
|
|
327
335
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -331,7 +339,7 @@ dependencies:
|
|
|
331
339
|
version: 3.1.0
|
|
332
340
|
- - "<"
|
|
333
341
|
- !ruby/object:Gem::Version
|
|
334
|
-
version: '4.
|
|
342
|
+
version: '4.1'
|
|
335
343
|
type: :development
|
|
336
344
|
prerelease: false
|
|
337
345
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -341,7 +349,7 @@ dependencies:
|
|
|
341
349
|
version: 3.1.0
|
|
342
350
|
- - "<"
|
|
343
351
|
- !ruby/object:Gem::Version
|
|
344
|
-
version: '4.
|
|
352
|
+
version: '4.1'
|
|
345
353
|
- !ruby/object:Gem::Dependency
|
|
346
354
|
name: sqlite3
|
|
347
355
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -432,16 +440,17 @@ files:
|
|
|
432
440
|
- gemfiles/spree_3_2.gemfile
|
|
433
441
|
- gemfiles/spree_3_5.gemfile
|
|
434
442
|
- gemfiles/spree_3_7.gemfile
|
|
443
|
+
- gemfiles/spree_4_0.gemfile
|
|
435
444
|
- gemfiles/spree_master.gemfile
|
|
436
445
|
- lib/assets/javascripts/spree/backend/spree_auth.js.erb
|
|
437
446
|
- lib/assets/javascripts/spree/frontend/account.js
|
|
438
447
|
- lib/assets/javascripts/spree/frontend/spree_auth.js.erb
|
|
439
448
|
- lib/assets/stylesheets/spree/backend/spree_auth.css.erb
|
|
440
449
|
- lib/assets/stylesheets/spree/frontend/spree_auth.css.erb
|
|
441
|
-
- lib/controllers/backend/spree/admin/
|
|
442
|
-
- lib/controllers/backend/spree/admin/admin_orders_controller_decorator.rb
|
|
443
|
-
- lib/controllers/backend/spree/admin/admin_resource_controller_decorator.rb
|
|
450
|
+
- lib/controllers/backend/spree/admin/base_controller_decorator.rb
|
|
444
451
|
- lib/controllers/backend/spree/admin/orders/customer_details_controller_decorator.rb
|
|
452
|
+
- lib/controllers/backend/spree/admin/orders_controller_decorator.rb
|
|
453
|
+
- lib/controllers/backend/spree/admin/resource_controller_decorator.rb
|
|
445
454
|
- lib/controllers/backend/spree/admin/user_passwords_controller.rb
|
|
446
455
|
- lib/controllers/backend/spree/admin/user_sessions_controller.rb
|
|
447
456
|
- lib/controllers/frontend/spree/checkout_controller_decorator.rb
|
|
@@ -495,6 +504,7 @@ files:
|
|
|
495
504
|
- spec/mailers/user_mailer_spec.rb
|
|
496
505
|
- spec/models/order_spec.rb
|
|
497
506
|
- spec/models/user_spec.rb
|
|
507
|
+
- spec/requests/spree/frontend/user_update_spec.rb
|
|
498
508
|
- spec/spec_helper.rb
|
|
499
509
|
- spec/support/ability.rb
|
|
500
510
|
- spec/support/add_to_cart.rb
|
|
@@ -513,7 +523,7 @@ homepage: https://spreecommerce.org
|
|
|
513
523
|
licenses:
|
|
514
524
|
- BSD-3-Clause
|
|
515
525
|
metadata: {}
|
|
516
|
-
post_install_message:
|
|
526
|
+
post_install_message:
|
|
517
527
|
rdoc_options: []
|
|
518
528
|
require_paths:
|
|
519
529
|
- lib
|
|
@@ -529,8 +539,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
529
539
|
version: '0'
|
|
530
540
|
requirements:
|
|
531
541
|
- none
|
|
532
|
-
rubygems_version: 3.
|
|
533
|
-
signing_key:
|
|
542
|
+
rubygems_version: 3.1.4
|
|
543
|
+
signing_key:
|
|
534
544
|
specification_version: 4
|
|
535
545
|
summary: Provides authentication and authorization services for use with Spree by
|
|
536
546
|
using Devise and CanCan.
|
|
@@ -562,6 +572,7 @@ test_files:
|
|
|
562
572
|
- spec/mailers/user_mailer_spec.rb
|
|
563
573
|
- spec/models/order_spec.rb
|
|
564
574
|
- spec/models/user_spec.rb
|
|
575
|
+
- spec/requests/spree/frontend/user_update_spec.rb
|
|
565
576
|
- spec/spec_helper.rb
|
|
566
577
|
- spec/support/ability.rb
|
|
567
578
|
- spec/support/add_to_cart.rb
|