From e0aab4a7f6c1f1b5cc7fa40e2c09623b635bc4a6 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Fri, 23 Oct 2015 12:54:19 -0400 Subject: #1830 new comment with status change overwrites issue content --- models/issue.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'models') diff --git a/models/issue.go b/models/issue.go index f1844d2b..0b14c583 100644 --- a/models/issue.go +++ b/models/issue.go @@ -233,7 +233,7 @@ func (i *Issue) changeStatus(e *xorm.Session, doer *User, isClosed bool) (err er } i.IsClosed = isClosed - if err = updateIssue(e, i); err != nil { + if err = updateIssueCols(e, i, "is_closed"); err != nil { return err } else if err = updateIssueUsersByStatus(e, i.ID, isClosed); err != nil { return err @@ -813,11 +813,18 @@ func GetRepoIssueStats(repoID, uid int64, filterMode int, isPull bool) (numOpen return numOpen, numClosed } +// updateIssue updates all fields of given issue. func updateIssue(e Engine, issue *Issue) error { _, err := e.Id(issue.ID).AllCols().Update(issue) return err } +// updateIssueCols update specific fields of given issue. +func updateIssueCols(e Engine, issue *Issue, cols ...string) error { + _, err := e.Id(issue.ID).Cols(cols...).Update(issue) + return err +} + // UpdateIssue updates information of issue. func UpdateIssue(issue *Issue) error { return updateIssue(x, issue) -- cgit v1.2.3