Module: Spree::Admin::UsersControllerDecorator
- Defined in:
- app/controllers/spree/admin/users_controller_decorator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #block ⇒ Object
-
#create ⇒ Object
override.
- #unblock ⇒ Object
-
#update ⇒ Object
override.
Class Method Details
.prepended(base) ⇒ Object
4 5 6 |
# File 'app/controllers/spree/admin/users_controller_decorator.rb', line 4 def self.prepended(base) base.before_action :build_profile, only: %i[create update] end |
Instance Method Details
#block ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/controllers/spree/admin/users_controller_decorator.rb', line 29 def block return redirect_back_to_user(I18n.t('spree_user.cannot_block_yourself'), :error) if own_account? return redirect_back_to_user(I18n.t('spree_user.cannot_block_super_admin'), :error) if @user.super_admin? result = SpreeCmCommissioner::Users::Block.call(user: @user, reason: params[:blocked_reason]) if result.success? redirect_back_to_user(I18n.t('spree_user.successfully_blocked'), :success) else redirect_back_to_user(result.error.to_s, :error) end end |
#create ⇒ Object
override
9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/controllers/spree/admin/users_controller_decorator.rb', line 9 def create @user = Spree.user_class.new(user_params) @user.assigned_roles = Spree::Role.where(id: params.dig(:user, :spree_role_ids)).pluck(:name) if params.dig(:user, :spree_role_ids) @user.confirmed_at = Time.zone.now @user.registered_by = :system_registered if @user.save flash[:success] = (@user, :successfully_created) redirect_to spree.edit_admin_user_path(@user) else render :new, status: :unprocessable_entity end end |
#unblock ⇒ Object
42 43 44 45 46 47 48 49 50 |
# File 'app/controllers/spree/admin/users_controller_decorator.rb', line 42 def unblock result = SpreeCmCommissioner::Users::Unblock.call(user: @user) if result.success? redirect_back_to_user(I18n.t('spree_user.successfully_unblocked'), :success) else redirect_back_to_user(result.error.to_s, :error) end end |
#update ⇒ Object
override
24 25 26 27 |
# File 'app/controllers/spree/admin/users_controller_decorator.rb', line 24 def update preserve_non_form_roles super end |