PLT-6752/PLT-6755 Fixed users removed from a team counting against max team members (#6578)

* PLT-6752 Fixed users removed from a team counting against max team members

* Updated unit tests for max team members

* Fixed being able to have MaxUserPerTeam+1 users in a team
Этот коммит содержится в:
Harrison Healey
2017-06-06 14:39:31 -04:00
коммит произвёл Joram Wilander
родитель 3dc625a8bd
Коммит 4d7b3b5687
3 изменённых файлов: 106 добавлений и 3 удалений

Просмотреть файл

@@ -489,12 +489,19 @@ func (s SqlTeamStore) SaveMember(member *model.TeamMember) StoreChannel {
return
}
if count, err := s.GetMaster().SelectInt("SELECT COUNT(0) FROM TeamMembers WHERE TeamId = :TeamId", map[string]interface{}{"TeamId": member.TeamId}); err != nil {
if count, err := s.GetMaster().SelectInt(
`SELECT
COUNT(0)
FROM
TeamMembers
WHERE
TeamId = :TeamId
AND DeleteAt = 0`, map[string]interface{}{"TeamId": member.TeamId}); err != nil {
result.Err = model.NewLocAppError("SqlUserStore.Save", "store.sql_user.save.member_count.app_error", nil, "teamId="+member.TeamId+", "+err.Error())
storeChannel <- result
close(storeChannel)
return
} else if int(count) > utils.Cfg.TeamSettings.MaxUsersPerTeam {
} else if int(count) >= utils.Cfg.TeamSettings.MaxUsersPerTeam {
result.Err = model.NewLocAppError("SqlUserStore.Save", "store.sql_user.save.max_accounts.app_error", nil, "teamId="+member.TeamId)
storeChannel <- result
close(storeChannel)