From 5b063552e5c8f6f73bdf37ace7a0db7f8a4fe4dc Mon Sep 17 00:00:00 2001 From: Ben Halpern Date: Sun, 18 Oct 2020 16:28:11 -0400 Subject: [PATCH] Allow admins to change user email (#10916) --- app/controllers/resource_admin/users_controller.rb | 4 +++- app/dashboards/user_dashboard.rb | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/controllers/resource_admin/users_controller.rb b/app/controllers/resource_admin/users_controller.rb index 73635fbbf..638cfeb87 100644 --- a/app/controllers/resource_admin/users_controller.rb +++ b/app/controllers/resource_admin/users_controller.rb @@ -2,9 +2,11 @@ module ResourceAdmin class UsersController < ResourceAdmin::ApplicationController def update user = User.find(params[:id]) + # Email normally needs confirmation. We skip it here when acting as admin + user.update_column(:email, user_params[:email]) if user_params[:email].present? if user.errors.messages.blank? && user.update(user_params) flash[:notice] = "User successfully updated" - redirect_to "/ResourceAdmin/users/#{params[:id]}" + redirect_to "/resource_admin/users/#{params[:id]}" else render :new, locals: { page: Administrate::Page::Form.new(dashboard, user) } end diff --git a/app/dashboards/user_dashboard.rb b/app/dashboards/user_dashboard.rb index 097dfe1aa..c5deb7ada 100644 --- a/app/dashboards/user_dashboard.rb +++ b/app/dashboards/user_dashboard.rb @@ -69,6 +69,7 @@ class UserDashboard < Administrate::BaseDashboard FORM_ATTRIBUTES = %i[ name username + email twitter_username github_username profile_image