mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Fix broken of team create (#19288)
* Fix broken of team create * Update models/organization/team.go Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		@@ -239,15 +239,17 @@ func (t *Team) GetMembersCtx(ctx context.Context) (err error) {
 | 
			
		||||
 | 
			
		||||
// UnitEnabled returns if the team has the given unit type enabled
 | 
			
		||||
func (t *Team) UnitEnabled(tp unit.Type) bool {
 | 
			
		||||
	return t.unitEnabled(db.DefaultContext, tp)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (t *Team) unitEnabled(ctx context.Context, tp unit.Type) bool {
 | 
			
		||||
	return t.UnitAccessMode(ctx, tp) > perm.AccessModeNone
 | 
			
		||||
	return t.UnitAccessMode(tp) > perm.AccessModeNone
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnitAccessMode returns if the team has the given unit type enabled
 | 
			
		||||
func (t *Team) UnitAccessMode(ctx context.Context, tp unit.Type) perm.AccessMode {
 | 
			
		||||
// it is called in templates, should not be replaced by `UnitAccessModeCtx(ctx ...)`
 | 
			
		||||
func (t *Team) UnitAccessMode(tp unit.Type) perm.AccessMode {
 | 
			
		||||
	return t.UnitAccessModeCtx(db.DefaultContext, tp)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnitAccessModeCtx returns if the team has the given unit type enabled
 | 
			
		||||
func (t *Team) UnitAccessModeCtx(ctx context.Context, tp unit.Type) perm.AccessMode {
 | 
			
		||||
	if err := t.getUnits(ctx); err != nil {
 | 
			
		||||
		log.Warn("Error loading team (ID: %d) units: %s", t.ID, err.Error())
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -250,7 +250,7 @@ func getUserRepoPermission(ctx context.Context, repo *repo_model.Repository, use
 | 
			
		||||
	for _, u := range repo.Units {
 | 
			
		||||
		var found bool
 | 
			
		||||
		for _, team := range teams {
 | 
			
		||||
			teamMode := team.UnitAccessMode(ctx, u.Type)
 | 
			
		||||
			teamMode := team.UnitAccessModeCtx(ctx, u.Type)
 | 
			
		||||
			if teamMode > perm_model.AccessModeNone {
 | 
			
		||||
				m := perm.UnitsMode[u.Type]
 | 
			
		||||
				if m < teamMode {
 | 
			
		||||
 
 | 
			
		||||
@@ -273,7 +273,7 @@ func isOfficialReviewerTeam(ctx context.Context, issue *Issue, team *organizatio
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if !pr.ProtectedBranch.EnableApprovalsWhitelist {
 | 
			
		||||
		return team.UnitAccessMode(ctx, unit.TypeCode) >= perm.AccessModeWrite, nil
 | 
			
		||||
		return team.UnitAccessModeCtx(ctx, unit.TypeCode) >= perm.AccessModeWrite, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return base.Int64sContains(pr.ProtectedBranch.ApprovalsWhitelistTeamIDs, team.ID), nil
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user