Class: Workarea::Admin::ImpersonationsController

Inherits:
ApplicationController show all
Includes:
Storefront::CurrentCheckout
Defined in:
app/controllers/workarea/admin/impersonations_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#current_user, #find_sort, #wrap_in_view_model, wrap_in_view_model

Methods included from Publishing

#allow_publishing!, #allow_publishing?, #set_publishing_options

Methods included from Visiting

#most_visited

Instance Method Details

#createObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/controllers/workarea/admin/impersonations_controller.rb', line 9

def create
  new_user = User.find(params[:user_id])
  raise InvalidImpersonation if new_user.admin?

  impersonate_user(new_user)
   = .new(new_user, Order.new)
  self.current_order = .previous_order || Order.new

  flash[:success] = t(
    'workarea.admin.users.flash_messages.started',
    email: new_user.email
  )
  redirect_to storefront.
end

#destroyObject



24
25
26
27
28
29
30
31
# File 'app/controllers/workarea/admin/impersonations_controller.rb', line 24

def destroy
  previous_user_id = session[:user_id]
  stop_impersonation
  clear_current_order

  flash[:success] = t('workarea.admin.users.flash_messages.stopped')
  redirect_to user_path(previous_user_id)
end