diff options
author | James Lopez <james@jameslopez.es> | 2017-06-15 16:42:14 +0200 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2017-06-23 11:41:41 +0200 |
commit | ef6a4240e534f2a12dbfb45c2decd31abf9a3c26 (patch) | |
tree | 569f9055ec2e6b4761e2d4faeeaaf89a33c68482 /lib/api | |
parent | 04bb82c8b8cb3033c805ea5158b01c09284ac3db (diff) | |
download | gitlab-ce-ef6a4240e534f2a12dbfb45c2decd31abf9a3c26.tar.gz |
update notification settings, fix api specs
Diffstat (limited to 'lib/api')
-rw-r--r-- | lib/api/notification_settings.rb | 5 | ||||
-rw-r--r-- | lib/api/users.rb | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/api/notification_settings.rb b/lib/api/notification_settings.rb index 992ea5dc24d..5f88488ccee 100644 --- a/lib/api/notification_settings.rb +++ b/lib/api/notification_settings.rb @@ -34,7 +34,10 @@ module API notification_setting.transaction do new_notification_email = params.delete(:notification_email) - current_user.update(notification_email: new_notification_email) if new_notification_email + if new_notification_email + ::Users::UpdateService.new(current_user, current_user, notification_email: new_notification_email).execute + end + notification_setting.update(declared_params(include_missing: false)) end rescue ArgumentError => e # catch level enum error diff --git a/lib/api/users.rb b/lib/api/users.rb index c10e3364382..733b65b1c8e 100644 --- a/lib/api/users.rb +++ b/lib/api/users.rb @@ -156,7 +156,9 @@ module API user_params[:password_expires_at] = Time.now if user_params[:password].present? - if user.update_attributes(user_params.except(:extern_uid, :provider)) + result = ::Users::UpdateService.new(current_user, user, user_params.except(:extern_uid, :provider)).execute + + if result[:status] == :success present user, with: Entities::UserPublic else render_validation_error!(user) |