aboutsummaryrefslogtreecommitdiffstats
path: root/services/issue
diff options
context:
space:
mode:
authorAshley Nelson <fant@shley.email>2022-10-22 10:08:10 -0500
committerGitHub <noreply@github.com>2022-10-22 23:08:10 +0800
commit82ecd3b19eb1382521b7999bd0e2dd977c3b994d (patch)
treee6b937584fd67460fda54642b23c74736d0cccf2 /services/issue
parent154efa59a5a837d8375c09fb0b18a1b63bea6a3a (diff)
downloadgitea-82ecd3b19eb1382521b7999bd0e2dd977c3b994d.tar.gz
gitea-82ecd3b19eb1382521b7999bd0e2dd977c3b994d.zip
Update milestone counters when issue is deleted (#21459)
When actions besides "delete" are performed on issues, the milestone counter is updated. However, since deleting issues goes through a different code path, the associated milestone's count wasn't being updated, resulting in inaccurate counts until another issue in the same milestone had a non-delete action performed on it. I verified this change fixes the inaccurate counts using a local docker build. Fixes #21254 Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'services/issue')
-rw-r--r--services/issue/issue.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/services/issue/issue.go b/services/issue/issue.go
index 69b87686c1..47782e50d3 100644
--- a/services/issue/issue.go
+++ b/services/issue/issue.go
@@ -224,6 +224,11 @@ func deleteIssue(issue *issues_model.Issue) error {
return err
}
+ if err := issues_model.UpdateMilestoneCounters(ctx, issue.MilestoneID); err != nil {
+ return fmt.Errorf("error updating counters for milestone id %d: %w",
+ issue.MilestoneID, err)
+ }
+
if err := activities_model.DeleteIssueActions(ctx, issue.RepoID, issue.ID); err != nil {
return err
}