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.
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)