Class: Spree::Admin::UsersController

Inherits:
ResourceController show all
Defined in:
app/controllers/spree/admin/users_controller.rb

Instance Method Summary collapse

Methods inherited from ResourceController

belongs_to, #destroy, #edit, #new, #update_positions

Instance Method Details

#addresses ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
# File 'app/controllers/spree/admin/users_controller.rb', line 36

def addresses
  if request.put?
    params[:user][:bill_address_attributes][:user_id] = @user.id if params[:user][:bill_address_attributes].present?
    params[:user][:ship_address_attributes][:user_id] = @user.id if params[:user][:ship_address_attributes].present?
    if @user.update(user_params)
      flash.now[:success] = Spree.t(:account_updated)
      redirect_to spree.addresses_admin_user_path(@user)
    else
      render :addresses, status: :unprocessable_entity
    end
  end
end

#create ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'app/controllers/spree/admin/users_controller.rb', line 12

def create
  @user = Spree.user_class.new(user_params)
  if @user.save
    flash[:success] = flash_message_for(@user, :successfully_created)
    redirect_to spree.edit_admin_user_path(@user)
  else
    render :new, status: :unprocessable_entity
  end
end

#items ⇒ Object



55
56
57
58
59
60
61
62
63
# File 'app/controllers/spree/admin/users_controller.rb', line 55

def items
  params[:q] ||= {}
  @search = current_store.orders.includes(
    line_items: {
      variant: [:product, { option_values: :option_type }]
    }
  ).ransack(params[:q].merge(user_id_eq: @user.id))
  @orders = @search.result.page(params[:page])
end

#model_class ⇒ Object



65
66
67
# File 'app/controllers/spree/admin/users_controller.rb', line 65

def model_class
  Spree.user_class
end

#orders ⇒ Object



49
50
51
52
53
# File 'app/controllers/spree/admin/users_controller.rb', line 49

def orders
  params[:q] ||= {}
  @search = current_store.orders.reverse_chronological.ransack(params[:q].merge(user_id_eq: @user.id))
  @orders = @search.result.page(params[:page])
end

#show ⇒ Object



8
9
10
# File 'app/controllers/spree/admin/users_controller.rb', line 8

def show
  redirect_to spree.edit_admin_user_path(@user)
end

#update ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/controllers/spree/admin/users_controller.rb', line 22

def update
  if params[:user][:password].blank? && params[:user][:password_confirmation].blank?
    params[:user].delete(:password)
    params[:user].delete(:password_confirmation)
  end

  if @user.update(user_params)
    flash[:success] = Spree.t(:account_updated)
    redirect_to spree.edit_admin_user_path(@user)
  else
    render :edit, status: :unprocessable_entity
  end
end