Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Eipert <git@leipert.io>2018-04-04 02:19:31 +0300
committerLukas Eipert <git@leipert.io>2018-04-04 02:19:31 +0300
commit35440760688ec4494e1f6e357f41170ccbe595fa (patch)
treed4f1d558b7785621e18b74b132a9d600df30634d
parentd9678dcad49fc3b6379ee0ac6f7865a14cb6927e (diff)
enable `/profile/update_username` to respond with json
-rw-r--r--app/controllers/profiles_controller.rb20
1 files changed, 13 insertions, 7 deletions
diff --git a/app/controllers/profiles_controller.rb b/app/controllers/profiles_controller.rb
index dbf61a17724..499a5fc8a18 100644
--- a/app/controllers/profiles_controller.rb
+++ b/app/controllers/profiles_controller.rb
@@ -51,15 +51,21 @@ class ProfilesController < Profiles::ApplicationController
end
def update_username
- result = Users::UpdateService.new(current_user, user: @user, username: user_params[:username]).execute
+ respond_to do |format|
+ result = Users::UpdateService.new(current_user, user: @user, username: user_params[:username]).execute
- options = if result[:status] == :success
- { notice: "Username successfully changed" }
- else
- { alert: "Username change failed - #{result[:message]}" }
- end
+ if result[:status] == :success
+ message = "Username successfully changed"
- redirect_back_or_default(default: { action: 'show' }, options: options)
+ format.html { redirect_back_or_default(default: { action: 'show' }, options: { notice: message }) }
+ format.json { render json: { message: message }, status: :ok }
+ else
+ message = "Username change failed - #{result[:message]}"
+
+ format.html { redirect_back_or_default(default: { action: 'show' }, options: { alert: message }) }
+ format.json { render json: result, status: :bad_request }
+ end
+ end
end
private