Fix the failing spec in POST /users API

Signed-off-by: Rémy Coutable <remy@rymai.me>
This commit is contained in:
Rémy Coutable 2017-01-04 17:35:59 +01:00
parent 042bcdd555
commit 8b1914ceb2
No known key found for this signature in database
GPG Key ID: 46DF07E5CD9E96AB
2 changed files with 8 additions and 7 deletions

View File

@ -0,0 +1,4 @@
---
title: Fix 500 errors when creating a user with identity via API
merge_request: 8442
author:

View File

@ -91,10 +91,11 @@ module API
authenticated_as_admin!
# Filter out params which are used later
identity_attrs = params.slice(:provider, :extern_uid)
user_params = declared_params(include_missing: false)
identity_attrs = user_params.slice(:provider, :extern_uid)
confirm = params.delete(:confirm)
user = User.new(declared_params(include_missing: false))
user = User.new(user_params.except(:extern_uid, :provider))
user.skip_confirmation! unless confirm
if identity_attrs.any?
@ -159,11 +160,7 @@ module API
end
end
# Delete already handled parameters
user_params.delete(:extern_uid)
user_params.delete(:provider)
if user.update_attributes(user_params)
if user.update_attributes(user_params.except(:extern_uid, :provider))
present user, with: Entities::UserPublic
else
render_validation_error!(user)