mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
feat(invite): existing grafana users now result in new org user directly, no temp user is created, #2353
This commit is contained in:
parent
a82aa8203b
commit
e92f2ecea1
@ -23,6 +23,22 @@ func AddOrgInvite(c *middleware.Context, inviteDto dtos.AddInviteForm) Response
|
||||
return ApiError(400, "Invalid role specified", nil)
|
||||
}
|
||||
|
||||
// first try get existing user
|
||||
userQuery := m.GetUserByLoginQuery{LoginOrEmail: inviteDto.Email}
|
||||
if err := bus.Dispatch(&userQuery); err != nil {
|
||||
if err != m.ErrUserNotFound {
|
||||
return ApiError(500, "Failed to query db for existing user check", err)
|
||||
}
|
||||
} else {
|
||||
// user exists, add org role
|
||||
createOrgUserCmd := m.AddOrgUserCommand{OrgId: c.OrgId, UserId: userQuery.Result.Id, Role: inviteDto.Role}
|
||||
if err := bus.Dispatch(&createOrgUserCmd); err != nil {
|
||||
return ApiError(500, "Error while trying to create org user", err)
|
||||
} else {
|
||||
return ApiSuccess("Existing Grafana user added to org " + c.OrgName)
|
||||
}
|
||||
}
|
||||
|
||||
cmd := m.CreateTempUserCommand{}
|
||||
cmd.OrgId = c.OrgId
|
||||
cmd.Email = inviteDto.Email
|
||||
|
Loading…
Reference in New Issue
Block a user