solidus_auth_devise 1.4.0 → 1.5.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/CHANGELOG.md +117 -0
- data/README.md +18 -1
- data/app/mailers/spree/user_mailer.rb +6 -6
- data/app/models/spree/auth_configuration.rb +3 -3
- data/app/overrides/auth_shared_login_bar.rb +8 -6
- data/config/locales/zh-CN.yml +53 -0
- data/config/routes.rb +1 -1
- data/lib/controllers/backend/spree/admin/user_passwords_controller.rb +3 -3
- data/lib/controllers/backend/spree/admin/user_sessions_controller.rb +1 -1
- data/lib/controllers/frontend/spree/checkout_controller_decorator.rb +4 -2
- data/lib/controllers/frontend/spree/user_passwords_controller.rb +3 -3
- data/lib/controllers/frontend/spree/user_registrations_controller.rb +1 -1
- data/lib/controllers/frontend/spree/user_sessions_controller.rb +4 -0
- data/lib/controllers/frontend/spree/users_controller.rb +5 -5
- data/lib/spree/auth/engine.rb +48 -45
- data/lib/spree/authentication_helpers.rb +16 -11
- data/lib/views/backend/spree/admin/shared/_navigation_footer.html.erb +2 -2
- data/lib/views/backend/spree/admin/user_passwords/edit.html.erb +3 -3
- data/lib/views/backend/spree/admin/user_passwords/new.html.erb +3 -3
- data/lib/views/backend/spree/admin/user_sessions/new.html.erb +5 -5
- data/lib/views/backend/spree/layouts/admin/_login_nav.html.erb +2 -2
- data/lib/views/frontend/spree/checkout/registration.html.erb +4 -4
- data/lib/views/frontend/spree/shared/_login.html.erb +5 -5
- data/lib/views/frontend/spree/shared/_user_form.html.erb +3 -3
- data/lib/views/frontend/spree/user_passwords/edit.html.erb +4 -4
- data/lib/views/frontend/spree/user_passwords/new.html.erb +3 -3
- data/lib/views/frontend/spree/user_registrations/new.html.erb +3 -3
- data/lib/views/frontend/spree/user_sessions/new.html.erb +1 -1
- data/lib/views/frontend/spree/users/edit.html.erb +5 -5
- data/lib/views/frontend/spree/users/show.html.erb +1 -1
- data/solidus_auth_devise.gemspec +7 -7
- data/spec/support/authentication_helpers.rb +2 -2
- metadata +17 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed48bb8fc53ea89e494278ad2016e10fcfbd30bc
|
4
|
+
data.tar.gz: b761cf86babf945a3433d9aa1cf2b9279139e52c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a8ecb33d6be656864477bcc7d55b7adb1b3a8ee19b3061c49e48e618fb21b098a0ab86cfdbba117fff817c0e4b87306dbf5caa7203e2d674b74e3adcd03d862
|
7
|
+
data.tar.gz: 035211966358072827219d129f5dece6b04bd7a5d47316dd5d7bc5d40cdd700b314774a434e7f288f50bd9f42a03acbc1ded8c381f925deed2cf1b038caef878
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
## Solidus Auth Devise v1.6.0 (master, unreleased)
|
2
|
+
|
3
|
+
## Solidus Auth Devise v1.5.0 (2016-07-18)
|
4
|
+
|
5
|
+
* Add call to set_current_order on sign in. This replaces a before filter that
|
6
|
+
is being eliminated from Solidus controllers where set_current_order was
|
7
|
+
called excessively.
|
8
|
+
|
9
|
+
* Update backend views to only reference backend routes (#57)
|
10
|
+
|
11
|
+
* Devise dependency updates
|
12
|
+
|
13
|
+
The locked versions of Devise and Devise-Encryptable have been updated.
|
14
|
+
Devise, in particular, has been bumped to a new major version, which removes
|
15
|
+
support for the following:
|
16
|
+
|
17
|
+
- Rails 3.2. and 4.0
|
18
|
+
- Ruby 1.9 and 2.0
|
19
|
+
|
20
|
+
These losses are deemed acceptable, as Solidus' core itself does not
|
21
|
+
support any of these versions.
|
22
|
+
|
23
|
+
For more details on the changes, see the Devise changelog:
|
24
|
+
https://github.com/plataformatec/devise/blob/master/CHANGELOG.md
|
25
|
+
|
26
|
+
Similar changes in `devise-encryptable`, with details in the changelog:
|
27
|
+
https://github.com/plataformatec/devise-encryptable/blob/master/Changelog.md
|
28
|
+
|
29
|
+
* Addition of Chinese translations (#64)
|
30
|
+
|
31
|
+
## Solidus Auth Devise v1.4.0 (2016-05-16)
|
32
|
+
|
33
|
+
* Update hash syntax for routes.rb
|
34
|
+
* Make route syntax consistent and modern
|
35
|
+
* Make devise_for routes conditional
|
36
|
+
* Test against solidus 1.3
|
37
|
+
* check_authorization first in CheckoutController
|
38
|
+
* Ensure current_order exists checking registration
|
39
|
+
* Add vendor to .gitignore
|
40
|
+
* Revert "ChcktController checks auth and registration first"
|
41
|
+
* ChcktController checks auth and registration first
|
42
|
+
* Remove obsolete regression test
|
43
|
+
* Remove superfluous call to associate_user
|
44
|
+
* Test and fix order association
|
45
|
+
* Re-add Solidus 1.0 compatability
|
46
|
+
* Improve readability of check_registration
|
47
|
+
* Force registration when guest checkout not allowed
|
48
|
+
* Improve check_registration spec for guest case
|
49
|
+
* Add pg and mysql2 to Gemfile
|
50
|
+
* Also test against v1.1 and v1.2
|
51
|
+
* Allow https instead of git in gemfile
|
52
|
+
* Ignore pkg directory
|
53
|
+
* Update .travis.yml
|
54
|
+
* Update README testing section
|
55
|
+
* Fix specs now that order's store is required
|
56
|
+
* Moved the encryptor setting for the User model into the devise config, allowing it to be easily overridden from the local devise config.
|
57
|
+
|
58
|
+
## Solidus Auth Devise v1.3.0 (2016-01-12)
|
59
|
+
|
60
|
+
* Add capybara-screenshot
|
61
|
+
* Remove restriction on sass-rails and coffee-rails
|
62
|
+
* Remove the "Logged in as:" message
|
63
|
+
* Correct use of font-awesome
|
64
|
+
* Swap .inline-menu for specific hook
|
65
|
+
* Add new template override
|
66
|
+
* remove duplicate translation
|
67
|
+
* add missing translations for German locale
|
68
|
+
|
69
|
+
## Solidus Auth Devise v1.2.3 (2015-11-30)
|
70
|
+
|
71
|
+
* Add an explicit require to deface
|
72
|
+
* Check if front/backend are available before decorating the controllers
|
73
|
+
* Rename spree@example.com to admin@example.com
|
74
|
+
* Skip the confirmation spec
|
75
|
+
* Permit editing email
|
76
|
+
|
77
|
+
## Solidus Auth Devise v1.2.2 (2015-10-01)
|
78
|
+
|
79
|
+
* Automatically regenerate a user's spree_api_key upon password change.
|
80
|
+
* Inherit from Spree::Base
|
81
|
+
* Explicitely add deface to gemfile
|
82
|
+
* Remove some redundant includes
|
83
|
+
* Remove unneeded monkey patching
|
84
|
+
* Remove brittle spec
|
85
|
+
* Pass store to from_address helper
|
86
|
+
* Fix broken specs
|
87
|
+
|
88
|
+
## Solidus Auth Devise v1.2.0 (2015-07-22)
|
89
|
+
|
90
|
+
* Use new extension point for access denied.
|
91
|
+
* Explicitly include UserMethods on Spree::User
|
92
|
+
* Bump rspec to 3.3 and remove minor patch restriction.
|
93
|
+
* We no longer redirect to admin/orders by default.
|
94
|
+
* Skip adding devise.rb if it already exists.
|
95
|
+
* Fix checkout spec
|
96
|
+
* Bump to RSpec 3.2
|
97
|
+
* Use non-deprecated `deliver_now` in mailer spec.
|
98
|
+
* Fix generator name.
|
99
|
+
|
100
|
+
## Solidus Auth Devise v1.1.0 (2015-06-03)
|
101
|
+
|
102
|
+
* Updates for devise 3.5.1
|
103
|
+
* Bump devise to ~> 3.5.1
|
104
|
+
* Avoid stubbing to fix checkout spec
|
105
|
+
* Minor update to README.md
|
106
|
+
* Remove Spree::Core::ControllerHelpers::SSL
|
107
|
+
* Add circle.yml
|
108
|
+
* Use git+ssh for solidus gem
|
109
|
+
* Remove dead code.
|
110
|
+
* Refactor UserSessionsController and specs
|
111
|
+
* Remove @user from UserRegistrationsController
|
112
|
+
* Add specs for UserRegistrationsController
|
113
|
+
* Remove empty overrides in registrations controller
|
114
|
+
|
115
|
+
## Solidus Auth Devise v1.0.0 (2015-05-26)
|
116
|
+
|
117
|
+
* Initial Release
|
data/README.md
CHANGED
@@ -7,22 +7,37 @@ Installation
|
|
7
7
|
------------
|
8
8
|
|
9
9
|
Just add this line to your `Gemfile`:
|
10
|
+
|
10
11
|
```ruby
|
11
12
|
gem "solidus_auth_devise"
|
12
13
|
```
|
13
14
|
|
14
|
-
Then run `bundle install`.
|
15
|
+
Then, run `bundle install`.
|
16
|
+
|
17
|
+
After that's done, you can install and run the necessary migrations, then seed the database:
|
18
|
+
|
19
|
+
```shell
|
20
|
+
bundle exec rake solidus_auth:install:migration
|
21
|
+
bundle exec rake db:migrate
|
22
|
+
bundle exec rake db:seed
|
23
|
+
```
|
24
|
+
|
25
|
+
### Default Username/Password
|
26
|
+
|
27
|
+
As part of running the above installation steps, you will be asked to set an admin email/password combination. The default values are `admin@example.com` and `test123`, respectively.
|
15
28
|
|
16
29
|
### Confirmable
|
17
30
|
|
18
31
|
To enable Devise's Confirmable module, which will send the user an email with a link to confirm their account, you must do the following:
|
19
32
|
|
20
33
|
* Add this line to an initializer in your Rails project (typically `config/initializers/spree.rb`):
|
34
|
+
|
21
35
|
```ruby
|
22
36
|
Spree::Auth::Config[:confirmable] = true
|
23
37
|
```
|
24
38
|
|
25
39
|
* Add a Devise initializer to your Rails project (typically `config/initializers/devise.rb`):
|
40
|
+
|
26
41
|
```ruby
|
27
42
|
Devise.setup do |config|
|
28
43
|
# Required so users don't lose their carts when they need to confirm.
|
@@ -57,11 +72,13 @@ end
|
|
57
72
|
```
|
58
73
|
|
59
74
|
Then register your class in your spree initializer: config/initializers/spree.rb
|
75
|
+
|
60
76
|
```ruby
|
61
77
|
Spree::Ability.register_ability(SuperAbilities)
|
62
78
|
```
|
63
79
|
|
64
80
|
Inside of your host application you can then use CanCan like you normally would.
|
81
|
+
|
65
82
|
```erb
|
66
83
|
<% if can? :stop Bullet %>
|
67
84
|
...
|
@@ -1,15 +1,15 @@
|
|
1
1
|
module Spree
|
2
2
|
class UserMailer < BaseMailer
|
3
3
|
def reset_password_instructions(user, token, *args)
|
4
|
-
@
|
5
|
-
@
|
6
|
-
mail to: user.email, from: from_address(@store), subject: "#{@store.name} #{I18n.t(:subject, :
|
4
|
+
@store = Spree::Store.default
|
5
|
+
@edit_password_reset_url = spree.edit_spree_user_password_url(reset_password_token: token, host: @store.url)
|
6
|
+
mail to: user.email, from: from_address(@store), subject: "#{@store.name} #{I18n.t(:subject, scope: [:devise, :mailer, :reset_password_instructions])}"
|
7
7
|
end
|
8
8
|
|
9
9
|
def confirmation_instructions(user, token, opts={})
|
10
|
-
@
|
11
|
-
@
|
12
|
-
mail to: user.email, from: from_address(@store), subject: "#{@store.name} #{I18n.t(:subject, :
|
10
|
+
@store = Spree::Store.default
|
11
|
+
@confirmation_url = spree.spree_user_confirmation_url(confirmation_token: token, host: @store.url)
|
12
|
+
mail to: user.email, from: from_address(@store), subject: "#{@store.name} #{I18n.t(:subject, scope: [:devise, :mailer, :confirmation_instructions])}"
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Spree
|
2
2
|
class AuthConfiguration < Preferences::Configuration
|
3
|
-
preference :registration_step, :boolean, :
|
4
|
-
preference :signout_after_password_change, :boolean, :
|
5
|
-
preference :confirmable, :boolean, :
|
3
|
+
preference :registration_step, :boolean, default: true
|
4
|
+
preference :signout_after_password_change, :boolean, default: true
|
5
|
+
preference :confirmable, :boolean, default: false
|
6
6
|
end
|
7
7
|
end
|
@@ -1,6 +1,8 @@
|
|
1
|
-
Deface::Override.new(
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
Deface::Override.new(
|
2
|
+
virtual_path: "spree/shared/_nav_bar",
|
3
|
+
name: "auth_shared_login_bar",
|
4
|
+
insert_before: "li#search-bar",
|
5
|
+
partial: "spree/shared/login_bar",
|
6
|
+
disabled: false,
|
7
|
+
original: 'eb3fa668cd98b6a1c75c36420ef1b238a1fc55ac'
|
8
|
+
)
|
@@ -0,0 +1,53 @@
|
|
1
|
+
---
|
2
|
+
zh-CN:
|
3
|
+
spree:
|
4
|
+
admin_login:
|
5
|
+
devise:
|
6
|
+
confirmations:
|
7
|
+
confirmed: 账户确认成功,现已登录。
|
8
|
+
send_instructions: 稍后您将收到邮件,了解如何确认账户。
|
9
|
+
failure:
|
10
|
+
inactive: 您的账户尚未激活。
|
11
|
+
invalid: 邮箱或密码错误。
|
12
|
+
invalid_token: 验证凭证错误。
|
13
|
+
locked: 账户已锁定。
|
14
|
+
timeout: 账户闲置时间过长,请重新登录。
|
15
|
+
unauthenticated: 请注册或登录,然后继续。
|
16
|
+
unconfirmed: 请确认账户,然后继续。
|
17
|
+
mailer:
|
18
|
+
confirmation_instructions:
|
19
|
+
subject: 确认说明
|
20
|
+
reset_password_instructions:
|
21
|
+
subject: 密码重置说明
|
22
|
+
unlock_instructions:
|
23
|
+
subject: 解锁说明
|
24
|
+
oauth_callbacks:
|
25
|
+
failure: 无法从%{kind}授权,原因为 %{reason}。
|
26
|
+
success: 从%{kind}账户授权成功。
|
27
|
+
unlocks:
|
28
|
+
send_instructions: 稍后您将收到邮件,了解如何解锁账户。
|
29
|
+
unlocked: 账户解锁成功,现已登录。
|
30
|
+
user_passwords:
|
31
|
+
spree_user:
|
32
|
+
cannot_be_blank: 密码不能为空。
|
33
|
+
no_token: 若需访问本页面,请使用重置密码邮件中网址链接,并确保该网址完整。
|
34
|
+
send_instructions: 稍后您将收到邮件,了解如何重置密码。
|
35
|
+
updated: 密码修改成功,现已登录。
|
36
|
+
user_registrations:
|
37
|
+
destroyed: 账户已成功取消,再会啦,期待着您的早日回归!
|
38
|
+
inactive_signed_up: 注册成功!但暂时无法登录账户,原因为%{reason}。
|
39
|
+
signed_up: 祝贺您!注册成功。
|
40
|
+
updated: 账户更新成功。
|
41
|
+
user_sessions:
|
42
|
+
signed_in: 登录成功。
|
43
|
+
signed_out: 登出成功。
|
44
|
+
already_signed_in: 已登录。
|
45
|
+
errors:
|
46
|
+
messages:
|
47
|
+
already_confirmed: 已确认
|
48
|
+
email_is_invalid: 邮箱地址不能为空
|
49
|
+
not_found: 未找到
|
50
|
+
not_locked: 未锁定
|
51
|
+
not_saved:
|
52
|
+
one: '出现1处错误,%{resource}无法保存'
|
53
|
+
other: '出现%{count}处错误,%{resource}无法保存'
|
data/config/routes.rb
CHANGED
@@ -10,18 +10,18 @@ class Spree::Admin::UserPasswordsController < Devise::PasswordsController
|
|
10
10
|
layout 'spree/layouts/admin'
|
11
11
|
|
12
12
|
# Overridden due to bug in Devise.
|
13
|
-
# respond_with resource, :
|
13
|
+
# respond_with resource, location: new_session_path(resource_name)
|
14
14
|
# is generating bad url /session/new.user
|
15
15
|
#
|
16
16
|
# overridden to:
|
17
|
-
# respond_with resource, :
|
17
|
+
# respond_with resource, location: spree.login_path
|
18
18
|
#
|
19
19
|
def create
|
20
20
|
self.resource = resource_class.send_reset_password_instructions(params[resource_name])
|
21
21
|
|
22
22
|
if resource.errors.empty?
|
23
23
|
set_flash_message(:notice, :send_instructions) if is_navigational_format?
|
24
|
-
respond_with resource, :
|
24
|
+
respond_with resource, location: spree.admin_login_path
|
25
25
|
else
|
26
26
|
respond_with_navigational(resource) { render :new }
|
27
27
|
end
|
@@ -20,7 +20,7 @@ class Spree::Admin::UserSessionsController < Devise::SessionsController
|
|
20
20
|
}
|
21
21
|
format.js {
|
22
22
|
user = resource.record
|
23
|
-
render :
|
23
|
+
render json: {ship_address: user.ship_address, bill_address: user.bill_address}.to_json
|
24
24
|
}
|
25
25
|
end
|
26
26
|
else
|
@@ -12,7 +12,7 @@ Spree::CheckoutController.class_eval do
|
|
12
12
|
if params[:order][:email] =~ Devise.email_regexp && current_order.update_attribute(:email, params[:order][:email])
|
13
13
|
redirect_to spree.checkout_path
|
14
14
|
else
|
15
|
-
flash[:registration_error] = t(:email_is_invalid, :
|
15
|
+
flash[:registration_error] = t(:email_is_invalid, scope: [:errors, :messages])
|
16
16
|
@user = Spree::User.new
|
17
17
|
render 'registration'
|
18
18
|
end
|
@@ -20,7 +20,9 @@ Spree::CheckoutController.class_eval do
|
|
20
20
|
|
21
21
|
private
|
22
22
|
def order_params
|
23
|
-
params
|
23
|
+
params.
|
24
|
+
fetch(:order, {}).
|
25
|
+
permit(:email)
|
24
26
|
end
|
25
27
|
|
26
28
|
def skip_state_validation?
|
@@ -11,18 +11,18 @@ class Spree::UserPasswordsController < Devise::PasswordsController
|
|
11
11
|
include Spree::Core::ControllerHelpers::Store
|
12
12
|
|
13
13
|
# Overridden due to bug in Devise.
|
14
|
-
# respond_with resource, :
|
14
|
+
# respond_with resource, location: new_session_path(resource_name)
|
15
15
|
# is generating bad url /session/new.user
|
16
16
|
#
|
17
17
|
# overridden to:
|
18
|
-
# respond_with resource, :
|
18
|
+
# respond_with resource, location: spree.login_path
|
19
19
|
#
|
20
20
|
def create
|
21
21
|
self.resource = resource_class.send_reset_password_instructions(params[resource_name])
|
22
22
|
|
23
23
|
if resource.errors.empty?
|
24
24
|
set_flash_message(:notice, :send_instructions) if is_navigational_format?
|
25
|
-
respond_with resource, :
|
25
|
+
respond_with resource, location: spree.login_path
|
26
26
|
else
|
27
27
|
respond_with_navigational(resource) { render :new }
|
28
28
|
end
|
@@ -10,7 +10,7 @@ class Spree::UserRegistrationsController < Devise::RegistrationsController
|
|
10
10
|
include Spree::Core::ControllerHelpers::Order
|
11
11
|
include Spree::Core::ControllerHelpers::Store
|
12
12
|
|
13
|
-
before_filter :check_permissions, :
|
13
|
+
before_filter :check_permissions, only: [:edit, :update]
|
14
14
|
skip_before_filter :require_no_authentication
|
15
15
|
|
16
16
|
def create
|
@@ -9,6 +9,10 @@ class Spree::UserSessionsController < Devise::SessionsController
|
|
9
9
|
include Spree::Core::ControllerHelpers::Order
|
10
10
|
include Spree::Core::ControllerHelpers::Store
|
11
11
|
|
12
|
+
# This is included in ControllerHelpers::Order. We just want to call
|
13
|
+
# it after someone has successfully logged in.
|
14
|
+
after_action :set_current_order, only: :create
|
15
|
+
|
12
16
|
def create
|
13
17
|
authenticate_spree_user!
|
14
18
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class Spree::UsersController < Spree::StoreController
|
2
|
-
skip_before_filter :set_current_order, :
|
3
|
-
prepend_before_filter :load_object, :
|
4
|
-
prepend_before_filter :authorize_actions, :
|
2
|
+
skip_before_filter :set_current_order, only: :show
|
3
|
+
prepend_before_filter :load_object, only: [:show, :edit, :update]
|
4
|
+
prepend_before_filter :authorize_actions, only: :new
|
5
5
|
|
6
6
|
include Spree::Core::ControllerHelpers
|
7
7
|
|
@@ -28,9 +28,9 @@ class Spree::UsersController < Spree::StoreController
|
|
28
28
|
if params[:user][:password].present?
|
29
29
|
# this logic needed b/c devise wants to log us out after password changes
|
30
30
|
user = Spree::User.reset_password_by_token(params[:user])
|
31
|
-
sign_in(@user, :
|
31
|
+
sign_in(@user, event: :authentication, bypass: !Spree::Auth::Config[:signout_after_password_change])
|
32
32
|
end
|
33
|
-
redirect_to spree.account_url, :
|
33
|
+
redirect_to spree.account_url, notice: Spree.t(:account_updated)
|
34
34
|
else
|
35
35
|
render :edit
|
36
36
|
end
|
data/lib/spree/auth/engine.rb
CHANGED
@@ -7,11 +7,11 @@ module Spree
|
|
7
7
|
isolate_namespace Spree
|
8
8
|
engine_name 'solidus_auth'
|
9
9
|
|
10
|
-
initializer "spree.auth.environment", :
|
10
|
+
initializer "spree.auth.environment", before: :load_config_initializers do |app|
|
11
11
|
Spree::Auth::Config = Spree::AuthConfiguration.new
|
12
12
|
end
|
13
13
|
|
14
|
-
initializer "solidus_auth_devise.set_user_class", :
|
14
|
+
initializer "solidus_auth_devise.set_user_class", after: :load_config_initializers do
|
15
15
|
Spree.user_class = "Spree::User"
|
16
16
|
end
|
17
17
|
|
@@ -24,75 +24,78 @@ module Spree
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
27
|
+
config.to_prepare do
|
28
|
+
auth = Spree::Auth::Engine
|
29
|
+
|
30
|
+
auth.prepare_backend if auth.backend_available?
|
31
|
+
auth.prepare_frontend if auth.frontend_available?
|
32
|
+
|
33
|
+
ApplicationController.send :include, Spree::AuthenticationHelpers
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.prepare_backend
|
37
|
+
Rails.application.config.assets.precompile += %w[
|
38
|
+
lib/assets/javascripts/spree/backend/solidus_auth.js
|
39
|
+
lib/assets/javascripts/spree/backend/solidus_auth.css
|
40
|
+
]
|
41
|
+
|
42
|
+
Dir.glob(File.join(File.dirname(__FILE__), "../../controllers/backend/*/*/*_decorator*.rb")) do |c|
|
43
|
+
Rails.configuration.cache_classes ? require(c) : load(c)
|
36
44
|
end
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
45
|
+
|
46
|
+
Spree::Admin::BaseController.unauthorized_redirect = -> do
|
47
|
+
if try_spree_current_user
|
48
|
+
flash[:error] = Spree.t(:authorization_failure)
|
49
|
+
redirect_to spree.admin_unauthorized_path
|
50
|
+
else
|
51
|
+
store_location
|
52
|
+
redirect_to spree.admin_login_path
|
44
53
|
end
|
45
54
|
end
|
46
|
-
|
55
|
+
end
|
47
56
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
end
|
57
|
-
end
|
57
|
+
def self.prepare_frontend
|
58
|
+
Rails.application.config.assets.precompile += %w[
|
59
|
+
lib/assets/javascripts/spree/frontend/solidus_auth.js
|
60
|
+
lib/assets/javascripts/spree/frontend/solidus_auth.css
|
61
|
+
]
|
62
|
+
|
63
|
+
Dir.glob(File.join(File.dirname(__FILE__), "../../controllers/frontend/*/*_decorator*.rb")) do |c|
|
64
|
+
Rails.configuration.cache_classes ? require(c) : load(c)
|
58
65
|
end
|
59
66
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
redirect_to spree.admin_login_path
|
68
|
-
end
|
67
|
+
Spree::BaseController.unauthorized_redirect = -> do
|
68
|
+
if try_spree_current_user
|
69
|
+
flash[:error] = Spree.t(:authorization_failure)
|
70
|
+
redirect_to spree.unauthorized_path
|
71
|
+
else
|
72
|
+
store_location
|
73
|
+
redirect_to spree.login_path
|
69
74
|
end
|
70
75
|
end
|
71
76
|
end
|
72
77
|
|
73
78
|
def self.backend_available?
|
74
|
-
|
79
|
+
defined?(Spree::Backend::Engine) == "constant"
|
75
80
|
end
|
76
81
|
|
77
82
|
def self.dash_available?
|
78
|
-
|
83
|
+
defined?(Spree::Dash::Engine) == "constant"
|
79
84
|
end
|
80
85
|
|
81
86
|
def self.frontend_available?
|
82
|
-
|
87
|
+
defined?(Spree::Frontend::Engine) == "constant"
|
83
88
|
end
|
84
89
|
|
85
|
-
if
|
90
|
+
if backend_available?
|
86
91
|
paths["app/controllers"] << "lib/controllers/backend"
|
87
92
|
paths["app/views"] << "lib/views/backend"
|
88
93
|
end
|
89
94
|
|
90
|
-
if
|
95
|
+
if frontend_available?
|
91
96
|
paths["app/controllers"] << "lib/controllers/frontend"
|
92
97
|
paths["app/views"] << "lib/views/frontend"
|
93
98
|
end
|
94
|
-
|
95
|
-
config.to_prepare &method(:activate).to_proc
|
96
99
|
end
|
97
100
|
end
|
98
101
|
end
|
@@ -2,25 +2,30 @@ module Spree
|
|
2
2
|
module AuthenticationHelpers
|
3
3
|
def self.included(receiver)
|
4
4
|
receiver.send :helper_method, :spree_current_user
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
|
6
|
+
if Spree::Auth::Engine.frontend_available?
|
7
|
+
receiver.send :helper_method, :spree_login_path
|
8
|
+
receiver.send :helper_method, :spree_signup_path
|
9
|
+
receiver.send :helper_method, :spree_logout_path
|
10
|
+
end
|
8
11
|
end
|
9
12
|
|
10
13
|
def spree_current_user
|
11
14
|
current_spree_user
|
12
15
|
end
|
13
16
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
+
if Spree::Auth::Engine.frontend_available?
|
18
|
+
def spree_login_path
|
19
|
+
spree.login_path
|
20
|
+
end
|
17
21
|
|
18
|
-
|
19
|
-
|
20
|
-
|
22
|
+
def spree_signup_path
|
23
|
+
spree.signup_path
|
24
|
+
end
|
21
25
|
|
22
|
-
|
23
|
-
|
26
|
+
def spree_logout_path
|
27
|
+
spree.logout_path
|
28
|
+
end
|
24
29
|
end
|
25
30
|
end
|
26
31
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<% if spree_current_user %>
|
2
2
|
<ul id="login-nav" class="admin-login-nav">
|
3
3
|
<li data-hook="user-account-link">
|
4
|
-
<%= link_to spree.
|
4
|
+
<%= link_to spree.edit_admin_user_path(spree_current_user) do %>
|
5
5
|
<i class='fa fa-user'></i>
|
6
6
|
<%= spree_current_user.email %>
|
7
7
|
<% end %>
|
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
<% if spree.respond_to? :root_path %>
|
17
17
|
<li data-hook="store-frontend-link">
|
18
|
-
<%= link_to spree.root_path, :
|
18
|
+
<%= link_to spree.root_path, target: '_blank' do %>
|
19
19
|
<i class='fa fa-external-link'></i>
|
20
20
|
<%= Spree.t(:back_to_store) %>
|
21
21
|
<% end %>
|
@@ -1,7 +1,7 @@
|
|
1
|
-
<%= render :
|
1
|
+
<%= render partial: 'spree/shared/error_messages', locals: { target: @spree_user } %>
|
2
2
|
<h2><%= Spree.t(:change_my_password) %></h2>
|
3
3
|
|
4
|
-
<%= form_for @spree_user, :
|
4
|
+
<%= form_for @spree_user, as: :spree_user, url: spree.update_password_path, method: :put do |f| %>
|
5
5
|
<p>
|
6
6
|
<%= f.label :password, Spree.t(:password) %><br />
|
7
7
|
<%= f.password_field :password %><br />
|
@@ -11,5 +11,5 @@
|
|
11
11
|
<%= f.password_field :password_confirmation %><br />
|
12
12
|
</p>
|
13
13
|
<%= f.hidden_field :reset_password_token %>
|
14
|
-
<%= f.submit Spree.t(:update), :
|
14
|
+
<%= f.submit Spree.t(:update), class: 'button primary' %>
|
15
15
|
<% end %>
|
@@ -1,17 +1,17 @@
|
|
1
|
-
<%= render :
|
1
|
+
<%= render partial: 'spree/shared/error_messages', locals: { target: @spree_user } %>
|
2
2
|
|
3
3
|
<div id="forgot-password">
|
4
4
|
<h6><%= Spree.t(:forgot_password) %></h6>
|
5
5
|
|
6
6
|
<p><%= Spree.t(:instructions_to_reset_password) %></p>
|
7
7
|
|
8
|
-
<%= form_for Spree::User.new, :
|
8
|
+
<%= form_for Spree::User.new, as: :spree_user, url: spree.reset_password_path do |f| %>
|
9
9
|
<p>
|
10
10
|
<%= f.label :email, Spree.t(:email) %><br />
|
11
11
|
<%= f.email_field :email %>
|
12
12
|
</p>
|
13
13
|
<p>
|
14
|
-
<%= f.submit Spree.t(:reset_password), :
|
14
|
+
<%= f.submit Spree.t(:reset_password), class: 'button primary' %>
|
15
15
|
</p>
|
16
16
|
<% end %>
|
17
17
|
</div>
|
@@ -6,23 +6,23 @@
|
|
6
6
|
<div id="existing-customer">
|
7
7
|
<h6><%= Spree.t(:admin_login) %></h6>
|
8
8
|
<div data-hook="login">
|
9
|
-
<%= form_for Spree::User.new, :
|
9
|
+
<%= form_for Spree::User.new, as: :spree_user, url: spree.admin_create_new_session_path do |f| %>
|
10
10
|
<div id="password-credentials">
|
11
11
|
<p>
|
12
12
|
<%= f.label :email, Spree.t(:email) %><br />
|
13
|
-
<%= f.email_field :email, :
|
13
|
+
<%= f.email_field :email, class: 'title', tabindex: 1 %>
|
14
14
|
</p>
|
15
15
|
<p>
|
16
16
|
<%= f.label :password, Spree.t(:password) %><br />
|
17
|
-
<%= f.password_field :password, :
|
17
|
+
<%= f.password_field :password, class: 'title', tabindex: 2 %>
|
18
18
|
</p>
|
19
19
|
</div>
|
20
20
|
<p>
|
21
|
-
<%= f.check_box :remember_me, :
|
21
|
+
<%= f.check_box :remember_me, tabindex: 3 %>
|
22
22
|
<%= f.label :remember_me, Spree.t(:remember_me) %>
|
23
23
|
</p>
|
24
24
|
|
25
|
-
<p><%= f.submit Spree.t(:login), :
|
25
|
+
<p><%= f.submit Spree.t(:login), class: 'button primary', tabindex: 4 %></p>
|
26
26
|
<% end %>
|
27
27
|
<%= Spree.t(:or) %>
|
28
28
|
<%= link_to Spree.t(:forgot_password), spree.recover_password_path %>
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<% if spree_current_user %>
|
2
2
|
<ul id="login-nav" class="inline-menu">
|
3
3
|
<li data-hook="user-logged-in-as"><%= Spree.t(:logged_in_as) %>: <%= spree_current_user.email %></li>
|
4
|
-
<li data-hook="user-account-link" class='fa fa-user'><%= link_to Spree.t(:account), spree.
|
4
|
+
<li data-hook="user-account-link" class='fa fa-user'><%= link_to Spree.t(:account), spree.edit_admin_user_path(spree_current_user) %></li>
|
5
5
|
<li data-hook="user-logout-link" class='fa fa-sign-out'><%= link_to Spree.t(:logout), spree.admin_logout_path %></li>
|
6
6
|
|
7
7
|
<% if spree.respond_to? :root_path %>
|
8
8
|
<li data-hook="store-frontend-link" class='fa fa-external-link'>
|
9
|
-
<%= link_to Spree.t(:back_to_store), spree.root_path, :
|
9
|
+
<%= link_to Spree.t(:back_to_store), spree.root_path, target: '_blank' %>
|
10
10
|
</li>
|
11
11
|
<% end %>
|
12
12
|
</ul>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%= render :
|
1
|
+
<%= render partial: 'spree/shared/error_messages', locals: { target: @user } %>
|
2
2
|
<h1><%= Spree.t(:registration) %></h1>
|
3
3
|
<div id="registration" data-hook>
|
4
4
|
<div id="account" class="columns alpha eight">
|
@@ -10,12 +10,12 @@
|
|
10
10
|
<% if flash[:registration_error] %>
|
11
11
|
<div class='flash error'><%= flash[:registration_error] %></div>
|
12
12
|
<% end %>
|
13
|
-
<%= form_for @order, :
|
13
|
+
<%= form_for @order, url: update_checkout_registration_path, method: :put, html: { id: 'checkout_form_registration' } do |f| %>
|
14
14
|
<p>
|
15
15
|
<%= f.label :email, Spree.t(:email) %><br />
|
16
|
-
<%= f.email_field :email, :
|
16
|
+
<%= f.email_field :email, class: 'title' %>
|
17
17
|
</p>
|
18
|
-
<p><%= f.submit Spree.t(:continue), :
|
18
|
+
<p><%= f.submit Spree.t(:continue), class: 'button primary' %></p>
|
19
19
|
<% end %>
|
20
20
|
</div>
|
21
21
|
<% end %>
|
@@ -1,18 +1,18 @@
|
|
1
|
-
<%= form_for Spree::User.new, :
|
1
|
+
<%= form_for Spree::User.new, as: :spree_user, url: spree.create_new_session_path do |f| %>
|
2
2
|
<div id="password-credentials">
|
3
3
|
<p>
|
4
4
|
<%= f.label :email, Spree.t(:email) %><br />
|
5
|
-
<%= f.email_field :email, :
|
5
|
+
<%= f.email_field :email, class: 'title', tabindex: 1, autofocus: true %>
|
6
6
|
</p>
|
7
7
|
<p>
|
8
8
|
<%= f.label :password, Spree.t(:password) %><br />
|
9
|
-
<%= f.password_field :password, :
|
9
|
+
<%= f.password_field :password, class: 'title', tabindex: 2 %>
|
10
10
|
</p>
|
11
11
|
</div>
|
12
12
|
<p>
|
13
|
-
<%= f.check_box :remember_me, :
|
13
|
+
<%= f.check_box :remember_me, tabindex: 3 %>
|
14
14
|
<%= f.label :remember_me, Spree.t(:remember_me) %>
|
15
15
|
</p>
|
16
16
|
|
17
|
-
<p><%= f.submit Spree.t(:login), :
|
17
|
+
<p><%= f.submit Spree.t(:login), class: 'button primary', tabindex: 4 %></p>
|
18
18
|
<% end %>
|
@@ -1,16 +1,16 @@
|
|
1
1
|
<p>
|
2
2
|
<%= f.label :email, Spree.t(:email) %><br />
|
3
|
-
<%= f.email_field :email, :
|
3
|
+
<%= f.email_field :email, class: 'title' %>
|
4
4
|
</p>
|
5
5
|
<div id="password-credentials">
|
6
6
|
<p>
|
7
7
|
<%= f.label :password, Spree.t(:password) %><br />
|
8
|
-
<%= f.password_field :password, :
|
8
|
+
<%= f.password_field :password, class: 'title' %>
|
9
9
|
</p>
|
10
10
|
|
11
11
|
<p>
|
12
12
|
<%= f.label :password_confirmation, Spree.t(:confirm_password) %><br />
|
13
|
-
<%= f.password_field :password_confirmation, :
|
13
|
+
<%= f.password_field :password_confirmation, class: 'title' %>
|
14
14
|
</p>
|
15
15
|
</div>
|
16
16
|
|
@@ -1,8 +1,8 @@
|
|
1
|
-
<%= render :
|
1
|
+
<%= render partial: 'spree/shared/error_messages', locals: { target: @spree_user } %>
|
2
2
|
<div id="change-password">
|
3
3
|
<h6><%= Spree.t(:change_my_password) %></h6>
|
4
|
-
|
5
|
-
<%= form_for @spree_user, :
|
4
|
+
|
5
|
+
<%= form_for @spree_user, as: :spree_user, url: spree.update_password_path, method: :put do |f| %>
|
6
6
|
<p>
|
7
7
|
<%= f.label :password, Spree.t(:password) %><br />
|
8
8
|
<%= f.password_field :password %><br />
|
@@ -12,6 +12,6 @@
|
|
12
12
|
<%= f.password_field :password_confirmation %><br />
|
13
13
|
</p>
|
14
14
|
<%= f.hidden_field :reset_password_token %>
|
15
|
-
<%= f.submit Spree.t(:update), :
|
15
|
+
<%= f.submit Spree.t(:update), class: 'button primary' %>
|
16
16
|
<% end %>
|
17
17
|
</div>
|
@@ -1,17 +1,17 @@
|
|
1
|
-
<%= render :
|
1
|
+
<%= render partial: 'spree/shared/error_messages', locals: { target: @spree_user } %>
|
2
2
|
|
3
3
|
<div id="forgot-password">
|
4
4
|
<h6><%= Spree.t(:forgot_password) %></h6>
|
5
5
|
|
6
6
|
<p><%= Spree.t(:instructions_to_reset_password) %></p>
|
7
7
|
|
8
|
-
<%= form_for Spree::User.new, :
|
8
|
+
<%= form_for Spree::User.new, as: :spree_user, url: spree.reset_password_path do |f| %>
|
9
9
|
<p>
|
10
10
|
<%= f.label :email, Spree.t(:email) %><br />
|
11
11
|
<%= f.email_field :email %>
|
12
12
|
</p>
|
13
13
|
<p>
|
14
|
-
<%= f.submit Spree.t(:reset_password), :
|
14
|
+
<%= f.submit Spree.t(:reset_password), class: 'button primary' %>
|
15
15
|
</p>
|
16
16
|
<% end %>
|
17
17
|
</div>
|
@@ -6,10 +6,10 @@
|
|
6
6
|
<h6><%= Spree.t(:new_customer) %></h6>
|
7
7
|
|
8
8
|
<div data-hook="signup">
|
9
|
-
<%= form_for resource, :
|
9
|
+
<%= form_for resource, as: :spree_user, url: spree.registration_path(resource) do |f| %>
|
10
10
|
<div data-hook="signup_inside_form">
|
11
|
-
<%= render :
|
12
|
-
<p><%= f.submit Spree.t(:create), :
|
11
|
+
<%= render partial: 'spree/shared/user_form', locals: { f: f } %>
|
12
|
+
<p><%= f.submit Spree.t(:create), class: 'button primary' %></p>
|
13
13
|
</div>
|
14
14
|
<% end %>
|
15
15
|
<%= Spree.t(:or) %> <%= link_to Spree.t(:login_as_existing), spree.login_path %>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<div id="existing-customer">
|
7
7
|
<h6><%= Spree.t(:login_as_existing) %></h6>
|
8
8
|
<div data-hook="login">
|
9
|
-
<%= render :
|
9
|
+
<%= render partial: 'spree/shared/login' %>
|
10
10
|
<%= Spree.t(:or) %> <%= link_to Spree.t(:create_a_new_account), spree.signup_path %> | <%= link_to Spree.t(:forgot_password), spree.recover_password_path %>
|
11
11
|
</div>
|
12
12
|
</div>
|
@@ -1,13 +1,13 @@
|
|
1
|
-
<%= render :
|
1
|
+
<%= render partial: 'spree/shared/error_messages', locals: { target: @user } %>
|
2
2
|
|
3
3
|
<div id="edit-account">
|
4
4
|
<h1><%= Spree.t(:editing_user) %></h1>
|
5
|
-
|
5
|
+
|
6
6
|
<div data-hook="account_edit">
|
7
|
-
<%= form_for Spree::User.new, :
|
8
|
-
<%= render :
|
7
|
+
<%= form_for Spree::User.new, as: @user, url: spree.user_path(@user), method: :put do |f| %>
|
8
|
+
<%= render partial: 'spree/shared/user_form', locals: { f: f } %>
|
9
9
|
<p>
|
10
|
-
<%= f.submit Spree.t(:update), :
|
10
|
+
<%= f.submit Spree.t(:update), class: 'button primary' %>
|
11
11
|
</p>
|
12
12
|
<% end %>
|
13
13
|
</div>
|
@@ -14,7 +14,7 @@
|
|
14
14
|
<table class="order-summary">
|
15
15
|
<thead>
|
16
16
|
<tr>
|
17
|
-
<th class="order-number"><%= I18n.t(:number, :
|
17
|
+
<th class="order-number"><%= I18n.t(:number, scope: 'activerecord.attributes.spree/order') %></th>
|
18
18
|
<th class="order-date"><%= Spree.t(:date) %></th>
|
19
19
|
<th class="order-status"><%= Spree.t(:status) %></th>
|
20
20
|
<th class="order-payment-state"><%= Spree.t(:payment_state) %></th>
|
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.5.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
|
|
@@ -21,8 +21,8 @@ Gem::Specification.new do |s|
|
|
21
21
|
solidus_version = [">= 1.0.6", "< 2"]
|
22
22
|
|
23
23
|
s.add_dependency "solidus_core", solidus_version
|
24
|
-
s.add_dependency "devise", '~>
|
25
|
-
s.add_dependency "devise-encryptable", "0.
|
24
|
+
s.add_dependency "devise", '~> 4.1'
|
25
|
+
s.add_dependency "devise-encryptable", "0.2.0"
|
26
26
|
s.add_dependency 'deface', '~> 1.0.0'
|
27
27
|
|
28
28
|
s.add_dependency "json"
|
@@ -31,14 +31,14 @@ Gem::Specification.new do |s|
|
|
31
31
|
s.add_development_dependency "solidus_backend", solidus_version
|
32
32
|
s.add_development_dependency "solidus_frontend", solidus_version
|
33
33
|
s.add_development_dependency "rspec-rails", "~> 3.3"
|
34
|
-
s.add_development_dependency "simplecov", "~> 0.
|
34
|
+
s.add_development_dependency "simplecov", "~> 0.11.2"
|
35
35
|
s.add_development_dependency "sqlite3"
|
36
36
|
s.add_development_dependency "sass-rails"
|
37
37
|
s.add_development_dependency "coffee-rails"
|
38
|
-
s.add_development_dependency "shoulda-matchers", "~>
|
38
|
+
s.add_development_dependency "shoulda-matchers", "~> 3.1.1"
|
39
39
|
s.add_development_dependency "factory_girl", "~> 4.4"
|
40
|
-
s.add_development_dependency "capybara", "~> 2.
|
40
|
+
s.add_development_dependency "capybara", "~> 2.7.1"
|
41
41
|
s.add_development_dependency "poltergeist", "~> 1.5"
|
42
|
-
s.add_development_dependency "database_cleaner", "~> 1.
|
42
|
+
s.add_development_dependency "database_cleaner", "~> 1.5.3"
|
43
43
|
s.add_development_dependency "capybara-screenshot"
|
44
44
|
end
|
@@ -9,6 +9,6 @@ end
|
|
9
9
|
|
10
10
|
RSpec.configure do |config|
|
11
11
|
config.include AuthenticationHelpers, type: :feature
|
12
|
-
config.include Devise::
|
13
|
-
config.include Rack::Test::Methods,
|
12
|
+
config.include Devise::Test::ControllerHelpers, type: :controller
|
13
|
+
config.include Rack::Test::Methods, type: :feature
|
14
14
|
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.5.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: 2016-
|
11
|
+
date: 2016-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: solidus_core
|
@@ -36,28 +36,28 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: '4.1'
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: '4.1'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: devise-encryptable
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - '='
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 0.
|
53
|
+
version: 0.2.0
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - '='
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: 0.
|
60
|
+
version: 0.2.0
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: deface
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -160,14 +160,14 @@ dependencies:
|
|
160
160
|
requirements:
|
161
161
|
- - "~>"
|
162
162
|
- !ruby/object:Gem::Version
|
163
|
-
version: 0.
|
163
|
+
version: 0.11.2
|
164
164
|
type: :development
|
165
165
|
prerelease: false
|
166
166
|
version_requirements: !ruby/object:Gem::Requirement
|
167
167
|
requirements:
|
168
168
|
- - "~>"
|
169
169
|
- !ruby/object:Gem::Version
|
170
|
-
version: 0.
|
170
|
+
version: 0.11.2
|
171
171
|
- !ruby/object:Gem::Dependency
|
172
172
|
name: sqlite3
|
173
173
|
requirement: !ruby/object:Gem::Requirement
|
@@ -216,14 +216,14 @@ dependencies:
|
|
216
216
|
requirements:
|
217
217
|
- - "~>"
|
218
218
|
- !ruby/object:Gem::Version
|
219
|
-
version:
|
219
|
+
version: 3.1.1
|
220
220
|
type: :development
|
221
221
|
prerelease: false
|
222
222
|
version_requirements: !ruby/object:Gem::Requirement
|
223
223
|
requirements:
|
224
224
|
- - "~>"
|
225
225
|
- !ruby/object:Gem::Version
|
226
|
-
version:
|
226
|
+
version: 3.1.1
|
227
227
|
- !ruby/object:Gem::Dependency
|
228
228
|
name: factory_girl
|
229
229
|
requirement: !ruby/object:Gem::Requirement
|
@@ -244,14 +244,14 @@ dependencies:
|
|
244
244
|
requirements:
|
245
245
|
- - "~>"
|
246
246
|
- !ruby/object:Gem::Version
|
247
|
-
version: 2.
|
247
|
+
version: 2.7.1
|
248
248
|
type: :development
|
249
249
|
prerelease: false
|
250
250
|
version_requirements: !ruby/object:Gem::Requirement
|
251
251
|
requirements:
|
252
252
|
- - "~>"
|
253
253
|
- !ruby/object:Gem::Version
|
254
|
-
version: 2.
|
254
|
+
version: 2.7.1
|
255
255
|
- !ruby/object:Gem::Dependency
|
256
256
|
name: poltergeist
|
257
257
|
requirement: !ruby/object:Gem::Requirement
|
@@ -272,14 +272,14 @@ dependencies:
|
|
272
272
|
requirements:
|
273
273
|
- - "~>"
|
274
274
|
- !ruby/object:Gem::Version
|
275
|
-
version: 1.
|
275
|
+
version: 1.5.3
|
276
276
|
type: :development
|
277
277
|
prerelease: false
|
278
278
|
version_requirements: !ruby/object:Gem::Requirement
|
279
279
|
requirements:
|
280
280
|
- - "~>"
|
281
281
|
- !ruby/object:Gem::Version
|
282
|
-
version: 1.
|
282
|
+
version: 1.5.3
|
283
283
|
- !ruby/object:Gem::Dependency
|
284
284
|
name: capybara-screenshot
|
285
285
|
requirement: !ruby/object:Gem::Requirement
|
@@ -304,6 +304,7 @@ files:
|
|
304
304
|
- ".gitignore"
|
305
305
|
- ".rspec"
|
306
306
|
- ".travis.yml"
|
307
|
+
- CHANGELOG.md
|
307
308
|
- Gemfile
|
308
309
|
- LICENSE.md
|
309
310
|
- README.md
|
@@ -325,6 +326,7 @@ files:
|
|
325
326
|
- config/locales/nl.yml
|
326
327
|
- config/locales/pt-BR.yml
|
327
328
|
- config/locales/tr.yml
|
329
|
+
- config/locales/zh-CN.yml
|
328
330
|
- config/routes.rb
|
329
331
|
- db/default/users.rb
|
330
332
|
- db/migrate/20101026184949_create_users.rb
|
@@ -434,7 +436,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
434
436
|
requirements:
|
435
437
|
- none
|
436
438
|
rubyforge_project:
|
437
|
-
rubygems_version: 2.
|
439
|
+
rubygems_version: 2.5.1
|
438
440
|
signing_key:
|
439
441
|
specification_version: 4
|
440
442
|
summary: Provides authentication and authorization services for use with Solidus by
|