Sha256: 0cd4ac242f39ea0db317df9434646d54724e3379d3f4afe2b1259646bad59705

Contents?: true

Size: 1.37 KB

Versions: 8

Compression:

Stored size: 1.37 KB

Contents

class Spree::UsersController < Spree::StoreController
  skip_before_action :set_current_order, only: :show, raise: false
  prepend_before_action :load_object, only: [:show, :edit, :update]
  prepend_before_action :authorize_actions, only: :new

  include Spree::Core::ControllerHelpers

  def show
    @orders = @user.orders.complete.order('completed_at desc')
  end

  def create
    @user = Spree::User.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

  def update
    if @user.update_attributes(user_params)
      if params[:user][:password].present?
        # this logic needed b/c devise wants to log us out after password changes
        unless Spree::Auth::Config[:signout_after_password_change]
          bypass_sign_in(@user)
        end
      end
      redirect_to spree.account_url, notice: Spree.t(:account_updated)
    else
      render :edit
    end
  end

  private
    def user_params
      params.require(:user).permit(Spree::PermittedAttributes.user_attributes | [:email])
    end

    def load_object
      @user ||= spree_current_user
      authorize! params[:action].to_sym, @user
    end

    def authorize_actions
      authorize! params[:action].to_sym, Spree::User.new
    end

    def accurate_title
      Spree.t(:my_account)
    end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
solidus_auth_devise_devise_token_auth-2.1.0.5 lib/controllers/frontend/spree/users_controller.rb
solidus_auth_devise_devise_token_auth-2.1.0.4 lib/controllers/frontend/spree/users_controller.rb
solidus_auth_devise_devise_token_auth-2.1.0.3 lib/controllers/frontend/spree/users_controller.rb
solidus_auth_devise_devise_token_auth-2.1.0.2 lib/controllers/frontend/spree/users_controller.rb
solidus_auth_devise_devise_token_auth-2.1.0.1 lib/controllers/frontend/spree/users_controller.rb
solidus_auth_devise_devise_token_auth-2.1.0 lib/controllers/frontend/spree/users_controller.rb
solidus_auth_devise-2.1.0 lib/controllers/frontend/spree/users_controller.rb
solidus_auth_devise-2.0.0 lib/controllers/frontend/spree/users_controller.rb