mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Add user blocking (#29028)
Fixes #17453 This PR adds the abbility to block a user from a personal account or organization to restrict how the blocked user can interact with the blocker. The docs explain what's the consequence of blocking a user. Screenshots:    --------- Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
		| @@ -365,24 +365,26 @@ func removeRepositoryFromTeam(ctx context.Context, t *organization.Team, repo *r | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	teamUsers, err := organization.GetTeamUsersByTeamID(ctx, t.ID) | ||||
| 	teamMembers, err := organization.GetTeamMembers(ctx, &organization.SearchMembersOptions{ | ||||
| 		TeamID: t.ID, | ||||
| 	}) | ||||
| 	if err != nil { | ||||
| 		return fmt.Errorf("getTeamUsersByTeamID: %w", err) | ||||
| 		return fmt.Errorf("GetTeamMembers: %w", err) | ||||
| 	} | ||||
| 	for _, teamUser := range teamUsers { | ||||
| 		has, err := access_model.HasAccess(ctx, teamUser.UID, repo) | ||||
| 	for _, member := range teamMembers { | ||||
| 		has, err := access_model.HasAccess(ctx, member.ID, repo) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} else if has { | ||||
| 			continue | ||||
| 		} | ||||
|  | ||||
| 		if err = repo_model.WatchRepo(ctx, teamUser.UID, repo.ID, false); err != nil { | ||||
| 		if err = repo_model.WatchRepo(ctx, member, repo, false); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| 		// Remove all IssueWatches a user has subscribed to in the repositories | ||||
| 		if err := issues_model.RemoveIssueWatchersByRepoID(ctx, teamUser.UID, repo.ID); err != nil { | ||||
| 		if err := issues_model.RemoveIssueWatchersByRepoID(ctx, member.ID, repo.ID); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user