Class: Stay::Admin::UsersController

Inherits:
BaseController show all
Defined in:
app/controllers/stay/admin/users_controller.rb

Instance Method Summary collapse

Methods inherited from BaseController

#load_stores, #set_currency, #set_current_store, #stores_scope

Methods included from ControllerHelpers::Store

#current_store, #ensure_current_store, #store_locale

Methods included from ControllerHelpers::Currency

#currency_param, #current_currency, #supported_currencies, #supported_currencies_for_all_stores, #supported_currency?

Methods inherited from Stay::ApplicationController

#after_sign_in_path_for, #current_store

Methods included from LocaleHelper

#all_locales_options, #available_locales, #available_locales_options, #config_locale?, #current_locale, #find_with_fallback_default_locale, #locale_full_name, #locale_param, #locale_presentation, #params_locale?, #should_render_locale_dropdown?, #supported_locale?, #supported_locales, #supported_locales_for_all_stores, #supported_locales_options, #user_locale?

Methods included from CurrencyHelper

#currency_options, #currency_presentation, #currency_symbol, #should_render_currency_dropdown?, #supported_currency_options

Instance Method Details

#addressesObject



60
61
62
63
64
65
66
67
68
69
70
71
# File 'app/controllers/stay/admin/users_controller.rb', line 60

def addresses
  if request.put?
    params[:user][:addresses_attributes][:user_id] = @user.id if params[:user][:addresses_attributes].present?
    if @user.update(user_params)
      flash[:success] = "Address updated successfully"
      redirect_to admin_user_path(@user)
    else
      flash.now[:error] = "Failed to update address"
      render :addresses, status: :unprocessable_entity
    end
  end
end

#createObject

POST /Stay/admin/users POST /Stay/admin/users.json



27
28
29
30
31
32
33
34
# File 'app/controllers/stay/admin/users_controller.rb', line 27

def create
  @user = Stay::User.new(user_params)
  if @user.save
    redirect_to admin_user_path(@user), notice: "User was successfully created."
  else
    render :new
  end
end

#destroyObject

DELETE /Stay/admin/users/1 DELETE /Stay/admin/users/1.json



55
56
57
58
# File 'app/controllers/stay/admin/users_controller.rb', line 55

def destroy
  @user.destroy
  redirect_to admin_users_url, notice: "User was successfully destroyed."
end

#editObject

GET /Stay/admin/users/1/edit



22
23
# File 'app/controllers/stay/admin/users_controller.rb', line 22

def edit
end

#indexObject

GET /Stay/admin/users



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

def index
  @q = Stay::User.ransack(params[:q])
  @users = @q.result.order(created_at: :desc).page(params[:page]).per(30)
end

#newObject

GET /Stay/admin/users/new



17
18
19
# File 'app/controllers/stay/admin/users_controller.rb', line 17

def new
  @user = Stay::User.new
end

#showObject

GET /Stay/admin/users/1



13
14
# File 'app/controllers/stay/admin/users_controller.rb', line 13

def show
end

#updateObject

PATCH/PUT /Stay/admin/users/1 PATCH/PUT /Stay/admin/users/1.json



38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'app/controllers/stay/admin/users_controller.rb', line 38

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

  @user.updating_password = params[:user][:password].present?

  if @user.update(user_params)
    redirect_to admin_user_path(@user), notice: "User was successfully updated."
  else
    render :edit
  end
end