diff options
| author | Sean McGivern <sean@mcgivern.me.uk> | 2017-08-31 12:42:51 +0000 |
|---|---|---|
| committer | Sean McGivern <sean@mcgivern.me.uk> | 2017-08-31 12:42:51 +0000 |
| commit | a768e1b7048c17d4dde8ee086c7ff7dc2b43762e (patch) | |
| tree | 6b26299905d37b61a011622ceab8bc6801ca0a2d /app/controllers/admin | |
| parent | bf4ec606a56238326bf4930c59d0ca82dd281cb7 (diff) | |
| parent | 0ffa4772c21ee1c1ea8ea889a74a4c4b6b2f25db (diff) | |
| download | gitlab-ce-a768e1b7048c17d4dde8ee086c7ff7dc2b43762e.tar.gz | |
Merge branch '28938-password-change-workflow-for-admins' into 'master'
Changes the password change workflow for admins.
Closes #28938
See merge request !13901
Diffstat (limited to 'app/controllers/admin')
| -rw-r--r-- | app/controllers/admin/users_controller.rb | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb index fa1bc72560e..a99563b7100 100644 --- a/app/controllers/admin/users_controller.rb +++ b/app/controllers/admin/users_controller.rb @@ -117,11 +117,14 @@ class Admin::UsersController < Admin::ApplicationController user_params_with_pass = user_params.dup if params[:user][:password].present? - user_params_with_pass.merge!( + password_params = { password: params[:user][:password], - password_confirmation: params[:user][:password_confirmation], - password_expires_at: Time.now - ) + password_confirmation: params[:user][:password_confirmation] + } + + password_params[:password_expires_at] = Time.now unless changing_own_password? + + user_params_with_pass.merge!(password_params) end respond_to do |format| @@ -167,6 +170,10 @@ class Admin::UsersController < Admin::ApplicationController protected + def changing_own_password? + user == current_user + end + def user @user ||= User.find_by!(username: params[:id]) end |
