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)
|
||||
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)
|
||||
|
||||
Ссылка в новой задаче
Block a user