solidus_auth_devise 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of solidus_auth_devise might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.rspec +2 -0
- data/.travis.yml +11 -0
- data/Gemfile +9 -0
- data/LICENSE.md +26 -0
- data/README.md +88 -0
- data/Rakefile +21 -0
- data/app/controllers/metal_decorator.rb +6 -0
- data/app/mailers/spree/user_mailer.rb +15 -0
- data/app/models/spree/auth_configuration.rb +7 -0
- data/app/models/spree/user.rb +50 -0
- data/app/overrides/auth_shared_login_bar.rb +7 -0
- data/app/overrides/spree/admin/shared/_header/auth_admin_login_navigation_bar.html.erb.deface +4 -0
- data/bin/rails +7 -0
- data/config/initializers/devise.rb +137 -0
- data/config/initializers/warden.rb +14 -0
- data/config/locales/de.yml +49 -0
- data/config/locales/en.yml +55 -0
- data/config/locales/es.yml +49 -0
- data/config/locales/fr.yml +49 -0
- data/config/locales/it.yml +76 -0
- data/config/locales/nl.yml +49 -0
- data/config/locales/pt-BR.yml +51 -0
- data/config/locales/tr.yml +49 -0
- data/config/routes.rb +48 -0
- data/db/default/users.rb +83 -0
- data/db/migrate/20101026184949_create_users.rb +29 -0
- data/db/migrate/20101026184950_rename_columns_for_devise.rb +37 -0
- data/db/migrate/20101214150824_convert_user_remember_field.rb +11 -0
- data/db/migrate/20120203010234_add_reset_password_sent_at_to_spree_users.rb +8 -0
- data/db/migrate/20120605211305_make_users_email_index_unique.rb +9 -0
- data/db/migrate/20140904000425_add_deleted_at_to_users.rb +6 -0
- data/db/migrate/20141002154641_add_confirmable_to_users.rb +7 -0
- data/db/seeds.rb +5 -0
- data/lib/assets/javascripts/spree/backend/solidus_auth.js +1 -0
- data/lib/assets/javascripts/spree/frontend/solidus_auth.js +1 -0
- data/lib/assets/stylesheets/spree/backend/solidus_auth.css +3 -0
- data/lib/assets/stylesheets/spree/frontend/solidus_auth.css +3 -0
- data/lib/controllers/backend/spree/admin/admin_controller_decorator.rb +26 -0
- data/lib/controllers/backend/spree/admin/admin_orders_controller_decorator.rb +20 -0
- data/lib/controllers/backend/spree/admin/admin_resource_controller_decorator.rb +3 -0
- data/lib/controllers/backend/spree/admin/orders/customer_details_controller_decorator.rb +15 -0
- data/lib/controllers/backend/spree/admin/user_passwords_controller.rb +45 -0
- data/lib/controllers/backend/spree/admin/user_sessions_controller.rb +47 -0
- data/lib/controllers/frontend/spree/checkout_controller_decorator.rb +47 -0
- data/lib/controllers/frontend/spree/user_confirmations_controller.rb +21 -0
- data/lib/controllers/frontend/spree/user_passwords_controller.rb +53 -0
- data/lib/controllers/frontend/spree/user_registrations_controller.rb +72 -0
- data/lib/controllers/frontend/spree/user_sessions_controller.rb +53 -0
- data/lib/controllers/frontend/spree/users_controller.rb +57 -0
- data/lib/generators/spree/auth/install/install_generator.rb +26 -0
- data/lib/generators/spree/auth/install/templates/config/initializers/devise.rb +1 -0
- data/lib/solidus/auth.rb +2 -0
- data/lib/solidus_auth_devise.rb +5 -0
- data/lib/spree/auth/devise.rb +20 -0
- data/lib/spree/auth/engine.rb +77 -0
- data/lib/spree/authentication_helpers.rb +26 -0
- data/lib/tasks/auth.rake +9 -0
- data/lib/views/backend/spree/admin/user_passwords/edit.html.erb +15 -0
- data/lib/views/backend/spree/admin/user_passwords/new.html.erb +17 -0
- data/lib/views/backend/spree/admin/user_sessions/authorization_failure.html.erb +4 -0
- data/lib/views/backend/spree/admin/user_sessions/new.html.erb +31 -0
- data/lib/views/backend/spree/layouts/admin/_login_nav.html.erb +13 -0
- data/lib/views/frontend/spree/checkout/registration.html.erb +22 -0
- data/lib/views/frontend/spree/shared/_flashes.html.erb +9 -0
- data/lib/views/frontend/spree/shared/_login.html.erb +18 -0
- data/lib/views/frontend/spree/shared/_login_bar.html.erb +6 -0
- data/lib/views/frontend/spree/shared/_user_form.html.erb +17 -0
- data/lib/views/frontend/spree/user_mailer/confirmation_instructions.text.erb +5 -0
- data/lib/views/frontend/spree/user_mailer/reset_password_instructions.text.erb +10 -0
- data/lib/views/frontend/spree/user_passwords/edit.html.erb +17 -0
- data/lib/views/frontend/spree/user_passwords/new.html.erb +17 -0
- data/lib/views/frontend/spree/user_registrations/new.html.erb +21 -0
- data/lib/views/frontend/spree/user_sessions/authorization_failure.html.erb +4 -0
- data/lib/views/frontend/spree/user_sessions/new.html.erb +13 -0
- data/lib/views/frontend/spree/users/edit.html.erb +14 -0
- data/lib/views/frontend/spree/users/show.html.erb +43 -0
- data/solidus_auth_devise.gemspec +42 -0
- data/spec/controllers/spree/admin/orders_controller_spec.rb +14 -0
- data/spec/controllers/spree/checkout_controller_spec.rb +141 -0
- data/spec/controllers/spree/products_controller_spec.rb +21 -0
- data/spec/controllers/spree/user_passwords_controller_spec.rb +44 -0
- data/spec/controllers/spree/user_registrations_controller_spec.rb +13 -0
- data/spec/controllers/spree/user_sessions_controller_spec.rb +56 -0
- data/spec/controllers/spree/users_controller_spec.rb +38 -0
- data/spec/factories/confirmed_user.rb +7 -0
- data/spec/features/account_spec.rb +58 -0
- data/spec/features/admin/orders_spec.rb +29 -0
- data/spec/features/admin/password_reset_spec.rb +24 -0
- data/spec/features/admin/payment_methods_spec.rb +16 -0
- data/spec/features/admin/products_spec.rb +9 -0
- data/spec/features/admin/sign_in_spec.rb +44 -0
- data/spec/features/admin/sign_out_spec.rb +22 -0
- data/spec/features/admin_permissions_spec.rb +46 -0
- data/spec/features/change_email_spec.rb +24 -0
- data/spec/features/checkout_spec.rb +165 -0
- data/spec/features/confirmation_spec.rb +28 -0
- data/spec/features/order_spec.rb +62 -0
- data/spec/features/password_reset_spec.rb +24 -0
- data/spec/features/sign_in_spec.rb +52 -0
- data/spec/features/sign_out_spec.rb +25 -0
- data/spec/features/sign_up_spec.rb +30 -0
- data/spec/mailers/user_mailer_spec.rb +46 -0
- data/spec/models/order_spec.rb +26 -0
- data/spec/models/user_spec.rb +58 -0
- data/spec/spec_helper.rb +25 -0
- data/spec/support/ability.rb +15 -0
- data/spec/support/authentication_helpers.rb +14 -0
- data/spec/support/capybara.rb +7 -0
- data/spec/support/confirm_helpers.rb +11 -0
- data/spec/support/database_cleaner.rb +18 -0
- data/spec/support/email.rb +5 -0
- data/spec/support/factory_girl.rb +5 -0
- data/spec/support/spree.rb +26 -0
- metadata +452 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
class Spree::UserConfirmationsController < Devise::ConfirmationsController
|
2
|
+
helper 'spree/base', 'spree/store'
|
3
|
+
|
4
|
+
if Spree::Auth::Engine.dash_available?
|
5
|
+
helper 'spree/analytics'
|
6
|
+
end
|
7
|
+
|
8
|
+
include Spree::Core::ControllerHelpers::Auth
|
9
|
+
include Spree::Core::ControllerHelpers::Common
|
10
|
+
include Spree::Core::ControllerHelpers::Order
|
11
|
+
include Spree::Core::ControllerHelpers::SSL
|
12
|
+
include Spree::Core::ControllerHelpers::Store
|
13
|
+
|
14
|
+
ssl_required
|
15
|
+
|
16
|
+
protected
|
17
|
+
|
18
|
+
def after_confirmation_path_for(resource_name, resource)
|
19
|
+
signed_in?(resource_name) ? spree.signed_in_root_path(resource) : spree.login_path
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
class Spree::UserPasswordsController < Devise::PasswordsController
|
2
|
+
helper 'spree/base', 'spree/store'
|
3
|
+
|
4
|
+
if Spree::Auth::Engine.dash_available?
|
5
|
+
helper 'spree/analytics'
|
6
|
+
end
|
7
|
+
|
8
|
+
include Spree::Core::ControllerHelpers::Auth
|
9
|
+
include Spree::Core::ControllerHelpers::Common
|
10
|
+
include Spree::Core::ControllerHelpers::Order
|
11
|
+
include Spree::Core::ControllerHelpers::SSL
|
12
|
+
include Spree::Core::ControllerHelpers::Store
|
13
|
+
|
14
|
+
ssl_required
|
15
|
+
|
16
|
+
# Overridden due to bug in Devise.
|
17
|
+
# respond_with resource, :location => new_session_path(resource_name)
|
18
|
+
# is generating bad url /session/new.user
|
19
|
+
#
|
20
|
+
# overridden to:
|
21
|
+
# respond_with resource, :location => spree.login_path
|
22
|
+
#
|
23
|
+
def create
|
24
|
+
self.resource = resource_class.send_reset_password_instructions(params[resource_name])
|
25
|
+
|
26
|
+
if resource.errors.empty?
|
27
|
+
set_flash_message(:notice, :send_instructions) if is_navigational_format?
|
28
|
+
respond_with resource, :location => spree.login_path
|
29
|
+
else
|
30
|
+
respond_with_navigational(resource) { render :new }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
# Devise::PasswordsController allows for blank passwords.
|
35
|
+
# Silly Devise::PasswordsController!
|
36
|
+
# Fixes spree/spree#2190.
|
37
|
+
def update
|
38
|
+
if params[:spree_user][:password].blank?
|
39
|
+
self.resource = resource_class.new
|
40
|
+
resource.reset_password_token = params[:spree_user][:reset_password_token]
|
41
|
+
set_flash_message(:error, :cannot_be_blank)
|
42
|
+
render :edit
|
43
|
+
else
|
44
|
+
super
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
protected
|
49
|
+
|
50
|
+
def new_session_path(resource_name)
|
51
|
+
spree.send("new_#{resource_name}_session_path")
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
class Spree::UserRegistrationsController < Devise::RegistrationsController
|
2
|
+
helper 'spree/base', 'spree/store'
|
3
|
+
|
4
|
+
if Spree::Auth::Engine.dash_available?
|
5
|
+
helper 'spree/analytics'
|
6
|
+
end
|
7
|
+
|
8
|
+
include Spree::Core::ControllerHelpers::Auth
|
9
|
+
include Spree::Core::ControllerHelpers::Common
|
10
|
+
include Spree::Core::ControllerHelpers::Order
|
11
|
+
include Spree::Core::ControllerHelpers::SSL
|
12
|
+
include Spree::Core::ControllerHelpers::Store
|
13
|
+
|
14
|
+
ssl_required
|
15
|
+
before_filter :check_permissions, :only => [:edit, :update]
|
16
|
+
skip_before_filter :require_no_authentication
|
17
|
+
|
18
|
+
# GET /resource/sign_up
|
19
|
+
def new
|
20
|
+
super
|
21
|
+
@user = resource
|
22
|
+
end
|
23
|
+
|
24
|
+
# POST /resource/sign_up
|
25
|
+
def create
|
26
|
+
@user = build_resource(spree_user_params)
|
27
|
+
if resource.save
|
28
|
+
set_flash_message(:notice, :signed_up)
|
29
|
+
sign_in(:spree_user, @user)
|
30
|
+
session[:spree_user_signup] = true
|
31
|
+
associate_user
|
32
|
+
respond_with resource, location: after_sign_up_path_for(resource)
|
33
|
+
else
|
34
|
+
clean_up_passwords(resource)
|
35
|
+
render :new
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# GET /resource/edit
|
40
|
+
def edit
|
41
|
+
super
|
42
|
+
end
|
43
|
+
|
44
|
+
# PUT /resource
|
45
|
+
def update
|
46
|
+
super
|
47
|
+
end
|
48
|
+
|
49
|
+
# DELETE /resource
|
50
|
+
def destroy
|
51
|
+
super
|
52
|
+
end
|
53
|
+
|
54
|
+
# GET /resource/cancel
|
55
|
+
# Forces the session data which is usually expired after sign
|
56
|
+
# in to be expired now. This is useful if the user wants to
|
57
|
+
# cancel oauth signing in/up in the middle of the process,
|
58
|
+
# removing all OAuth session data.
|
59
|
+
def cancel
|
60
|
+
super
|
61
|
+
end
|
62
|
+
|
63
|
+
protected
|
64
|
+
def check_permissions
|
65
|
+
authorize!(:create, resource)
|
66
|
+
end
|
67
|
+
|
68
|
+
private
|
69
|
+
def spree_user_params
|
70
|
+
params.require(:spree_user).permit(Spree::PermittedAttributes.user_attributes)
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
class Spree::UserSessionsController < Devise::SessionsController
|
2
|
+
helper 'spree/base', 'spree/store'
|
3
|
+
if Spree::Auth::Engine.dash_available?
|
4
|
+
helper 'spree/analytics'
|
5
|
+
end
|
6
|
+
|
7
|
+
include Spree::Core::ControllerHelpers::Auth
|
8
|
+
include Spree::Core::ControllerHelpers::Common
|
9
|
+
include Spree::Core::ControllerHelpers::Order
|
10
|
+
include Spree::Core::ControllerHelpers::SSL
|
11
|
+
include Spree::Core::ControllerHelpers::Store
|
12
|
+
|
13
|
+
ssl_required :new, :create, :destroy, :update
|
14
|
+
ssl_allowed :login_bar
|
15
|
+
|
16
|
+
def create
|
17
|
+
authenticate_spree_user!
|
18
|
+
|
19
|
+
if spree_user_signed_in?
|
20
|
+
respond_to do |format|
|
21
|
+
format.html {
|
22
|
+
flash[:success] = Spree.t(:logged_in_succesfully)
|
23
|
+
redirect_back_or_default(after_sign_in_path_for(spree_current_user))
|
24
|
+
}
|
25
|
+
format.js {
|
26
|
+
render :json => {:user => spree_current_user,
|
27
|
+
:ship_address => spree_current_user.ship_address,
|
28
|
+
:bill_address => spree_current_user.bill_address}.to_json
|
29
|
+
}
|
30
|
+
end
|
31
|
+
else
|
32
|
+
respond_to do |format|
|
33
|
+
format.html {
|
34
|
+
flash.now[:error] = t('devise.failure.invalid')
|
35
|
+
render :new
|
36
|
+
}
|
37
|
+
format.js {
|
38
|
+
render :json => { error: t('devise.failure.invalid') }, status: :unprocessable_entity
|
39
|
+
}
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
def accurate_title
|
46
|
+
Spree.t(:login)
|
47
|
+
end
|
48
|
+
|
49
|
+
def redirect_back_or_default(default)
|
50
|
+
redirect_to(session["spree_user_return_to"] || default)
|
51
|
+
session["spree_user_return_to"] = nil
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
class Spree::UsersController < Spree::StoreController
|
2
|
+
ssl_required
|
3
|
+
skip_before_filter :set_current_order, :only => :show
|
4
|
+
prepend_before_filter :load_object, :only => [:show, :edit, :update]
|
5
|
+
prepend_before_filter :authorize_actions, :only => :new
|
6
|
+
|
7
|
+
include Spree::Core::ControllerHelpers
|
8
|
+
|
9
|
+
def show
|
10
|
+
@orders = @user.orders.complete.order('completed_at desc')
|
11
|
+
end
|
12
|
+
|
13
|
+
def create
|
14
|
+
@user = Spree::User.new(user_params)
|
15
|
+
if @user.save
|
16
|
+
|
17
|
+
if current_order
|
18
|
+
session[:guest_token] = nil
|
19
|
+
end
|
20
|
+
|
21
|
+
redirect_back_or_default(root_url)
|
22
|
+
else
|
23
|
+
render :new
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def update
|
28
|
+
if @user.update_attributes(user_params)
|
29
|
+
if params[:user][:password].present?
|
30
|
+
# this logic needed b/c devise wants to log us out after password changes
|
31
|
+
user = Spree::User.reset_password_by_token(params[:user])
|
32
|
+
sign_in(@user, :event => :authentication, :bypass => !Spree::Auth::Config[:signout_after_password_change])
|
33
|
+
end
|
34
|
+
redirect_to spree.account_url, :notice => Spree.t(:account_updated)
|
35
|
+
else
|
36
|
+
render :edit
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
def user_params
|
42
|
+
params.require(:user).permit(Spree::PermittedAttributes.user_attributes)
|
43
|
+
end
|
44
|
+
|
45
|
+
def load_object
|
46
|
+
@user ||= spree_current_user
|
47
|
+
authorize! params[:action].to_sym, @user
|
48
|
+
end
|
49
|
+
|
50
|
+
def authorize_actions
|
51
|
+
authorize! params[:action].to_sym, Spree::User.new
|
52
|
+
end
|
53
|
+
|
54
|
+
def accurate_title
|
55
|
+
Spree.t(:my_account)
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Spree
|
2
|
+
module Auth
|
3
|
+
module Generators
|
4
|
+
class InstallGenerator < Rails::Generators::Base
|
5
|
+
def self.source_paths
|
6
|
+
paths = self.superclass.source_paths
|
7
|
+
paths << File.expand_path('../templates', __FILE__)
|
8
|
+
paths.flatten
|
9
|
+
end
|
10
|
+
|
11
|
+
def generate_devise_key
|
12
|
+
return if ENV['TRAVIS']
|
13
|
+
template 'config/initializers/devise.rb', 'config/initializers/devise.rb'
|
14
|
+
end
|
15
|
+
|
16
|
+
def add_migrations
|
17
|
+
run 'bundle exec rake railties:install:migrations FROM=solidus_auth_devise'
|
18
|
+
end
|
19
|
+
|
20
|
+
def run_migrations
|
21
|
+
run 'bundle exec rake db:migrate'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
Devise.secret_key = <%= SecureRandom.hex(50).inspect %>
|
data/lib/solidus/auth.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'spree/core'
|
2
|
+
require 'devise'
|
3
|
+
require 'devise-encryptable'
|
4
|
+
require 'cancan'
|
5
|
+
|
6
|
+
Devise.secret_key = SecureRandom.hex(50)
|
7
|
+
|
8
|
+
module Spree
|
9
|
+
module Auth
|
10
|
+
mattr_accessor :default_secret_key
|
11
|
+
|
12
|
+
def self.config(&block)
|
13
|
+
yield(Spree::Auth::Config)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
Spree::Auth.default_secret_key = Devise.secret_key
|
19
|
+
|
20
|
+
require 'spree/auth/engine'
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'devise'
|
2
|
+
require 'devise-encryptable'
|
3
|
+
|
4
|
+
module Spree
|
5
|
+
module Auth
|
6
|
+
class Engine < Rails::Engine
|
7
|
+
isolate_namespace Spree
|
8
|
+
engine_name 'solidus_auth'
|
9
|
+
|
10
|
+
initializer "spree.auth.environment", :before => :load_config_initializers do |app|
|
11
|
+
Spree::Auth::Config = Spree::AuthConfiguration.new
|
12
|
+
end
|
13
|
+
|
14
|
+
initializer "solidus_auth_devise.set_user_class", :after => :load_config_initializers do
|
15
|
+
Spree.user_class = "Spree::User"
|
16
|
+
end
|
17
|
+
|
18
|
+
initializer "solidus_auth_devise.check_secret_token" do
|
19
|
+
if Spree::Auth.default_secret_key == Devise.secret_key
|
20
|
+
puts "[WARNING] You are not setting Devise.secret_key within your application!"
|
21
|
+
puts "You must set this in config/initializers/devise.rb. Here's an example:"
|
22
|
+
puts " "
|
23
|
+
puts %Q{Devise.secret_key = "#{SecureRandom.hex(50)}"}
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.activate
|
28
|
+
Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
|
29
|
+
Rails.configuration.cache_classes ? require(c) : load(c)
|
30
|
+
end
|
31
|
+
if Spree::Auth::Engine.backend_available?
|
32
|
+
Rails.application.config.assets.precompile += [
|
33
|
+
'lib/assets/javascripts/spree/backend/solidus_auth.js',
|
34
|
+
'lib/assets/javascripts/spree/backend/solidus_auth.css'
|
35
|
+
]
|
36
|
+
Dir.glob(File.join(File.dirname(__FILE__), "../../controllers/backend/*/*/*_decorator*.rb")) do |c|
|
37
|
+
Rails.configuration.cache_classes ? require(c) : load(c)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
if Spree::Auth::Engine.frontend_available?
|
41
|
+
Rails.application.config.assets.precompile += [
|
42
|
+
'lib/assets/javascripts/spree/frontend/solidus_auth.js',
|
43
|
+
'lib/assets/javascripts/spree/frontend/solidus_auth.css'
|
44
|
+
]
|
45
|
+
Dir.glob(File.join(File.dirname(__FILE__), "../../controllers/frontend/*/*_decorator*.rb")) do |c|
|
46
|
+
Rails.configuration.cache_classes ? require(c) : load(c)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
ApplicationController.send :include, Spree::AuthenticationHelpers
|
50
|
+
end
|
51
|
+
|
52
|
+
def self.backend_available?
|
53
|
+
@@backend_available ||= ::Rails::Engine.subclasses.map(&:instance).map{ |e| e.class.to_s }.include?('Spree::Backend::Engine')
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.dash_available?
|
57
|
+
@@dash_available ||= ::Rails::Engine.subclasses.map(&:instance).map{ |e| e.class.to_s }.include?('Spree::Dash::Engine')
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.frontend_available?
|
61
|
+
@@frontend_available ||= ::Rails::Engine.subclasses.map(&:instance).map{ |e| e.class.to_s }.include?('Spree::Frontend::Engine')
|
62
|
+
end
|
63
|
+
|
64
|
+
if self.backend_available?
|
65
|
+
paths["app/controllers"] << "lib/controllers/backend"
|
66
|
+
paths["app/views"] << "lib/views/backend"
|
67
|
+
end
|
68
|
+
|
69
|
+
if self.frontend_available?
|
70
|
+
paths["app/controllers"] << "lib/controllers/frontend"
|
71
|
+
paths["app/views"] << "lib/views/frontend"
|
72
|
+
end
|
73
|
+
|
74
|
+
config.to_prepare &method(:activate).to_proc
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Spree
|
2
|
+
module AuthenticationHelpers
|
3
|
+
def self.included(receiver)
|
4
|
+
receiver.send :helper_method, :spree_current_user
|
5
|
+
receiver.send :helper_method, :spree_login_path
|
6
|
+
receiver.send :helper_method, :spree_signup_path
|
7
|
+
receiver.send :helper_method, :spree_logout_path
|
8
|
+
end
|
9
|
+
|
10
|
+
def spree_current_user
|
11
|
+
current_spree_user
|
12
|
+
end
|
13
|
+
|
14
|
+
def spree_login_path
|
15
|
+
spree.login_path
|
16
|
+
end
|
17
|
+
|
18
|
+
def spree_signup_path
|
19
|
+
spree.signup_path
|
20
|
+
end
|
21
|
+
|
22
|
+
def spree_logout_path
|
23
|
+
spree.logout_path
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/tasks/auth.rake
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
<%= render :partial => 'spree/shared/error_messages', :locals => { :target => @spree_user } %>
|
2
|
+
<h2><%= Spree.t(:change_my_password) %></h2>
|
3
|
+
|
4
|
+
<%= form_for @spree_user, :as => :spree_user, :url => spree.update_password_path, :method => :put do |f| %>
|
5
|
+
<p>
|
6
|
+
<%= f.label :password, Spree.t(:password) %><br />
|
7
|
+
<%= f.password_field :password %><br />
|
8
|
+
</p>
|
9
|
+
<p>
|
10
|
+
<%= f.label :password_confirmation, Spree.t(:confirm_password) %><br />
|
11
|
+
<%= f.password_field :password_confirmation %><br />
|
12
|
+
</p>
|
13
|
+
<%= f.hidden_field :reset_password_token %>
|
14
|
+
<%= f.submit Spree.t(:update), :class => 'button primary' %>
|
15
|
+
<% end %>
|