Преглед изворни кода

Update milestone issue stats when reopening/closing issue

Justin Nuß пре 10 година
родитељ
комит
812f71e21b
1 измењених фајлова са 23 додато и 0 уклоњено
  1. 23 0
      routers/repo/issue.go

+ 23 - 0
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