spree_auth_devise 4.3.3 → 4.4.2

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +165 -29
  3. data/.github/dependabot.yml +11 -0
  4. data/.travis.yml +1 -11
  5. data/Gemfile +6 -2
  6. data/README.md +1 -2
  7. data/app/mailers/spree/user_mailer.rb +3 -3
  8. data/app/models/spree/user.rb +3 -0
  9. data/config/routes.rb +33 -29
  10. data/db/migrate/20210728103922_change_type_of_ship_address_id_and_bill_address_id_for_spree_users.rb +8 -0
  11. data/lib/controllers/backend/spree/admin/user_passwords_controller.rb +5 -4
  12. data/lib/controllers/backend/spree/admin/user_sessions_controller.rb +2 -3
  13. data/{app/controllers → lib/controllers/frontend}/spree/user_confirmations_controller.rb +9 -6
  14. data/{app/controllers → lib/controllers/frontend}/spree/user_passwords_controller.rb +8 -9
  15. data/{app/controllers → lib/controllers/frontend}/spree/user_registrations_controller.rb +8 -9
  16. data/{app/controllers → lib/controllers/frontend}/spree/user_sessions_controller.rb +11 -12
  17. data/lib/controllers/frontend/spree/users_controller.rb +8 -3
  18. data/lib/spree/auth/version.rb +1 -1
  19. data/lib/spree/testing_support/auth_helpers.rb +18 -10
  20. data/lib/views/backend/spree/admin/user_passwords/edit.html.erb +12 -11
  21. data/lib/views/backend/spree/admin/user_passwords/new.html.erb +9 -11
  22. data/lib/views/backend/spree/admin/user_sessions/new.html.erb +4 -4
  23. data/{app/views → lib/views/frontend}/spree/user_passwords/edit.html.erb +0 -0
  24. data/{app/views → lib/views/frontend}/spree/user_passwords/new.html.erb +0 -0
  25. data/{app/views → lib/views/frontend}/spree/user_registrations/new.html.erb +0 -0
  26. data/{app/views → lib/views/frontend}/spree/user_sessions/new.html.erb +0 -0
  27. data/spec/controllers/spree/user_sessions_controller_spec.rb +13 -1
  28. data/spec/controllers/spree/users_controller_spec.rb +1 -1
  29. data/spec/features/account_spec.rb +2 -2
  30. data/spec/features/admin/orders_spec.rb +4 -2
  31. data/spec/features/admin/password_reset_spec.rb +1 -1
  32. data/spec/features/admin/sign_in_spec.rb +5 -5
  33. data/spec/features/admin/sign_out_spec.rb +5 -5
  34. data/spec/features/admin_permissions_spec.rb +1 -1
  35. data/spec/features/checkout_spec.rb +1 -1
  36. data/spec/features/order_spec.rb +2 -2
  37. data/spec/features/sign_in_spec.rb +29 -7
  38. data/spec/features/sign_out_spec.rb +2 -2
  39. data/spec/models/user_spec.rb +27 -0
  40. data/spec/requests/spree/api/v2/storefront/account_confirmation_spec.rb +0 -9
  41. data/spec/requests/spree/frontend/user_update_spec.rb +42 -0
  42. data/spec/spec_helper.rb +4 -0
  43. data/spec/support/confirm_helpers.rb +1 -0
  44. data/spree_auth_devise.gemspec +1 -1
  45. metadata +19 -27
  46. data/Appraisals +0 -9
  47. data/app/services/spree/account/create.rb +0 -19
  48. data/app/services/spree/account/update.rb +0 -17
  49. data/gemfiles/spree_4_1.gemfile +0 -8
  50. data/gemfiles/spree_master.gemfile +0 -8
  51. 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: 88bd67ceeb209cf0a5429d736103ffad339942eefd7cf7f75d6b84dfbb25a553
4
- data.tar.gz: 261b34f941e7f6584dfa9fb4a50dc76c8b4aae6f9785db618ef630da1f881312
3
+ metadata.gz: 4fb338dbef2e181d223f6e14b1a8d56bd70e583bb236ecad2e8dd789831961da
4
+ data.tar.gz: bb1d7586b41087b8aea34ec13f1bad8be7474b4cd86595b66cab11c4debd0ff5
5
5
  SHA512:
6
- metadata.gz: 489cf73cb272c2318cc35761e736a9b65fb0549e8ba938550fdf63ed16727a562180e22bfd6f210a6e6384fd8e4bb589e9a4bebf37d0e287e0c712c83e1e7214
7
- data.tar.gz: 9e16a12db4e028e6318896d5fded01acda724348587a5f6628e437c81be41ccb4f4c6e537aac344c0ed05d223c27cfc03bcf275513ea7d84fa15eafd1f6b271a
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
- update_staging_repository:
5
- docker:
6
- - image: circleci/ruby:2.6.3
86
+ bundle:
87
+ <<: *defaults
7
88
  steps:
8
- - add_ssh_keys:
9
- fingerprints:
10
- - 54:50:5e:4e:80:6d:2e:26:43:c6:99:bd:39:b2:71:dc
11
- - run: mkdir -p ~/.ssh
12
- - run: ssh-keyscan -H github.com >> ~/.ssh/known_hosts
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
- command: bundle update spree_auth_devise
19
- working_directory: ~/project/spree-designs
95
+ name: Set bundle path
96
+ command: bundle config --local path vendor/bundle
20
97
  - run:
