From 1c14805ff185bcc5b8a23ad081f9d7012479e30d Mon Sep 17 00:00:00 2001 From: James Lopez Date: Wed, 14 Jun 2017 15:32:25 +0200 Subject: [PATCH] refactor profiles controller and update service --- app/controllers/profiles_controller.rb | 21 +++++++++++---------- app/services/users/update_service.rb | 2 +- 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