summaryrefslogtreecommitdiffstats
path: root/routers/repo/issue.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/repo/issue.go')
-rw-r--r--routers/repo/issue.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/routers/repo/issue.go b/routers/repo/issue.go
index 5fe9ebc390..e71c835fd8 100644
--- a/routers/repo/issue.go
+++ b/routers/repo/issue.go
@@ -642,6 +642,29 @@ func Comment(ctx *middleware.Context, params martini.Params) {
return
}
+ // Change open/closed issue counter for the associated milestone
+ if issue.MilestoneId > 0 {
+ l, err := models.GetMilestoneById(issue.MilestoneId)
+
+ if err != nil {
+ ctx.Handle(500, "issue.Comment(GetLabelById)", err)
+ return
+ }
+
+ if issue.IsClosed {
+ l.NumOpenIssues = l.NumOpenIssues - 1
+ l.NumClosedIssues = l.NumClosedIssues + 1
+ } else {
+ l.NumOpenIssues = l.NumOpenIssues + 1
+ l.NumClosedIssues = l.NumClosedIssues - 1
+ }
+
+ if err = models.UpdateMilestone(l); err != nil {
+ ctx.Handle(500, "issue.Comment(UpdateLabel)", err)
+ return
+ }
+ }
+
cmtType := models.IT_CLOSE
if !issue.IsClosed {
cmtType = models.IT_REOPEN