Allow to update the teams scheme to default scheme (#8855)

Этот коммит содержится в:
Jesús Espino
2018-05-29 10:32:07 +02:00
коммит произвёл George Goldberg
родитель c180cdbd1c
Коммит bf4cefc349
2 изменённых файлов: 16 добавлений и 10 удалений

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

@@ -842,7 +842,7 @@ func updateTeamScheme(c *Context, w http.ResponseWriter, r *http.Request) {
}
schemeID := model.SchemeIDFromJson(r.Body)
if schemeID == nil || len(*schemeID) != 26 {
if schemeID == nil || (len(*schemeID) != 26 && *schemeID != "") {
c.SetInvalidParam("scheme_id")
return
}
@@ -857,15 +857,17 @@ func updateTeamScheme(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
scheme, err := c.App.GetScheme(*schemeID)
if err != nil {
c.Err = err
return
}
if *schemeID != "" {
scheme, err := c.App.GetScheme(*schemeID)
if err != nil {
c.Err = err
return
}
if scheme.Scope != model.SCHEME_SCOPE_TEAM {
c.Err = model.NewAppError("Api4.UpdateTeamScheme", "api.team.update_team_scheme.scheme_scope.error", nil, "", http.StatusBadRequest)
return
if scheme.Scope != model.SCHEME_SCOPE_TEAM {
c.Err = model.NewAppError("Api4.UpdateTeamScheme", "api.team.update_team_scheme.scheme_scope.error", nil, "", http.StatusBadRequest)
return
}
}
team, err := c.App.GetTeam(c.Params.TeamId)
@@ -874,7 +876,7 @@ func updateTeamScheme(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
team.SchemeId = &scheme.Id
team.SchemeId = schemeID
_, err = c.App.UpdateTeamScheme(team)
if err != nil {

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

@@ -2095,6 +2095,10 @@ func TestUpdateTeamScheme(t *testing.T) {
_, resp := th.SystemAdminClient.UpdateTeamScheme(team.Id, teamScheme.Id)
CheckNoError(t, resp)
// Test the return to default scheme
_, resp = th.SystemAdminClient.UpdateTeamScheme(team.Id, "")
CheckNoError(t, resp)
// Test various invalid team and scheme id combinations.
_, resp = th.SystemAdminClient.UpdateTeamScheme(team.Id, "x")
CheckBadRequestStatus(t, resp)