diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb index 19847e44f..9a43a762e 100644 --- a/app/controllers/admin/users_controller.rb +++ b/app/controllers/admin/users_controller.rb @@ -278,6 +278,28 @@ def manage_roles end end + def rename_user + user = User.find(params[:id]) + if user.blank? + head status: :not_found + return + end + + unless params[:rename].present? + flash[:alert] = "No username provided" + redirect_to user_path(user.username) + return + end + + if user.update(username: params[:rename]) + flash[:notice] = "User renamed successfully" + else + flash[:alert] = "Username invalid: " + + user.errors.full_messages.join("
") + end + redirect_to user_path(user.reload.username) + end + private def user_params diff --git a/app/views/users/_tablist.html.erb b/app/views/users/_tablist.html.erb index c3b31035c..58ac91071 100644 --- a/app/views/users/_tablist.html.erb +++ b/app/views/users/_tablist.html.erb @@ -85,6 +85,12 @@ Quick Access +