@@ -192,17 +192,28 @@ func EditTeam(ctx *context.APIContext, form api.EditTeamOption) {
192
192
// "$ref": "#/responses/Team"
193
193
194
194
team := ctx .Org .Team
195
- team .Description = form .Description
196
- unitTypes := models .FindUnitTypes (form .Units ... )
197
- team .CanCreateOrgRepo = form .CanCreateOrgRepo
195
+ if err := team .GetUnits (); err != nil {
196
+ ctx .InternalServerError (err )
197
+ }
198
+
199
+ if form .CanCreateOrgRepo != nil {
200
+ team .CanCreateOrgRepo = * form .CanCreateOrgRepo
201
+ }
202
+
203
+ if form .Name != "" {
204
+ team .Name = form .Name
205
+ }
206
+
207
+ if form .Description != "" {
208
+ team .Description = form .Description
209
+ }
198
210
199
211
isAuthChanged := false
200
212
isIncludeAllChanged := false
201
- if ! team .IsOwnerTeam () {
213
+ if ! team .IsOwnerTeam () && form . Permission != "" {
202
214
// Validate permission level.
203
215
auth := models .ParseAccessMode (form .Permission )
204
216
205
- team .Name = form .Name
206
217
if team .Authorize != auth {
207
218
isAuthChanged = true
208
219
team .Authorize = auth
@@ -215,14 +226,17 @@ func EditTeam(ctx *context.APIContext, form api.EditTeamOption) {
215
226
}
216
227
217
228
if team .Authorize < models .AccessModeOwner {
218
- var units = make ([]* models.TeamUnit , 0 , len (form .Units ))
219
- for _ , tp := range unitTypes {
220
- units = append (units , & models.TeamUnit {
221
- OrgID : ctx .Org .Team .OrgID ,
222
- Type : tp ,
223
- })
229
+ if len (form .Units ) > 0 {
230
+ var units = make ([]* models.TeamUnit , 0 , len (form .Units ))
231
+ unitTypes := models .FindUnitTypes (form .Units ... )
232
+ for _ , tp := range unitTypes {
233
+ units = append (units , & models.TeamUnit {
234
+ OrgID : ctx .Org .Team .OrgID ,
235
+ Type : tp ,
236
+ })
237
+ }
238
+ team .Units = units
224
239
}
225
- team .Units = units
226
240
}
227
241
228
242
if err := models .UpdateTeam (team , isAuthChanged , isIncludeAllChanged ); err != nil {
0 commit comments