MM-15947: Prevents new user creation with invite link to group-constrained team. (#11023)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
118cd02613
Коммит
c8646eae51
@@ -260,6 +260,25 @@ func TestCreateUserWithInviteId(t *testing.T) {
|
|||||||
CheckUserSanitization(t, ruser)
|
CheckUserSanitization(t, ruser)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
t.Run("GroupConstrainedTeam", func(t *testing.T) {
|
||||||
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
|
th.BasicTeam.GroupConstrained = model.NewBool(true)
|
||||||
|
team, err := th.App.UpdateTeam(th.BasicTeam)
|
||||||
|
require.Nil(t, err)
|
||||||
|
|
||||||
|
defer func() {
|
||||||
|
th.BasicTeam.GroupConstrained = model.NewBool(false)
|
||||||
|
_, err = th.App.UpdateTeam(th.BasicTeam)
|
||||||
|
require.Nil(t, err)
|
||||||
|
}()
|
||||||
|
|
||||||
|
inviteID := team.InviteId
|
||||||
|
|
||||||
|
_, resp := th.Client.CreateUserWithInviteId(&user, inviteID)
|
||||||
|
require.Equal(t, "app.team.invite_id.group_constrained.error", resp.Error.Id)
|
||||||
|
})
|
||||||
|
|
||||||
t.Run("WrongInviteId", func(t *testing.T) {
|
t.Run("WrongInviteId", func(t *testing.T) {
|
||||||
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
@@ -336,7 +355,6 @@ func TestCreateUserWithInviteId(t *testing.T) {
|
|||||||
}
|
}
|
||||||
CheckUserSanitization(t, ruser)
|
CheckUserSanitization(t, ruser)
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGetMe(t *testing.T) {
|
func TestGetMe(t *testing.T) {
|
||||||
|
|||||||
@@ -104,6 +104,10 @@ func (a *App) CreateUserWithInviteId(user *model.User, inviteId string) (*model.
|
|||||||
}
|
}
|
||||||
team := result.Data.(*model.Team)
|
team := result.Data.(*model.Team)
|
||||||
|
|
||||||
|
if team.IsGroupConstrained() {
|
||||||
|
return nil, model.NewAppError("CreateUserWithInviteId", "app.team.invite_id.group_constrained.error", nil, "", http.StatusForbidden)
|
||||||
|
}
|
||||||
|
|
||||||
user.EmailVerified = false
|
user.EmailVerified = false
|
||||||
|
|
||||||
ruser, err := a.CreateUser(user)
|
ruser, err := a.CreateUser(user)
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user