spree_auth_devise 4.3.3 → 4.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +165 -29
- data/.github/dependabot.yml +11 -0
- data/.travis.yml +1 -11
- data/Gemfile +6 -2
- data/README.md +1 -2
- data/app/mailers/spree/user_mailer.rb +3 -3
- data/app/models/spree/user.rb +3 -0
- data/config/routes.rb +33 -29
- data/db/migrate/20210728103922_change_type_of_ship_address_id_and_bill_address_id_for_spree_users.rb +8 -0
- data/lib/controllers/backend/spree/admin/user_passwords_controller.rb +5 -4
- data/lib/controllers/backend/spree/admin/user_sessions_controller.rb +2 -3
- data/{app/controllers → lib/controllers/frontend}/spree/user_confirmations_controller.rb +9 -6
- data/{app/controllers → lib/controllers/frontend}/spree/user_passwords_controller.rb +8 -9
- data/{app/controllers → lib/controllers/frontend}/spree/user_registrations_controller.rb +8 -9
- data/{app/controllers → lib/controllers/frontend}/spree/user_sessions_controller.rb +11 -12
- data/lib/controllers/frontend/spree/users_controller.rb +8 -3
- data/lib/spree/auth/version.rb +1 -1
- data/lib/spree/testing_support/auth_helpers.rb +18 -10
- data/lib/views/backend/spree/admin/user_passwords/edit.html.erb +12 -11
- data/lib/views/backend/spree/admin/user_passwords/new.html.erb +9 -11
- data/lib/views/backend/spree/admin/user_sessions/new.html.erb +4 -4
- data/{app/views → lib/views/frontend}/spree/user_passwords/edit.html.erb +0 -0
- data/{app/views → lib/views/frontend}/spree/user_passwords/new.html.erb +0 -0
- data/{app/views → lib/views/frontend}/spree/user_registrations/new.html.erb +0 -0
- data/{app/views → lib/views/frontend}/spree/user_sessions/new.html.erb +0 -0
- data/spec/controllers/spree/user_sessions_controller_spec.rb +13 -1
- data/spec/controllers/spree/users_controller_spec.rb +1 -1
- data/spec/features/account_spec.rb +2 -2
- data/spec/features/admin/orders_spec.rb +4 -2
- data/spec/features/admin/password_reset_spec.rb +1 -1
- data/spec/features/admin/sign_in_spec.rb +5 -5
- data/spec/features/admin/sign_out_spec.rb +5 -5
- data/spec/features/admin_permissions_spec.rb +1 -1
- data/spec/features/checkout_spec.rb +1 -1
- data/spec/features/order_spec.rb +2 -2
- data/spec/features/sign_in_spec.rb +29 -7
- data/spec/features/sign_out_spec.rb +2 -2
- data/spec/models/user_spec.rb +27 -0
- data/spec/requests/spree/api/v2/storefront/account_confirmation_spec.rb +0 -9
- data/spec/requests/spree/frontend/user_update_spec.rb +42 -0
- data/spec/spec_helper.rb +4 -0
- data/spec/support/confirm_helpers.rb +1 -0
- data/spree_auth_devise.gemspec +1 -1
- metadata +19 -27
- data/Appraisals +0 -9
- data/app/services/spree/account/create.rb +0 -19
- data/app/services/spree/account/update.rb +0 -17
- data/gemfiles/spree_4_1.gemfile +0 -8
- data/gemfiles/spree_master.gemfile +0 -8
- data/lib/controllers/api/spree/api/v2/storefront/account_controller_decorator.rb +0 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4fb338dbef2e181d223f6e14b1a8d56bd70e583bb236ecad2e8dd789831961da
|
4
|
+
data.tar.gz: bb1d7586b41087b8aea34ec13f1bad8be7474b4cd86595b66cab11c4debd0ff5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c787c99ace2df8fc064fcf729f00aee7443e3bace6633a9a105c68378cd672eee15fab48230318ce9af3c43b15e763eca90fe16287f114515d7a2f0922bf7a1
|
7
|
+
data.tar.gz: e0ee63fa233a7e7e1b9300e5c283ee786127fbca22bfbfd352377b0d73b75a054008113cdeb90ceae4e9727cbc7b1007db4257fa2d2fa1f0f14a9c981b7f8fbe
|
data/.circleci/config.yml
CHANGED
@@ -1,41 +1,177 @@
|
|
1
|
-
version: 2
|
1
|
+
version: 2.1
|
2
|
+
|
3
|
+
defaults: &defaults
|
4
|
+
environment: &environment
|
5
|
+
CIRCLE_TEST_REPORTS: /tmp/test-results
|
6
|
+
CIRCLE_ARTIFACTS: /tmp/test-artifacts
|
7
|
+
BUNDLE_JOBS: 4
|
8
|
+
BUNDLE_RETRY: 3
|
9
|
+
BUNDLE_PATH: ~/spree/vendor/bundle
|
10
|
+
working_directory: ~/spree
|
11
|
+
docker:
|
12
|
+
- image: &ruby_image circleci/ruby:2.7-node-browsers
|
13
|
+
- image: &redis_image circleci/redis:6.2-alpine
|
14
|
+
|
15
|
+
defaults_3_0: &defaults_3_0
|
16
|
+
<<: *defaults
|
17
|
+
docker:
|
18
|
+
- image: &ruby_3_0_image circleci/ruby:3.0-node-browsers
|
19
|
+
- image: *redis_image
|
20
|
+
|
21
|
+
run_tests: &run_tests
|
22
|
+
<<: *defaults
|
23
|
+
steps:
|
24
|
+
- checkout
|
25
|
+
- restore_cache:
|
26
|
+
keys:
|
27
|
+
- spree-auth-devise-bundle-v9-ruby-2-7-{{ .Branch }}
|
28
|
+
- spree-auth-devise-bundle-v9-ruby-2-7
|
29
|
+
- run:
|
30
|
+
name: Set bundle path
|
31
|
+
command: bundle config --local path vendor/bundle
|
32
|
+
- run:
|
33
|
+
name: Ensure bundle Install
|
34
|
+
command: |
|
35
|
+
bundle check || bundle install
|
36
|
+
- run:
|
37
|
+
name: Create test app
|
38
|
+
command: |
|
39
|
+
bundle exec rake test_app
|
40
|
+
- run:
|
41
|
+
name: Run Rspec
|
42
|
+
command: |
|
43
|
+
TESTFILES=$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
|
44
|
+
bundle exec rspec --format documentation \
|
45
|
+
--format RspecJunitFormatter \
|
46
|
+
-o ~/rspec/rspec.xml \
|
47
|
+
-- ${TESTFILES}
|
48
|
+
- store_test_results:
|
49
|
+
path: ~/rspec
|
50
|
+
- store_artifacts:
|
51
|
+
path: tmp/capybara
|
52
|
+
|
53
|
+
run_tests_3_0: &run_tests_3_0
|
54
|
+
<<: *defaults_3_0
|
55
|
+
steps:
|
56
|
+
- checkout
|
57
|
+
- restore_cache:
|
58
|
+
keys:
|
59
|
+
- spree-auth-devise-bundle-v9-ruby-3-0-{{ .Branch }}
|
60
|
+
- spree-auth-devise-bundle-v9-ruby-3-0
|
61
|
+
- run:
|
62
|
+
name: Set bundle path
|
63
|
+
command: bundle config --local path vendor/bundle
|
64
|
+
- run:
|
65
|
+
name: Ensure bundle Install
|
66
|
+
command: |
|
67
|
+
bundle check || bundle install
|
68
|
+
- run:
|
69
|
+
name: Create test app
|
70
|
+
command: |
|
71
|
+
bundle exec rake test_app
|
72
|
+
- run:
|
73
|
+
name: Run Rspec
|
74
|
+
command: |
|
75
|
+
TESTFILES=$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
|
76
|
+
bundle exec rspec --format documentation \
|
77
|
+
--format RspecJunitFormatter \
|
78
|
+
-o ~/rspec/rspec.xml \
|
79
|
+
-- ${TESTFILES}
|
80
|
+
- store_test_results:
|
81
|
+
path: ~/rspec
|
82
|
+
- store_artifacts:
|
83
|
+
path: tmp/capybara
|
2
84
|
|
3
85
|
jobs:
|
4
|
-
|
5
|
-
|
6
|
-
- image: circleci/ruby:2.6.3
|
86
|
+
bundle:
|
87
|
+
<<: *defaults
|
7
88
|
steps:
|
8
|
-
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
- run: ssh-add -D
|
14
|
-
- run: ssh-add ~/.ssh/id_rsa_54505e4e806d2e2643c699bd39b271dc
|
15
|
-
- run: git clone -b master git@github.com:spark-solutions/spree-designs.git
|
16
|
-
- run: gem install bundler -v 1.17.3
|
89
|
+
- checkout
|
90
|
+
- restore_cache:
|
91
|
+
keys:
|
92
|
+
- spree-auth-devise-bundle-v9-ruby-2-7-{{ .Branch }}
|
93
|
+
- spree-auth-devise-bundle-v9-ruby-2-7
|
17
94
|
- run:
|
18
|
-
|
19
|
-
|
95
|
+
name: Set bundle path
|
96
|
+
command: bundle config --local path vendor/bundle
|
20
97
|
- run:
|
98
|
+
name: Bundle Install
|
21
99
|
command: |
|
22
|
-
|
23
|
-
|
24
|
-
|
100
|
+
bundle check || bundle install
|
101
|
+
- save_cache:
|
102
|
+
paths:
|
103
|
+
- vendor/bundle
|
104
|
+
key: spree-auth-devise-bundle-v9-ruby-2-7-{{ checksum "Gemfile.lock" }}
|
105
|
+
|
106
|
+
bundle_ruby_3_0:
|
107
|
+
<<: *defaults_3_0
|
108
|
+
steps:
|
109
|
+
- checkout
|
110
|
+
- restore_cache:
|
111
|
+
keys:
|
112
|
+
- spree-auth-devise-bundle-v9-ruby-3-0-{{ .Branch }}
|
113
|
+
- spree-auth-devise-bundle-v9-ruby-3-0
|
25
114
|
- run:
|
26
|
-
|
27
|
-
|
28
|
-
git commit -m "Auto-commit v#${CIRCLE_BUILD_NUM}"
|
29
|
-
working_directory: ~/project/spree-designs
|
115
|
+
name: Set bundle path
|
116
|
+
command: bundle config --local path vendor/bundle
|
30
117
|
- run:
|
31
|
-
|
32
|
-
|
118
|
+
name: Bundle Install
|
119
|
+
command: |
|
120
|
+
bundle check || bundle install
|
121
|
+
- save_cache:
|
122
|
+
paths:
|
123
|
+
- vendor/bundle
|
124
|
+
key: spree-auth-devise-bundle-v9-ruby-3-0-{{ checksum "Gemfile.lock" }}
|
125
|
+
|
126
|
+
tests_postgres: &tests_postgres
|
127
|
+
<<: *run_tests
|
128
|
+
environment: &postgres_environment
|
129
|
+
<<: *environment
|
130
|
+
DB: postgres
|
131
|
+
DB_HOST: localhost
|
132
|
+
DB_USERNAME: postgres
|
133
|
+
docker:
|
134
|
+
- image: *ruby_image
|
135
|
+
- image: *redis_image
|
136
|
+
- image: &postgres_image circleci/postgres:12-alpine
|
137
|
+
environment:
|
138
|
+
POSTGRES_USER: postgres
|
139
|
+
|
140
|
+
tests_postgres_ruby_3_0: &tests_postgres_ruby_3_0
|
141
|
+
<<: *run_tests_3_0
|
142
|
+
environment:
|
143
|
+
<<: *postgres_environment
|
144
|
+
docker:
|
145
|
+
- image: *ruby_3_0_image
|
146
|
+
- image: *postgres_image
|
147
|
+
- image: *redis_image
|
148
|
+
|
149
|
+
tests_mysql: &tests_mysql
|
150
|
+
<<: *run_tests
|
151
|
+
environment: &mysql_environment
|
152
|
+
<<: *environment
|
153
|
+
DB: mysql
|
154
|
+
DB_HOST: 127.0.0.1
|
155
|
+
DB_USERNAME: root
|
156
|
+
COVERAGE: true
|
157
|
+
COVERAGE_DIR: /tmp/workspace/simplecov
|
158
|
+
docker:
|
159
|
+
- image: *ruby_image
|
160
|
+
- image: *redis_image
|
161
|
+
- image: &mysql_image circleci/mysql:8-ram
|
33
162
|
|
34
163
|
workflows:
|
35
164
|
version: 2
|
36
|
-
|
165
|
+
main:
|
37
166
|
jobs:
|
38
|
-
-
|
39
|
-
|
40
|
-
|
41
|
-
|
167
|
+
- bundle
|
168
|
+
- bundle_ruby_3_0
|
169
|
+
- tests_postgres:
|
170
|
+
requires:
|
171
|
+
- bundle
|
172
|
+
- tests_postgres_ruby_3_0:
|
173
|
+
requires:
|
174
|
+
- bundle_ruby_3_0
|
175
|
+
- tests_mysql:
|
176
|
+
requires:
|
177
|
+
- bundle
|
data/.travis.yml
CHANGED
@@ -11,6 +11,7 @@ addons:
|
|
11
11
|
services:
|
12
12
|
- mysql
|
13
13
|
- postgresql
|
14
|
+
- redis-server
|
14
15
|
|
15
16
|
language: ruby
|
16
17
|
|
@@ -22,17 +23,6 @@ env:
|
|
22
23
|
- DB=mysql
|
23
24
|
- DB=postgres
|
24
25
|
|
25
|
-
gemfile:
|
26
|
-
- gemfiles/spree_4_1.gemfile
|
27
|
-
- gemfiles/spree_master.gemfile
|
28
|
-
|
29
|
-
jobs:
|
30
|
-
exclude:
|
31
|
-
- rvm: 3.0
|
32
|
-
gemfile: gemfiles/spree_4_1.gemfile
|
33
|
-
allow_failures:
|
34
|
-
- gemfile: gemfiles/spree_master.gemfile
|
35
|
-
|
36
26
|
before_install:
|
37
27
|
- mysql -u root -e "GRANT ALL ON *.* TO 'travis'@'%';"
|
38
28
|
|
data/Gemfile
CHANGED
@@ -1,7 +1,11 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
gem 'rails-controller-testing'
|
4
|
-
gem 'spree', github: 'spree/spree', branch: '
|
4
|
+
gem 'spree', github: 'spree/spree', branch: 'main'
|
5
|
+
gem 'spree_backend', github: 'spree/spree_backend', branch: 'main'
|
6
|
+
gem 'spree_frontend', github: 'spree/spree_legacy_frontend', branch: 'main'
|
7
|
+
gem 'spree_emails', github: 'spree/spree', branch: 'main'
|
8
|
+
gem 'rspec_junit_formatter', '~> 0.4.1'
|
5
9
|
|
6
|
-
gem 'pry', '~> 0.
|
10
|
+
gem 'pry', '~> 0.14.1'
|
7
11
|
gemspec
|
data/README.md
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# Spree Auth (Devise)
|
2
2
|
|
3
|
-
[![
|
4
|
-
[![Code Climate](https://codeclimate.com/github/spree/spree_auth_devise/badges/gpa.svg)](https://codeclimate.com/github/spree/spree_auth_devise)
|
3
|
+
[![CircleCI](https://circleci.com/gh/spree/spree_auth_devise/tree/main.svg?style=svg)](https://circleci.com/gh/spree/spree_auth_devise/tree/main)
|
5
4
|
|
6
5
|
Provides authentication services for [Spree](https://spreecommerce.org), using the [Devise](https://github.com/plataformatec/devise) gem.
|
7
6
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Spree
|
2
|
-
class UserMailer < BaseMailer
|
2
|
+
class UserMailer < defined?(Spree::BaseMailer) ? Spree::BaseMailer : ActionMailer::Base
|
3
3
|
def reset_password_instructions(user, token, *_args)
|
4
4
|
current_store_id = _args.inject(:merge)[:current_store_id]
|
5
5
|
@current_store = Spree::Store.find(current_store_id) || Spree::Store.current
|
@@ -8,7 +8,7 @@ module Spree
|
|
8
8
|
@edit_password_reset_url = spree.edit_spree_user_password_url(reset_password_token: token, host: @current_store.url)
|
9
9
|
@user = user
|
10
10
|
|
11
|
-
mail to: user.email, from:
|
11
|
+
mail to: user.email, from: @current_store.mail_from_address, subject: @current_store.name + ' ' + I18n.t(:subject, scope: [:devise, :mailer, :reset_password_instructions]), store_url: @current_store.url
|
12
12
|
end
|
13
13
|
|
14
14
|
def confirmation_instructions(user, token, _opts = {})
|
@@ -17,7 +17,7 @@ module Spree
|
|
17
17
|
@confirmation_url = spree.confirmation_url(confirmation_token: token, host: Spree::Store.current.url)
|
18
18
|
@email = user.email
|
19
19
|
|
20
|
-
mail to: user.email, from:
|
20
|
+
mail to: user.email, from: @current_store.mail_from_address, subject: @current_store.name + ' ' + I18n.t(:subject, scope: [:devise, :mailer, :confirmation_instructions]), store_url: @current_store.url
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
data/app/models/spree/user.rb
CHANGED
@@ -3,6 +3,9 @@ module Spree
|
|
3
3
|
include UserAddress
|
4
4
|
include UserMethods
|
5
5
|
include UserPaymentSource
|
6
|
+
if defined?(Spree::Metadata)
|
7
|
+
include Metadata
|
8
|
+
end
|
6
9
|
|
7
10
|
devise :database_authenticatable, :registerable, :recoverable,
|
8
11
|
:rememberable, :trackable, :encryptable, encryptor: 'authlogic_sha512'
|
data/config/routes.rb
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
Spree::Core::Engine.add_routes do
|
2
2
|
devise_for :spree_user,
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
resources :users, only: [:edit, :update]
|
3
|
+
class_name: Spree.user_class.to_s,
|
4
|
+
controllers: { sessions: 'spree/user_sessions',
|
5
|
+
registrations: 'spree/user_registrations',
|
6
|
+
passwords: 'spree/user_passwords',
|
7
|
+
confirmations: 'spree/user_confirmations' },
|
8
|
+
skip: [:unlocks, :omniauth_callbacks],
|
9
|
+
path_names: { sign_out: 'logout' },
|
10
|
+
path_prefix: :user
|
13
11
|
|
14
12
|
devise_scope :spree_user do
|
15
13
|
get '/login' => 'user_sessions#new', :as => :login
|
@@ -24,26 +22,32 @@ Spree::Core::Engine.add_routes do
|
|
24
22
|
get '/confirm' => 'user_confirmations#show', :as => :confirmation
|
25
23
|
end
|
26
24
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
25
|
+
if Spree::Core::Engine.frontend_available?
|
26
|
+
resources :users, only: [:edit, :update]
|
27
|
+
get '/checkout/registration' => 'checkout#registration', :as => :checkout_registration
|
28
|
+
put '/checkout/registration' => 'checkout#update_registration', :as => :update_checkout_registration
|
29
|
+
resource :account, controller: 'users'
|
30
|
+
end
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
32
|
+
if Spree.respond_to?(:admin_path) && Spree::Core::Engine.backend_available?
|
33
|
+
namespace :admin, path: Spree.admin_path do
|
34
|
+
devise_for :spree_user,
|
35
|
+
class_name: Spree.user_class.to_s,
|
36
|
+
controllers: { sessions: 'spree/admin/user_sessions',
|
37
|
+
passwords: 'spree/admin/user_passwords' },
|
38
|
+
skip: [:unlocks, :omniauth_callbacks, :registrations],
|
39
|
+
path_names: { sign_out: 'logout' },
|
40
|
+
path_prefix: :user
|
41
|
+
devise_scope :spree_user do
|
42
|
+
get '/authorization_failure', to: 'user_sessions#authorization_failure', as: :unauthorized
|
43
|
+
get '/login' => 'user_sessions#new', :as => :login
|
44
|
+
post '/login' => 'user_sessions#create', :as => :create_new_session
|
45
|
+
get '/logout' => 'user_sessions#destroy', :as => :logout
|
46
|
+
get '/password/recover' => 'user_passwords#new', :as => :recover_password
|
47
|
+
post '/password/recover' => 'user_passwords#create', :as => :reset_password
|
48
|
+
get '/password/change' => 'user_passwords#edit', :as => :edit_password
|
49
|
+
put '/password/change' => 'user_passwords#update', :as => :update_password
|
50
|
+
end
|
47
51
|
end
|
48
52
|
end
|
49
53
|
|
@@ -2,7 +2,6 @@ class Spree::Admin::UserPasswordsController < Devise::PasswordsController
|
|
2
2
|
helper 'spree/base'
|
3
3
|
|
4
4
|
include Spree::Core::ControllerHelpers::Auth
|
5
|
-
include Spree::Core::ControllerHelpers::Common
|
6
5
|
include Spree::Core::ControllerHelpers::Store
|
7
6
|
|
8
7
|
helper 'spree/admin/navigation'
|
@@ -16,13 +15,13 @@ class Spree::Admin::UserPasswordsController < Devise::PasswordsController
|
|
16
15
|
# respond_with resource, :location => spree.login_path
|
17
16
|
#
|
18
17
|
def create
|
19
|
-
self.resource = resource_class.send_reset_password_instructions(params[resource_name])
|
18
|
+
self.resource = resource_class.send_reset_password_instructions(params[resource_name], current_store)
|
20
19
|
|
21
20
|
if resource.errors.empty?
|
22
21
|
set_flash_message(:notice, :send_instructions) if is_navigational_format?
|
23
22
|
respond_with resource, location: spree.admin_login_path
|
24
23
|
else
|
25
|
-
respond_with_navigational(resource) { render :new }
|
24
|
+
respond_with_navigational(resource) { render :new, status: :unprocessable_entity }
|
26
25
|
end
|
27
26
|
end
|
28
27
|
|
@@ -31,8 +30,10 @@ class Spree::Admin::UserPasswordsController < Devise::PasswordsController
|
|
31
30
|
# Fixes spree/spree#2190.
|
32
31
|
def update
|
33
32
|
if params[:spree_user][:password].blank?
|
33
|
+
self.resource = resource_class.new
|
34
|
+
resource.reset_password_token = params[:spree_user][:reset_password_token]
|
34
35
|
set_flash_message(:error, :cannot_be_blank)
|
35
|
-
render :edit
|
36
|
+
render :edit, status: :unprocessable_entity
|
36
37
|
else
|
37
38
|
super
|
38
39
|
end
|
@@ -2,7 +2,6 @@ class Spree::Admin::UserSessionsController < Devise::SessionsController
|
|
2
2
|
helper 'spree/base'
|
3
3
|
|
4
4
|
include Spree::Core::ControllerHelpers::Auth
|
5
|
-
include Spree::Core::ControllerHelpers::Common
|
6
5
|
include Spree::Core::ControllerHelpers::Store
|
7
6
|
|
8
7
|
helper 'spree/admin/navigation'
|
@@ -14,7 +13,7 @@ class Spree::Admin::UserSessionsController < Devise::SessionsController
|
|
14
13
|
if spree_user_signed_in?
|
15
14
|
respond_to do |format|
|
16
15
|
format.html {
|
17
|
-
flash[:success] = Spree.t(:
|
16
|
+
flash[:success] = Spree.t(:logged_in_successfully)
|
18
17
|
redirect_back_or_default(after_sign_in_path_for(spree_current_user))
|
19
18
|
}
|
20
19
|
format.js {
|
@@ -24,7 +23,7 @@ class Spree::Admin::UserSessionsController < Devise::SessionsController
|
|
24
23
|
end
|
25
24
|
else
|
26
25
|
flash.now[:error] = t('devise.failure.invalid')
|
27
|
-
render :new
|
26
|
+
render :new, status: :unprocessable_entity
|
28
27
|
end
|
29
28
|
end
|
30
29
|
|
@@ -6,13 +6,16 @@ class Spree::UserConfirmationsController < Devise::ConfirmationsController
|
|
6
6
|
include Spree::Core::ControllerHelpers::Order
|
7
7
|
include Spree::Core::ControllerHelpers::Store
|
8
8
|
|
9
|
-
if defined?(
|
10
|
-
include Spree::Core::ControllerHelpers::Currency
|
11
|
-
end
|
9
|
+
include SpreeI18n::ControllerLocaleHelper if defined?(SpreeI18n::ControllerLocaleHelper)
|
12
10
|
|
13
|
-
if defined?(Spree::Core::ControllerHelpers::
|
14
|
-
|
15
|
-
|
11
|
+
include Spree::Core::ControllerHelpers::Currency if defined?(Spree::Core::ControllerHelpers::Currency)
|
12
|
+
include Spree::Core::ControllerHelpers::Locale if defined?(Spree::Core::ControllerHelpers::Locale)
|
13
|
+
|
14
|
+
include Spree::LocaleUrls if defined?(Spree::LocaleUrls)
|
15
|
+
|
16
|
+
helper 'spree/locale' if defined?(Spree::LocaleHelper)
|
17
|
+
helper 'spree/currency' if defined?(Spree::CurrencyHelper)
|
18
|
+
helper 'spree/store' if defined?(Spree::StoreHelper)
|
16
19
|
|
17
20
|
before_action :set_current_order
|
18
21
|
|
@@ -6,17 +6,16 @@ class Spree::UserPasswordsController < Devise::PasswordsController
|
|
6
6
|
include Spree::Core::ControllerHelpers::Order
|
7
7
|
include Spree::Core::ControllerHelpers::Store
|
8
8
|
|
9
|
-
if defined?(
|
10
|
-
include Spree::Core::ControllerHelpers::Currency
|
11
|
-
end
|
9
|
+
include SpreeI18n::ControllerLocaleHelper if defined?(SpreeI18n::ControllerLocaleHelper)
|
12
10
|
|
13
|
-
if defined?(Spree::Core::ControllerHelpers::
|
14
|
-
|
15
|
-
end
|
11
|
+
include Spree::Core::ControllerHelpers::Currency if defined?(Spree::Core::ControllerHelpers::Currency)
|
12
|
+
include Spree::Core::ControllerHelpers::Locale if defined?(Spree::Core::ControllerHelpers::Locale)
|
16
13
|
|
17
|
-
if defined?(
|
18
|
-
|
19
|
-
|
14
|
+
include Spree::LocaleUrls if defined?(Spree::LocaleUrls)
|
15
|
+
|
16
|
+
helper 'spree/locale' if defined?(Spree::LocaleHelper)
|
17
|
+
helper 'spree/currency' if defined?(Spree::CurrencyHelper)
|
18
|
+
helper 'spree/store' if defined?(Spree::StoreHelper)
|
20
19
|
|
21
20
|
before_action :set_current_order
|
22
21
|
|
@@ -6,17 +6,16 @@ class Spree::UserRegistrationsController < Devise::RegistrationsController
|
|
6
6
|
include Spree::Core::ControllerHelpers::Order
|
7
7
|
include Spree::Core::ControllerHelpers::Store
|
8
8
|
|
9
|
-
if defined?(
|
10
|
-
include Spree::Core::ControllerHelpers::Currency
|
11
|
-
end
|
9
|
+
include SpreeI18n::ControllerLocaleHelper if defined?(SpreeI18n::ControllerLocaleHelper)
|
12
10
|
|
13
|
-
if defined?(Spree::Core::ControllerHelpers::
|
14
|
-
|
15
|
-
end
|
11
|
+
include Spree::Core::ControllerHelpers::Currency if defined?(Spree::Core::ControllerHelpers::Currency)
|
12
|
+
include Spree::Core::ControllerHelpers::Locale if defined?(Spree::Core::ControllerHelpers::Locale)
|
16
13
|
|
17
|
-
if defined?(
|
18
|
-
|
19
|
-
|
14
|
+
include Spree::LocaleUrls if defined?(Spree::LocaleUrls)
|
15
|
+
|
16
|
+
helper 'spree/locale' if defined?(Spree::LocaleHelper)
|
17
|
+
helper 'spree/currency' if defined?(Spree::CurrencyHelper)
|
18
|
+
helper 'spree/store' if defined?(Spree::StoreHelper)
|
20
19
|
|
21
20
|
before_action :check_permissions, only: [:edit, :update]
|
22
21
|
before_action :set_current_order
|
@@ -6,17 +6,16 @@ class Spree::UserSessionsController < Devise::SessionsController
|
|
6
6
|
include Spree::Core::ControllerHelpers::Order
|
7
7
|
include Spree::Core::ControllerHelpers::Store
|
8
8
|
|
9
|
-
if defined?(
|
10
|
-
include Spree::Core::ControllerHelpers::Currency
|
11
|
-
end
|
9
|
+
include SpreeI18n::ControllerLocaleHelper if defined?(SpreeI18n::ControllerLocaleHelper)
|
12
10
|
|
13
|
-
if defined?(Spree::Core::ControllerHelpers::
|
14
|
-
|
15
|
-
end
|
11
|
+
include Spree::Core::ControllerHelpers::Currency if defined?(Spree::Core::ControllerHelpers::Currency)
|
12
|
+
include Spree::Core::ControllerHelpers::Locale if defined?(Spree::Core::ControllerHelpers::Locale)
|
16
13
|
|
17
|
-
if defined?(
|
18
|
-
|
19
|
-
|
14
|
+
include Spree::LocaleUrls if defined?(Spree::LocaleUrls)
|
15
|
+
|
16
|
+
helper 'spree/locale' if defined?(Spree::LocaleHelper)
|
17
|
+
helper 'spree/currency' if defined?(Spree::CurrencyHelper)
|
18
|
+
helper 'spree/store' if defined?(Spree::StoreHelper)
|
20
19
|
|
21
20
|
before_action :set_current_order
|
22
21
|
|
@@ -26,7 +25,7 @@ class Spree::UserSessionsController < Devise::SessionsController
|
|
26
25
|
if spree_user_signed_in?
|
27
26
|
respond_to do |format|
|
28
27
|
format.html {
|
29
|
-
flash[:success] = Spree.t(:
|
28
|
+
flash[:success] = Spree.t(:logged_in_successfully)
|
30
29
|
redirect_back_or_default(after_sign_in_redirect(spree_current_user))
|
31
30
|
}
|
32
31
|
format.js {
|
@@ -66,7 +65,7 @@ class Spree::UserSessionsController < Devise::SessionsController
|
|
66
65
|
end
|
67
66
|
|
68
67
|
def after_sign_in_redirect(resource_or_scope)
|
69
|
-
stored_location_for(resource_or_scope) || account_path
|
68
|
+
stored_location_for(resource_or_scope) || spree.account_path
|
70
69
|
end
|
71
70
|
|
72
71
|
def respond_to_on_destroy
|
@@ -82,6 +81,6 @@ class Spree::UserSessionsController < Devise::SessionsController
|
|
82
81
|
scope = Devise::Mapping.find_scope!(resource_or_scope)
|
83
82
|
router_name = Devise.mappings[scope].router_name
|
84
83
|
context = router_name ? send(router_name) : self
|
85
|
-
context.respond_to?(:login_path) ? context.login_path :
|
84
|
+
context.respond_to?(:login_path) ? context.login_path : spree.root_path
|
86
85
|
end
|
87
86
|
end
|
@@ -1,12 +1,16 @@
|
|
1
1
|
class Spree::UsersController < Spree::StoreController
|
2
2
|
before_action :set_current_order, except: :show
|
3
|
-
prepend_before_action :load_object, only: [:show, :edit, :update]
|
4
3
|
prepend_before_action :authorize_actions, only: :new
|
5
4
|
|
6
5
|
include Spree::Core::ControllerHelpers
|
7
6
|
|
8
7
|
def show
|
9
|
-
|
8
|
+
load_object
|
9
|
+
@orders = @user.orders.for_store(current_store).complete.order('completed_at desc')
|
10
|
+
end
|
11
|
+
|
12
|
+
def edit
|
13
|
+
load_object
|
10
14
|
end
|
11
15
|
|
12
16
|
def create
|
@@ -24,6 +28,7 @@ class Spree::UsersController < Spree::StoreController
|
|
24
28
|
end
|
25
29
|
|
26
30
|
def update
|
31
|
+
load_object
|
27
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
|
@@ -34,7 +39,7 @@ class Spree::UsersController < Spree::StoreController
|
|
34
39
|
bypass_sign_in(@user)
|
35
40
|
end
|
36
41
|
end
|
37
|
-
redirect_to spree.
|
42
|
+
redirect_to spree.account_path, notice: Spree.t(:account_updated)
|
38
43
|
else
|
39
44
|
render :edit
|
40
45
|
end
|