BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
4c343310
Commit
4c343310
authored
Jan 06, 2017
by
Rémy Coutable
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fix-users-api-500-error' into 'master'
Fix 500 errors when creating a user with identity via API Closes #26295 See merge request !8442
parents
11f3da9d
8b1914ce
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
7 deletions
+16
-7
fix-users-api-500-error.yml
changelogs/unreleased/fix-users-api-500-error.yml
+4
-0
users.rb
lib/api/users.rb
+4
-7
users_spec.rb
spec/requests/api/users_spec.rb
+8
-0
No files found.
changelogs/unreleased/fix-users-api-500-error.yml
0 → 100644
View file @
4c343310
---
title
:
Fix 500 errors when creating a user with identity via API
merge_request
:
8442
author
:
lib/api/users.rb
View file @
4c343310
...
...
@@ -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
)
...
...
spec/requests/api/users_spec.rb
View file @
4c343310
...
...
@@ -265,6 +265,14 @@ describe API::Users, api: true do
expect
(
response
).
to
have_http_status
(
409
)
expect
(
json_response
[
'message'
]).
to
eq
(
'Username has already been taken'
)
end
it
'creates user with new identity'
do
post
api
(
"/users"
,
admin
),
attributes_for
(
:user
,
provider:
'github'
,
extern_uid:
'67890'
)
expect
(
response
).
to
have_http_status
(
201
)
expect
(
json_response
[
'identities'
].
first
[
'extern_uid'
]).
to
eq
(
'67890'
)
expect
(
json_response
[
'identities'
].
first
[
'provider'
]).
to
eq
(
'github'
)
end
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment