From 1ea0b5371a337dcb0de90bbeb5b3a64f15580105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Tue, 11 Aug 2015 10:45:03 +0200 Subject: [PATCH] feat(invite): new user invites are now also added to correct org after sign up is completed, #2353 --- pkg/api/org_invite.go | 11 +++++++++++ pkg/models/temp_user.go | 3 ++- pkg/services/sqlstore/temp_user.go | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/pkg/api/org_invite.go b/pkg/api/org_invite.go index d69eaabe584..ecad941ede3 100644 --- a/pkg/api/org_invite.go +++ b/pkg/api/org_invite.go @@ -178,6 +178,17 @@ func CompleteInvite(c *middleware.Context, completeInvite dtos.CompleteInviteFor Login: user.Login, }) + // add to org + addOrgUserCmd := m.AddOrgUserCommand{OrgId: invite.OrgId, UserId: user.Id, Role: invite.Role} + if err := bus.Dispatch(&addOrgUserCmd); err != nil { + return ApiError(500, "Error while trying to create org user", err) + } + + // set org to active + if err := bus.Dispatch(&m.SetUsingOrgCommand{OrgId: invite.OrgId, UserId: user.Id}); err != nil { + return ApiError(500, "Failed to set org as active", err) + } + // update temp user status updateTmpUserCmd := m.UpdateTempUserStatusCommand{Code: invite.Code, Status: m.TmpUserCompleted} if err := bus.Dispatch(&updateTmpUserCmd); err != nil { diff --git a/pkg/models/temp_user.go b/pkg/models/temp_user.go index 9aab24f48fc..6aeb67cda9b 100644 --- a/pkg/models/temp_user.go +++ b/pkg/models/temp_user.go @@ -75,9 +75,10 @@ type GetTempUserByCodeQuery struct { type TempUserDTO struct { Id int64 `json:"id"` + OrgId int64 `json:"orgId"` Name string `json:"name"` Email string `json:"email"` - Role string `json:"role"` + Role RoleType `json:"role"` InvitedByLogin string `json:"invitedByLogin"` InvitedByEmail string `json:"invitedByEmail"` InvitedByName string `json:"invitedByName"` diff --git a/pkg/services/sqlstore/temp_user.go b/pkg/services/sqlstore/temp_user.go index df1bdd96127..0cac59b21f6 100644 --- a/pkg/services/sqlstore/temp_user.go +++ b/pkg/services/sqlstore/temp_user.go @@ -52,6 +52,7 @@ func CreateTempUser(cmd *m.CreateTempUserCommand) error { func GetTempUsersForOrg(query *m.GetTempUsersForOrgQuery) error { var rawSql = `SELECT tu.id as id, + tu.org_id as org_id, tu.email as email, tu.name as name, tu.role as role, @@ -76,6 +77,7 @@ func GetTempUsersForOrg(query *m.GetTempUsersForOrgQuery) error { func GetTempUserByCode(query *m.GetTempUserByCodeQuery) error { var rawSql = `SELECT tu.id as id, + tu.org_id as org_id, tu.email as email, tu.name as name, tu.role as role,