summaryrefslogtreecommitdiffstats
path: root/routers/web/repo/issue_content_history.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/web/repo/issue_content_history.go')
-rw-r--r--routers/web/repo/issue_content_history.go10
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