solidus_auth_devise 1.1.0 → 1.2.0
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.
Potentially problematic release.
This version of solidus_auth_devise might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/models/spree/user.rb +1 -0
- data/lib/controllers/backend/spree/admin/admin_controller_decorator.rb +6 -21
- data/lib/generators/{spree → solidus}/auth/install/install_generator.rb +2 -3
- data/lib/generators/{spree → solidus}/auth/install/templates/config/initializers/devise.rb +0 -0
- data/lib/spree/auth/engine.rb +20 -0
- data/solidus_auth_devise.gemspec +3 -3
- data/spec/features/admin/sign_in_spec.rb +1 -1
- data/spec/features/checkout_spec.rb +1 -2
- data/spec/features/sign_in_spec.rb +1 -1
- data/spec/mailers/user_mailer_spec.rb +3 -3
- data/spec/support/confirm_helpers.rb +3 -1
- metadata +12 -13
- data/lib/controllers/backend/spree/admin/admin_resource_controller_decorator.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5cf4aa80513d06a54e23702ed88741c43c7382a
|
4
|
+
data.tar.gz: 657066204c77305b7e9dbfa8fe00f2d064cb518b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 76a34014abe38b2f73397f0a969719c2d35523252e76e830b550fa6d9935c1615e3157f2df99372ac50930a4980186597dacd11c96ffbbb32031d39e81eceb93
|
7
|
+
data.tar.gz: b922becf025a09a3203ec8b79414d39f5daa6f109c866d456bbac32295dc3cc0e6ea0fe0a6708133e64cbe057dcecc20f4754ee7de5f17796e4f6b3b74259c90
|
data/app/models/spree/user.rb
CHANGED
@@ -2,6 +2,7 @@ module Spree
|
|
2
2
|
class User < ActiveRecord::Base
|
3
3
|
include UserAddress
|
4
4
|
include UserPaymentSource
|
5
|
+
include UserMethods
|
5
6
|
|
6
7
|
devise :database_authenticatable, :registerable, :recoverable,
|
7
8
|
:rememberable, :trackable, :validatable, :encryptable, :encryptor => 'authlogic_sha512'
|
@@ -1,26 +1,11 @@
|
|
1
1
|
Spree::Admin::BaseController.class_eval do
|
2
|
-
|
3
|
-
# Redirect as appropriate when an access request fails. The default action is to redirect to the login screen.
|
4
|
-
# Override this method in your controllers if you want to have special behavior in case the user is not authorized
|
5
|
-
# to access the requested action. For example, a popup window might simply close itself.
|
6
|
-
def unauthorized
|
7
|
-
if try_spree_current_user
|
8
|
-
flash[:error] = Spree.t(:authorization_failure)
|
9
|
-
redirect_to spree.admin_unauthorized_path
|
10
|
-
else
|
11
|
-
store_location
|
12
|
-
redirect_to spree.admin_login_path
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
2
|
protected
|
17
3
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
end
|
23
|
-
nil
|
4
|
+
def model_class
|
5
|
+
const_name = controller_name.classify
|
6
|
+
if Spree.const_defined?(const_name, false)
|
7
|
+
return "Spree::#{const_name}".constantize
|
24
8
|
end
|
25
|
-
|
9
|
+
nil
|
10
|
+
end
|
26
11
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module Solidus
|
2
2
|
module Auth
|
3
3
|
module Generators
|
4
4
|
class InstallGenerator < Rails::Generators::Base
|
@@ -9,8 +9,7 @@ module Spree
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def generate_devise_key
|
12
|
-
|
13
|
-
template 'config/initializers/devise.rb', 'config/initializers/devise.rb'
|
12
|
+
template 'config/initializers/devise.rb', 'config/initializers/devise.rb', skip: true
|
14
13
|
end
|
15
14
|
|
16
15
|
def add_migrations
|
File without changes
|
data/lib/spree/auth/engine.rb
CHANGED
@@ -44,6 +44,26 @@ module Spree
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
ApplicationController.send :include, Spree::AuthenticationHelpers
|
47
|
+
|
48
|
+
Spree::BaseController.unauthorized_redirect = -> do
|
49
|
+
if try_spree_current_user
|
50
|
+
flash[:error] = Spree.t(:authorization_failure)
|
51
|
+
redirect_to spree.unauthorized_path
|
52
|
+
else
|
53
|
+
store_location
|
54
|
+
redirect_to spree.login_path
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
Spree::Admin::BaseController.unauthorized_redirect = -> do
|
59
|
+
if try_spree_current_user
|
60
|
+
flash[:error] = Spree.t(:authorization_failure)
|
61
|
+
redirect_to spree.admin_unauthorized_path
|
62
|
+
else
|
63
|
+
store_location
|
64
|
+
redirect_to spree.admin_login_path
|
65
|
+
end
|
66
|
+
end
|
47
67
|
end
|
48
68
|
|
49
69
|
def self.backend_available?
|
data/solidus_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 = "solidus_auth_devise"
|
6
|
-
s.version = "1.
|
6
|
+
s.version = "1.2.0"
|
7
7
|
s.summary = "Provides authentication and authorization services for use with Solidus by using Devise and CanCan."
|
8
8
|
s.description = s.summary
|
9
9
|
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.require_path = "lib"
|
19
19
|
s.requirements << "none"
|
20
20
|
|
21
|
-
solidus_version = [">= 1.0.0.
|
21
|
+
solidus_version = [">= 1.0.0.pre2", "< 2"]
|
22
22
|
|
23
23
|
s.add_dependency "solidus_core", solidus_version
|
24
24
|
s.add_dependency "devise", '~> 3.5.1'
|
@@ -29,7 +29,7 @@ Gem::Specification.new do |s|
|
|
29
29
|
|
30
30
|
s.add_development_dependency "solidus_backend", solidus_version
|
31
31
|
s.add_development_dependency "solidus_frontend", solidus_version
|
32
|
-
s.add_development_dependency "rspec-rails", "~> 3.
|
32
|
+
s.add_development_dependency "rspec-rails", "~> 3.3"
|
33
33
|
s.add_development_dependency "simplecov", "~> 0.9.0"
|
34
34
|
s.add_development_dependency "sqlite3"
|
35
35
|
s.add_development_dependency "sass-rails", "~> 4.0.0"
|
@@ -90,7 +90,6 @@ RSpec.feature 'Checkout', :js, type: :feature do
|
|
90
90
|
|
91
91
|
# Regression test for #890
|
92
92
|
scenario 'associate an incomplete guest order with user after successful password reset' do
|
93
|
-
create(:store)
|
94
93
|
user = create(:user, email: 'email@person.com', password: 'password', password_confirmation: 'password')
|
95
94
|
click_link 'RoR Mug'
|
96
95
|
click_button 'Add To Cart'
|
@@ -103,7 +102,7 @@ RSpec.feature 'Checkout', :js, type: :feature do
|
|
103
102
|
# Need to do this now because the token stored in the DB is the encrypted version
|
104
103
|
# The 'plain-text' version is sent in the email and there's one way to get that!
|
105
104
|
reset_password_email = ActionMailer::Base.deliveries.first
|
106
|
-
token_url_regex =
|
105
|
+
token_url_regex = /\/user\/spree_user\/password\/edit\?reset_password_token=(.*)$/
|
107
106
|
token = token_url_regex.match(reset_password_email.body.to_s)[1]
|
108
107
|
|
109
108
|
visit spree.edit_spree_user_password_path(reset_password_token: token)
|
@@ -39,7 +39,7 @@ RSpec.feature 'Sign In', type: :feature do
|
|
39
39
|
click_button 'Login'
|
40
40
|
|
41
41
|
expect(page).to have_text 'Logged in as: admin@person.com'
|
42
|
-
expect(current_path).to eq '/admin/
|
42
|
+
expect(current_path).to eq '/admin/dashboards/home'
|
43
43
|
end
|
44
44
|
|
45
45
|
it "should store the user previous location" do
|
@@ -5,14 +5,14 @@ RSpec.describe Spree::UserMailer, type: :mailer do
|
|
5
5
|
|
6
6
|
before do
|
7
7
|
user = create(:user)
|
8
|
-
Spree::UserMailer.reset_password_instructions(user, 'token goes here').
|
8
|
+
Spree::UserMailer.reset_password_instructions(user, 'token goes here').deliver_now
|
9
9
|
@message = ActionMailer::Base.deliveries.last
|
10
10
|
end
|
11
11
|
|
12
12
|
describe '#reset_password_instructions' do
|
13
13
|
describe 'message contents' do
|
14
14
|
before do
|
15
|
-
described_class.reset_password_instructions(user, 'token goes here').
|
15
|
+
described_class.reset_password_instructions(user, 'token goes here').deliver_now
|
16
16
|
@message = ActionMailer::Base.deliveries.last
|
17
17
|
end
|
18
18
|
|
@@ -38,7 +38,7 @@ RSpec.describe Spree::UserMailer, type: :mailer do
|
|
38
38
|
describe 'legacy support for User object' do
|
39
39
|
it 'sends an email' do
|
40
40
|
expect {
|
41
|
-
described_class.reset_password_instructions(user, 'token goes here').
|
41
|
+
described_class.reset_password_instructions(user, 'token goes here').deliver_now
|
42
42
|
}.to change(ActionMailer::Base.deliveries, :size).by(1)
|
43
43
|
end
|
44
44
|
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
module ConfirmHelpers
|
2
2
|
def set_confirmable_option(value)
|
3
|
+
# FIXME: This is terrible terribleness and causes anything loaded
|
4
|
+
# on the user at initialization to be lost.
|
3
5
|
Spree::Auth::Config[:confirmable] = value
|
4
6
|
Spree.send(:remove_const, 'User')
|
5
7
|
load File.expand_path("../../../app/models/spree/user.rb", __FILE__)
|
@@ -8,4 +10,4 @@ end
|
|
8
10
|
|
9
11
|
RSpec.configure do |c|
|
10
12
|
c.include ConfirmHelpers
|
11
|
-
end
|
13
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solidus_auth_devise
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Solidus Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: solidus_core
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.0.0.
|
19
|
+
version: 1.0.0.pre2
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '2'
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.0.0.
|
29
|
+
version: 1.0.0.pre2
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '2'
|
@@ -92,7 +92,7 @@ dependencies:
|
|
92
92
|
requirements:
|
93
93
|
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: 1.0.0.
|
95
|
+
version: 1.0.0.pre2
|
96
96
|
- - "<"
|
97
97
|
- !ruby/object:Gem::Version
|
98
98
|
version: '2'
|
@@ -102,7 +102,7 @@ dependencies:
|
|
102
102
|
requirements:
|
103
103
|
- - ">="
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version: 1.0.0.
|
105
|
+
version: 1.0.0.pre2
|
106
106
|
- - "<"
|
107
107
|
- !ruby/object:Gem::Version
|
108
108
|
version: '2'
|
@@ -112,7 +112,7 @@ dependencies:
|
|
112
112
|
requirements:
|
113
113
|
- - ">="
|
114
114
|
- !ruby/object:Gem::Version
|
115
|
-
version: 1.0.0.
|
115
|
+
version: 1.0.0.pre2
|
116
116
|
- - "<"
|
117
117
|
- !ruby/object:Gem::Version
|
118
118
|
version: '2'
|
@@ -122,7 +122,7 @@ dependencies:
|
|
122
122
|
requirements:
|
123
123
|
- - ">="
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version: 1.0.0.
|
125
|
+
version: 1.0.0.pre2
|
126
126
|
- - "<"
|
127
127
|
- !ruby/object:Gem::Version
|
128
128
|
version: '2'
|
@@ -132,14 +132,14 @@ dependencies:
|
|
132
132
|
requirements:
|
133
133
|
- - "~>"
|
134
134
|
- !ruby/object:Gem::Version
|
135
|
-
version: 3.
|
135
|
+
version: '3.3'
|
136
136
|
type: :development
|
137
137
|
prerelease: false
|
138
138
|
version_requirements: !ruby/object:Gem::Requirement
|
139
139
|
requirements:
|
140
140
|
- - "~>"
|
141
141
|
- !ruby/object:Gem::Version
|
142
|
-
version: 3.
|
142
|
+
version: '3.3'
|
143
143
|
- !ruby/object:Gem::Dependency
|
144
144
|
name: simplecov
|
145
145
|
requirement: !ruby/object:Gem::Requirement
|
@@ -313,7 +313,6 @@ files:
|
|
313
313
|
- lib/assets/stylesheets/spree/frontend/solidus_auth.css
|
314
314
|
- lib/controllers/backend/spree/admin/admin_controller_decorator.rb
|
315
315
|
- lib/controllers/backend/spree/admin/admin_orders_controller_decorator.rb
|
316
|
-
- lib/controllers/backend/spree/admin/admin_resource_controller_decorator.rb
|
317
316
|
- lib/controllers/backend/spree/admin/orders/customer_details_controller_decorator.rb
|
318
317
|
- lib/controllers/backend/spree/admin/user_passwords_controller.rb
|
319
318
|
- lib/controllers/backend/spree/admin/user_sessions_controller.rb
|
@@ -323,8 +322,8 @@ files:
|
|
323
322
|
- lib/controllers/frontend/spree/user_registrations_controller.rb
|
324
323
|
- lib/controllers/frontend/spree/user_sessions_controller.rb
|
325
324
|
- lib/controllers/frontend/spree/users_controller.rb
|
326
|
-
- lib/generators/
|
327
|
-
- lib/generators/
|
325
|
+
- lib/generators/solidus/auth/install/install_generator.rb
|
326
|
+
- lib/generators/solidus/auth/install/templates/config/initializers/devise.rb
|
328
327
|
- lib/solidus/auth.rb
|
329
328
|
- lib/solidus_auth_devise.rb
|
330
329
|
- lib/spree/auth/devise.rb
|