diff options
Diffstat (limited to 'routers/web/repo/issue_content_history.go')
-rw-r--r-- | routers/web/repo/issue_content_history.go | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/routers/web/repo/issue_content_history.go b/routers/web/repo/issue_content_history.go index c0e958203d..dc647b8809 100644 --- a/routers/web/repo/issue_content_history.go +++ b/routers/web/repo/issue_content_history.go @@ -88,12 +88,13 @@ func canSoftDeleteContentHistory(ctx *context.Context, issue *models.Issue, comm if ctx.Repo.IsOwner() { canSoftDelete = true } else if ctx.Repo.CanWrite(models.UnitTypeIssues) { - canSoftDelete = ctx.User.ID == history.PosterID if comment == nil { - canSoftDelete = canSoftDelete && (ctx.User.ID == issue.PosterID) + // the issue poster or the history poster can soft-delete + canSoftDelete = ctx.User.ID == issue.PosterID || ctx.User.ID == history.PosterID canSoftDelete = canSoftDelete && (history.IssueID == issue.ID) } else { - canSoftDelete = canSoftDelete && (ctx.User.ID == comment.PosterID) + // the comment poster or the history poster can soft-delete + canSoftDelete = ctx.User.ID == comment.PosterID || ctx.User.ID == history.PosterID canSoftDelete = canSoftDelete && (history.IssueID == issue.ID) canSoftDelete = canSoftDelete && (history.CommentID == comment.ID) } @@ -137,7 +138,8 @@ func GetContentHistoryDetail(ctx *context.Context) { // compare the current history revision with the previous one dmp := diffmatchpatch.New() - diff := dmp.DiffMain(prevHistoryContentText, history.ContentText, true) + // `checklines=false` makes better diff result + diff := dmp.DiffMain(prevHistoryContentText, history.ContentText, false) diff = dmp.DiffCleanupEfficiency(diff) // use chroma to render the diff html |