mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Fix create team, update team missing units (#5188)
This commit is contained in:
		
				
					committed by
					
						
						techknowlogick
					
				
			
			
				
	
			
			
			
						parent
						
							d487a76ee2
						
					
				
				
					commit
					b3000ae623
				
			@@ -90,6 +90,20 @@ func CreateTeam(ctx *context.APIContext, form api.CreateTeamOption) {
 | 
			
		||||
		Description: form.Description,
 | 
			
		||||
		Authorize:   models.ParseAccessMode(form.Permission),
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	unitTypes := models.FindUnitTypes(form.Units...)
 | 
			
		||||
 | 
			
		||||
	if team.Authorize < models.AccessModeOwner {
 | 
			
		||||
		var units = make([]*models.TeamUnit, 0, len(form.Units))
 | 
			
		||||
		for _, tp := range unitTypes {
 | 
			
		||||
			units = append(units, &models.TeamUnit{
 | 
			
		||||
				OrgID: ctx.Org.Organization.ID,
 | 
			
		||||
				Type:  tp,
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
		team.Units = units
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := models.NewTeam(team); err != nil {
 | 
			
		||||
		if models.IsErrTeamAlreadyExist(err) {
 | 
			
		||||
			ctx.Error(422, "", err)
 | 
			
		||||
@@ -128,6 +142,19 @@ func EditTeam(ctx *context.APIContext, form api.EditTeamOption) {
 | 
			
		||||
	team.Name = form.Name
 | 
			
		||||
	team.Description = form.Description
 | 
			
		||||
	team.Authorize = models.ParseAccessMode(form.Permission)
 | 
			
		||||
	unitTypes := models.FindUnitTypes(form.Units...)
 | 
			
		||||
 | 
			
		||||
	if team.Authorize < models.AccessModeOwner {
 | 
			
		||||
		var units = make([]*models.TeamUnit, 0, len(form.Units))
 | 
			
		||||
		for _, tp := range unitTypes {
 | 
			
		||||
			units = append(units, &models.TeamUnit{
 | 
			
		||||
				OrgID: ctx.Org.Organization.ID,
 | 
			
		||||
				Type:  tp,
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
		team.Units = units
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := models.UpdateTeam(team, true); err != nil {
 | 
			
		||||
		ctx.Error(500, "EditTeam", err)
 | 
			
		||||
		return
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user