Class: Workarea::Admin::ImpersonationsController
- Inherits:
-
ApplicationController
- Object
- Workarea::ApplicationController
- ApplicationController
- Workarea::Admin::ImpersonationsController
- 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
Instance Method Details
#create ⇒ Object
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) login = Login.new(new_user, Order.new) self.current_order = login.previous_order || Order.new flash[:success] = t( 'workarea.admin.users.flash_messages.started', email: new_user.email ) redirect_to storefront.users_account_path end |
#destroy ⇒ Object
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 |