class Spree::UsersController

Public Instance Methods

create() click to toggle source
# File lib/controllers/frontend/spree/users_controller.rb, line 12
def create
  @user = Spree.user_class.new(user_params)
  if @user.save

    if current_order
      session[:guest_token] = nil
    end

    redirect_back_or_default(root_url)
  else
    render :new
  end
end
show() click to toggle source
# File lib/controllers/frontend/spree/users_controller.rb, line 8
def show
  @orders = @user.orders.complete.order('completed_at desc')
end
update() click to toggle source
# File lib/controllers/frontend/spree/users_controller.rb, line 26
def update
  if @user.update(user_params)
    if params[:user][:password].present?
      # this logic needed b/c devise wants to log us out after password changes
      Spree.user_class.reset_password_by_token(params[:user])
      if Spree::Auth::Config[:signout_after_password_change]
        sign_in(@user, event: :authentication)
      else
        bypass_sign_in(@user)
      end
    end
    redirect_to spree.account_path, notice: Spree.t(:account_updated)
  else
    render :edit
  end
end

Private Instance Methods

accurate_title() click to toggle source
# File lib/controllers/frontend/spree/users_controller.rb, line 58
def accurate_title
  Spree.t(:my_account)
end
authorize_actions() click to toggle source
# File lib/controllers/frontend/spree/users_controller.rb, line 54
def authorize_actions
  authorize! params[:action].to_sym, Spree.user_class.new
end
load_object() click to toggle source
# File lib/controllers/frontend/spree/users_controller.rb, line 49
def load_object
  @user ||= spree_current_user
  authorize! params[:action].to_sym, @user
end
user_params() click to toggle source
# File lib/controllers/frontend/spree/users_controller.rb, line 45
def user_params
  params.require(:user).permit(Spree::PermittedAttributes.user_attributes)
end