diff options
author | Lukas Eipert <git@leipert.io> | 2018-04-04 02:19:31 +0300 |
---|---|---|
committer | Lukas Eipert <git@leipert.io> | 2018-04-04 02:19:31 +0300 |
commit | 35440760688ec4494e1f6e357f41170ccbe595fa (patch) | |
tree | d4f1d558b7785621e18b74b132a9d600df30634d | |
parent | d9678dcad49fc3b6379ee0ac6f7865a14cb6927e (diff) |
enable `/profile/update_username` to respond with json
-rw-r--r-- | app/controllers/profiles_controller.rb | 20 |
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 |