From 1f61340fa3b255661e3b19432ab0af5162642139 Mon Sep 17 00:00:00 2001 From: Raphael Randschau Date: Mon, 23 Feb 2015 20:32:44 +0100 Subject: Properly calculate the number of open issues per label --- routers/repo/issue.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'routers/repo/issue.go') diff --git a/routers/repo/issue.go b/routers/repo/issue.go index 3e0206da..722bd0c3 100644 --- a/routers/repo/issue.go +++ b/routers/repo/issue.go @@ -549,6 +549,7 @@ func UpdateIssueLabel(ctx *middleware.Context) { label.NumClosedIssues-- } } + if err = models.UpdateLabel(label); err != nil { ctx.Handle(500, "issue.UpdateIssueLabel(UpdateLabel)", err) return @@ -767,6 +768,24 @@ func Comment(ctx *middleware.Context) { return } + if err = issue.GetLabels(); err != nil { + send(500, nil, err) + return + } + + for _, label := range issue.Labels { + if issue.IsClosed { + label.NumClosedIssues++ + } else { + label.NumClosedIssues-- + } + + if err = models.UpdateLabel(label); err != nil { + send(500, nil, err) + return + } + } + // Change open/closed issue counter for the associated milestone if issue.MilestoneId > 0 { if err = models.ChangeMilestoneIssueStats(issue); err != nil { -- cgit v1.2.3