|
|
|
@ -3149,13 +3149,10 @@ func UpdateCommentContent(ctx *context.Context) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
oldContent := comment.Content |
|
|
|
|
comment.Content = ctx.FormString("content") |
|
|
|
|
if len(comment.Content) == 0 { |
|
|
|
|
ctx.JSON(http.StatusOK, map[string]any{ |
|
|
|
|
"content": "", |
|
|
|
|
}) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
newContent := ctx.FormString("content") |
|
|
|
|
|
|
|
|
|
// allow to save empty content
|
|
|
|
|
comment.Content = newContent |
|
|
|
|
if err = issue_service.UpdateComment(ctx, comment, ctx.Doer, oldContent); err != nil { |
|
|
|
|
if errors.Is(err, user_model.ErrBlockedUser) { |
|
|
|
|
ctx.JSONError(ctx.Tr("repo.issues.comment.blocked_user")) |
|
|
|
@ -3178,21 +3175,27 @@ func UpdateCommentContent(ctx *context.Context) { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
content, err := markdown.RenderString(&markup.RenderContext{ |
|
|
|
|
Links: markup.Links{ |
|
|
|
|
Base: ctx.FormString("context"), // FIXME: <- IS THIS SAFE ?
|
|
|
|
|
}, |
|
|
|
|
Metas: ctx.Repo.Repository.ComposeMetas(ctx), |
|
|
|
|
GitRepo: ctx.Repo.GitRepo, |
|
|
|
|
Ctx: ctx, |
|
|
|
|
}, comment.Content) |
|
|
|
|
if err != nil { |
|
|
|
|
ctx.ServerError("RenderString", err) |
|
|
|
|
return |
|
|
|
|
var renderedContent template.HTML |
|
|
|
|
if comment.Content != "" { |
|
|
|
|
renderedContent, err = markdown.RenderString(&markup.RenderContext{ |
|
|
|
|
Links: markup.Links{ |
|
|
|
|
Base: ctx.FormString("context"), // FIXME: <- IS THIS SAFE ?
|
|
|
|
|
}, |
|
|
|
|
Metas: ctx.Repo.Repository.ComposeMetas(ctx), |
|
|
|
|
GitRepo: ctx.Repo.GitRepo, |
|
|
|
|
Ctx: ctx, |
|
|
|
|
}, comment.Content) |
|
|
|
|
if err != nil { |
|
|
|
|
ctx.ServerError("RenderString", err) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
contentEmpty := fmt.Sprintf(`<span class="no-content">%s</span>`, ctx.Tr("repo.issues.no_content")) |
|
|
|
|
renderedContent = template.HTML(contentEmpty) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ctx.JSON(http.StatusOK, map[string]any{ |
|
|
|
|
"content": content, |
|
|
|
|
"content": renderedContent, |
|
|
|
|
"attachments": attachmentsHTML(ctx, comment.Attachments, comment.Content), |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|