summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2017-06-14 15:32:25 +0200
committerJames Lopez <james@jameslopez.es>2017-06-23 11:41:41 +0200
commit1c14805ff185bcc5b8a23ad081f9d7012479e30d (patch)
treec5b8042ea8bf7826ce89a621c51a6a91e31f5480
parent01378ab4a57dfbca589efdffb6d13e1830913106 (diff)
downloadgitlab-ce-1c14805ff185bcc5b8a23ad081f9d7012479e30d.tar.gz
refactor profiles controller and update service
-rw-r--r--app/controllers/profiles_controller.rb21
-rw-r--r--app/services/users/update_service.rb2
2 files changed, 12 insertions, 11 deletions
diff --git a/app/controllers/profiles_controller.rb b/app/controllers/profiles_controller.rb
index 09161daa7ed..65098f2f223 100644
--- a/app/controllers/profiles_controller.rb
+++ b/app/controllers/profiles_controller.rb
@@ -12,16 +12,16 @@ class ProfilesController < Profiles::ApplicationController
user_params.except!(:email) if @user.external_email?
respond_to do |format|
- status = Users::UpdateService.new(current_user, @user, user_params).execute
+ result = Users::UpdateService.new(current_user, @user, user_params).execute
- if status[:success]
+ if result[:success]
message = "Profile was successfully updated"
format.html { redirect_back_or_default(default: { action: 'show' }, options: { notice: message }) }
format.json { render json: { message: message } }
else
- format.html { redirect_back_or_default(default: { action: 'show' }, options: { alert: status[:message] }) }
- format.json { render json: status }
+ format.html { redirect_back_or_default(default: { action: 'show' }, options: { alert: result[:message] }) }
+ format.json { render json: result }
end
end
end
@@ -63,12 +63,13 @@ class ProfilesController < Profiles::ApplicationController
end
def update_username
- if @user.update_attributes(username: user_params[:username])
- options = { notice: "Username successfully changed" }
- else
- message = @user.errors.full_messages.uniq.join('. ')
- options = { alert: "Username change failed - #{message}" }
- end
+ result = Users::UpdateService.new(current_user, @user, username: user_params[:username]).execute
+
+ options = if result[:success]
+ { notice: "Username successfully changed" }
+ else
+ { alert: "Username change failed - #{result[:message]}" }
+ end
redirect_back_or_default(default: { action: 'show' }, options: options)
end
diff --git a/app/services/users/update_service.rb b/app/services/users/update_service.rb
index 977124298bf..7062f0669f9 100644
--- a/app/services/users/update_service.rb
+++ b/app/services/users/update_service.rb
@@ -13,7 +13,7 @@ module Users
if @user.save || !@user.changed?
success
else
- error("User could not be updated #{@user.errors.full_messages.uniq.join('. ')}" )
+ error(@user.errors.full_messages.uniq.join('. '))
end
end