98
+ name: Bundle Install
21
99
  command: |
22
- git config user.name 'AutoDeploy'
23
- git config user.email 'autodeploy@sparksolutions.co'
24
- working_directory: ~/project/spree-designs
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
- command: |
27
- git add -A
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
- command: git push origin master
32
- working_directory: ~/project/spree-designs
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
- update_staging_repository:
165
+ main:
37
166
  jobs:
38
- - update_staging_repository:
39
- filters:
40
- branches:
41
- only: master
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
@@ -0,0 +1,11 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ open-pull-requests-limit: 10
8
+ ignore:
9
+ - dependency-name: pry
10
+ versions:
11
+ - 0.14.0
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: 'master'
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.13.1'
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
- [![Build Status](https://travis-ci.org/spree/spree_auth_devise.svg?branch=master)](https://travis-ci.org/spree/spree_auth_devise)
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: from_address, subject: @current_store.name + ' ' + I18n.t(:subject, scope: [:devise, :mailer, :reset_password_instructions]), store_url: @current_store.url
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: from_address, subject: @current_store.name + ' ' + I18n.t(:subject, scope: [:devise, :mailer, :confirmation_instructions]), store_url: @current_store.url
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
@@ -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
- 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
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
- get '/checkout/registration' => 'checkout#registration', :as => :checkout_registration
28
- put '/checkout/registration' => 'checkout#update_registration', :as => :update_checkout_registration
29
-
30
- resource :account, controller: 'users'
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
- namespace :admin, path: Spree.admin_path do
33
- devise_for :spree_user,
34
- class_name: Spree.user_class.to_s,
35
- controllers: { sessions: 'spree/admin/user_sessions',
36
- passwords: 'spree/admin/user_passwords' },
37
- skip: [:unlocks, :omniauth_callbacks, :registrations],
38
- path_names: { sign_out: 'logout' },
39
- path_prefix: :user
40
- devise_scope :spree_user do
41
- get '/authorization_failure', to: 'user_sessions#authorization_failure', as: :unauthorized
42
- get '/login' => 'user_sessions#new', :as => :login
43
- post '/login' => 'user_sessions#create', :as => :create_new_session
44
- get '/logout' => 'user_sessions#destroy', :as => :logout
45
- get '/password/recover' => 'user_passwords#new', :as => :recover_password
46
- post '/password/recover' => 'user_passwords#create', :as => :reset_password
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
 
@@ -0,0 +1,8 @@
1
+ class ChangeTypeOfShipAddressIdAndBillAddressIdForSpreeUsers < ActiveRecord::Migration[4.2]
2
+ def change
3
+ change_table(:spree_users) do |t|
4
+ t.change :ship_address_id, :bigint
5
+ t.change :bill_address_id, :bigint
6
+ end
7
+ end
8
+ end
@@ -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(:logged_in_succesfully)
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?(Spree::Core::ControllerHelpers::Currency)
10
- include Spree::Core::ControllerHelpers::Currency
11
- end
9
+ include SpreeI18n::ControllerLocaleHelper if defined?(SpreeI18n::ControllerLocaleHelper)
12
10
 
13
- if defined?(Spree::Core::ControllerHelpers::Locale)
14
- include Spree::Core::ControllerHelpers::Locale
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)
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?(Spree::Core::ControllerHelpers::Currency)
10
- include Spree::Core::ControllerHelpers::Currency
11
- end
9
+ include SpreeI18n::ControllerLocaleHelper if defined?(SpreeI18n::ControllerLocaleHelper)
12
10
 
13
- if defined?(Spree::Core::ControllerHelpers::Locale)
14
- include Spree::Core::ControllerHelpers::Locale
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?(SpreeI18n::ControllerLocaleHelper)
18
- include SpreeI18n::ControllerLocaleHelper
19
- end
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?(Spree::Core::ControllerHelpers::Currency)
10
- include Spree::Core::ControllerHelpers::Currency
11
- end
9
+ include SpreeI18n::ControllerLocaleHelper if defined?(SpreeI18n::ControllerLocaleHelper)
12
10
 
13
- if defined?(Spree::Core::ControllerHelpers::Locale)
14
- include Spree::Core::ControllerHelpers::Locale
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?(SpreeI18n::ControllerLocaleHelper)
18
- include SpreeI18n::ControllerLocaleHelper
19
- end
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?(Spree::Core::ControllerHelpers::Currency)
10
- include Spree::Core::ControllerHelpers::Currency
11
- end
9
+ include SpreeI18n::ControllerLocaleHelper if defined?(SpreeI18n::ControllerLocaleHelper)
12
10
 
13
- if defined?(Spree::Core::ControllerHelpers::Locale)
14
- include Spree::Core::ControllerHelpers::Locale
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?(SpreeI18n::ControllerLocaleHelper)
18
- include SpreeI18n::ControllerLocaleHelper
19
- end
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(:logged_in_succesfully)
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
- @orders = @user.orders.complete.order('completed_at desc')
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.account_url, notice: Spree.t(:account_updated)
42
+ redirect_to spree.account_path, notice: Spree.t(:account_updated)
38
43
  else
39
44
  render :edit
40
45
  end
@@ -1,6 +1,6 @@
1
1
  module Spree
2
2
  module Auth
3
- VERSION = '4.3.3'.freeze
3
+ VERSION = '4.4.2'.freeze
4
4
 
5
5
  def gem_version
6
6
  Gem::Version.new(VERSION)