mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 10:44:12 +01:00 
			
		
		
		
	some fixes, but not done yet!
This commit is contained in:
		
							parent
							
								
									6b7d35eade
								
							
						
					
					
						commit
						25f5a8d798
					
				@ -88,6 +88,11 @@ func maxAccessMode(modes ...AccessMode) AccessMode {
 | 
				
			|||||||
	return max
 | 
						return max
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (repo *Repository) recalculateTeamAccesses(e Engine, mode AccessMode) error {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (repo *Repository) recalculateAccesses(e Engine) error {
 | 
					func (repo *Repository) recalculateAccesses(e Engine) error {
 | 
				
			||||||
	accessMap := make(map[int64]AccessMode, 20)
 | 
						accessMap := make(map[int64]AccessMode, 20)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -111,6 +116,8 @@ func (repo *Repository) recalculateAccesses(e Engine) error {
 | 
				
			|||||||
		for _, team := range repo.Owner.Teams {
 | 
							for _, team := range repo.Owner.Teams {
 | 
				
			||||||
			if !(team.IsOwnerTeam() || team.HasRepository(repo)) {
 | 
								if !(team.IsOwnerTeam() || team.HasRepository(repo)) {
 | 
				
			||||||
				continue
 | 
									continue
 | 
				
			||||||
 | 
								} else if team.IsOwnerTeam() {
 | 
				
			||||||
 | 
									team.Authorize = ACCESS_MODE_OWNER
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if err = team.getMembers(e); err != nil {
 | 
								if err = team.getMembers(e); err != nil {
 | 
				
			||||||
@ -129,22 +136,20 @@ func (repo *Repository) recalculateAccesses(e Engine) error {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	newAccesses := make([]Access, 0, len(accessMap))
 | 
						newAccesses := make([]Access, 0, len(accessMap))
 | 
				
			||||||
	for userID, mode := range accessMap {
 | 
						for userID, mode := range accessMap {
 | 
				
			||||||
		if userID == repo.OwnerId || mode <= minMode {
 | 
							if mode < minMode {
 | 
				
			||||||
			continue
 | 
								continue
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		newAccesses = append(newAccesses, Access{
 | 
							newAccesses = append(newAccesses, Access{
 | 
				
			||||||
			UserID: userID,
 | 
								UserID: userID,
 | 
				
			||||||
			RepoID: repo.Id,
 | 
								RepoID: repo.Id,
 | 
				
			||||||
			Mode:   mode})
 | 
								Mode:   mode,
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Delete old accesses for repository
 | 
						// Delete old accesses and insert new ones for repository.
 | 
				
			||||||
	if _, err = e.Delete(&Access{RepoID: repo.Id}); err != nil {
 | 
						if _, err = e.Delete(&Access{RepoID: repo.Id}); err != nil {
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						} else if _, err = e.Insert(newAccesses); err != nil {
 | 
				
			||||||
 | 
					 | 
				
			||||||
	// And insert the new ones
 | 
					 | 
				
			||||||
	if _, err = e.Insert(newAccesses); err != nil {
 | 
					 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user