mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 19:38:23 +00: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:
		| @@ -382,6 +382,7 @@ func CreateIssueComment(ctx *context.APIContext) { | ||||
| 	//     "$ref": "#/responses/notFound" | ||||
| 	//   "423": | ||||
| 	//     "$ref": "#/responses/repoArchivedError" | ||||
|  | ||||
| 	form := web.GetForm(ctx).(*api.CreateIssueCommentOption) | ||||
| 	issue, err := issues_model.GetIssueByIndex(ctx, ctx.Repo.Repository.ID, ctx.ParamsInt64(":index")) | ||||
| 	if err != nil { | ||||
| @@ -401,7 +402,11 @@ func CreateIssueComment(ctx *context.APIContext) { | ||||
|  | ||||
| 	comment, err := issue_service.CreateIssueComment(ctx, ctx.Doer, ctx.Repo.Repository, issue, form.Body, nil) | ||||
| 	if err != nil { | ||||
| 		ctx.Error(http.StatusInternalServerError, "CreateIssueComment", err) | ||||
| 		if errors.Is(err, user_model.ErrBlockedUser) { | ||||
| 			ctx.Error(http.StatusForbidden, "CreateIssueComment", err) | ||||
| 		} else { | ||||
| 			ctx.Error(http.StatusInternalServerError, "CreateIssueComment", err) | ||||
| 		} | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
| @@ -522,6 +527,7 @@ func EditIssueComment(ctx *context.APIContext) { | ||||
| 	//     "$ref": "#/responses/notFound" | ||||
| 	//   "423": | ||||
| 	//     "$ref": "#/responses/repoArchivedError" | ||||
|  | ||||
| 	form := web.GetForm(ctx).(*api.EditIssueCommentOption) | ||||
| 	editIssueComment(ctx, *form) | ||||
| } | ||||
| @@ -610,7 +616,11 @@ func editIssueComment(ctx *context.APIContext, form api.EditIssueCommentOption) | ||||
| 	oldContent := comment.Content | ||||
| 	comment.Content = form.Body | ||||
| 	if err := issue_service.UpdateComment(ctx, comment, ctx.Doer, oldContent); err != nil { | ||||
| 		ctx.Error(http.StatusInternalServerError, "UpdateComment", err) | ||||
| 		if errors.Is(err, user_model.ErrBlockedUser) { | ||||
| 			ctx.Error(http.StatusForbidden, "UpdateComment", err) | ||||
| 		} else { | ||||
| 			ctx.Error(http.StatusInternalServerError, "UpdateComment", err) | ||||
| 		} | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user