Skip to content

Commit e0aab4a

Browse files
committed
#1830 new comment with status change overwrites issue content
1 parent db7ac8b commit e0aab4a

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

models/issue.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ func (i *Issue) changeStatus(e *xorm.Session, doer *User, isClosed bool) (err er
233233
}
234234
i.IsClosed = isClosed
235235

236-
if err = updateIssue(e, i); err != nil {
236+
if err = updateIssueCols(e, i, "is_closed"); err != nil {
237237
return err
238238
} else if err = updateIssueUsersByStatus(e, i.ID, isClosed); err != nil {
239239
return err
@@ -813,11 +813,18 @@ func GetRepoIssueStats(repoID, uid int64, filterMode int, isPull bool) (numOpen
813813
return numOpen, numClosed
814814
}
815815

816+
// updateIssue updates all fields of given issue.
816817
func updateIssue(e Engine, issue *Issue) error {
817818
_, err := e.Id(issue.ID).AllCols().Update(issue)
818819
return err
819820
}
820821

822+
// updateIssueCols update specific fields of given issue.
823+
func updateIssueCols(e Engine, issue *Issue, cols ...string) error {
824+
_, err := e.Id(issue.ID).Cols(cols...).Update(issue)
825+
return err
826+
}
827+
821828
// UpdateIssue updates information of issue.
822829
func UpdateIssue(issue *Issue) error {
823830
return updateIssue(x, issue)

routers/repo/issue.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -786,7 +786,7 @@ func NewComment(ctx *middleware.Context, form auth.CreateCommentForm) {
786786
if err = issue.ChangeStatus(ctx.User, form.Status == "close"); err != nil {
787787
log.Error(4, "ChangeStatus: %v", err)
788788
} else {
789-
log.Trace("Issue[%d] status changed: %v", issue.ID, !issue.IsClosed)
789+
log.Trace("Issue[%d] status changed to closed: %v", issue.ID, issue.IsClosed)
790790
}
791791
}
792792
}
@@ -829,8 +829,11 @@ func NewComment(ctx *middleware.Context, form auth.CreateCommentForm) {
829829

830830
// Mail watchers and mentions.
831831
if setting.Service.EnableNotifyMail {
832-
issue.Content = form.Content
833-
tos, err := mailer.SendIssueNotifyMail(ctx.User, ctx.Repo.Owner, ctx.Repo.Repository, issue)
832+
tos, err := mailer.SendIssueNotifyMail(ctx.User, ctx.Repo.Owner, ctx.Repo.Repository, &models.Issue{
833+
Index: issue.Index,
834+
Name: issue.Name,
835+
Content: form.Content,
836+
})
834837
if err != nil {
835838
ctx.Handle(500, "SendIssueNotifyMail", err)
836839
return

0 commit comments

Comments
 (0)