@@ -166,6 +166,21 @@ func attachTeamUnitsMap(team *organization.Team, unitsMap map[string]string) {
166
166
}
167
167
}
168
168
169
+ func attachAdminTeamUnits (team * organization.Team ) {
170
+ team .Units = make ([]* organization.TeamUnit , 0 , len (unit_model .AllRepoUnitTypes ))
171
+ for _ , ut := range unit_model .AllRepoUnitTypes {
172
+ up := perm .AccessModeAdmin
173
+ if ut == unit_model .TypeExternalTracker || ut == unit_model .TypeExternalWiki {
174
+ up = perm .AccessModeRead
175
+ }
176
+ team .Units = append (team .Units , & organization.TeamUnit {
177
+ OrgID : team .OrgID ,
178
+ Type : ut ,
179
+ AccessMode : up ,
180
+ })
181
+ }
182
+ }
183
+
169
184
// CreateTeam api for create a team
170
185
func CreateTeam (ctx * context.APIContext ) {
171
186
// swagger:operation POST /orgs/{org}/teams organization orgCreateTeam
@@ -213,6 +228,8 @@ func CreateTeam(ctx *context.APIContext) {
213
228
ctx .Error (http .StatusInternalServerError , "getTeamUnits" , errors .New ("units permission should not be empty" ))
214
229
return
215
230
}
231
+ } else {
232
+ attachAdminTeamUnits (team )
216
233
}
217
234
218
235
if err := models .NewTeam (team ); err != nil {
@@ -300,6 +317,8 @@ func EditTeam(ctx *context.APIContext) {
300
317
} else if len (form .Units ) > 0 {
301
318
attachTeamUnits (team , form .Units )
302
319
}
320
+ } else {
321
+ attachAdminTeamUnits (team )
303
322
}
304
323
305
324
if err := models .UpdateTeam (team , isAuthChanged , isIncludeAllChanged ); err != nil {
0 commit comments