Allow to update the teams scheme to default scheme (#8855)
Этот коммит содержится в:
коммит произвёл
George Goldberg
родитель
c180cdbd1c
Коммит
bf4cefc349
22
api4/team.go
22
api4/team.go
@@ -842,7 +842,7 @@ func updateTeamScheme(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
schemeID := model.SchemeIDFromJson(r.Body)
|
schemeID := model.SchemeIDFromJson(r.Body)
|
||||||
if schemeID == nil || len(*schemeID) != 26 {
|
if schemeID == nil || (len(*schemeID) != 26 && *schemeID != "") {
|
||||||
c.SetInvalidParam("scheme_id")
|
c.SetInvalidParam("scheme_id")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -857,15 +857,17 @@ func updateTeamScheme(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
scheme, err := c.App.GetScheme(*schemeID)
|
if *schemeID != "" {
|
||||||
if err != nil {
|
scheme, err := c.App.GetScheme(*schemeID)
|
||||||
c.Err = err
|
if err != nil {
|
||||||
return
|
c.Err = err
|
||||||
}
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if scheme.Scope != model.SCHEME_SCOPE_TEAM {
|
if scheme.Scope != model.SCHEME_SCOPE_TEAM {
|
||||||
c.Err = model.NewAppError("Api4.UpdateTeamScheme", "api.team.update_team_scheme.scheme_scope.error", nil, "", http.StatusBadRequest)
|
c.Err = model.NewAppError("Api4.UpdateTeamScheme", "api.team.update_team_scheme.scheme_scope.error", nil, "", http.StatusBadRequest)
|
||||||
return
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
team, err := c.App.GetTeam(c.Params.TeamId)
|
team, err := c.App.GetTeam(c.Params.TeamId)
|
||||||
@@ -874,7 +876,7 @@ func updateTeamScheme(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
team.SchemeId = &scheme.Id
|
team.SchemeId = schemeID
|
||||||
|
|
||||||
_, err = c.App.UpdateTeamScheme(team)
|
_, err = c.App.UpdateTeamScheme(team)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -2095,6 +2095,10 @@ func TestUpdateTeamScheme(t *testing.T) {
|
|||||||
_, resp := th.SystemAdminClient.UpdateTeamScheme(team.Id, teamScheme.Id)
|
_, resp := th.SystemAdminClient.UpdateTeamScheme(team.Id, teamScheme.Id)
|
||||||
CheckNoError(t, resp)
|
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.
|
// Test various invalid team and scheme id combinations.
|
||||||
_, resp = th.SystemAdminClient.UpdateTeamScheme(team.Id, "x")
|
_, resp = th.SystemAdminClient.UpdateTeamScheme(team.Id, "x")
|
||||||
CheckBadRequestStatus(t, resp)
|
CheckBadRequestStatus(t, resp)
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user