diff --git a/models/issues/issue.go b/models/issues/issue.go
index f4dadeb61b..f04f23effb 100644
--- a/models/issues/issue.go
+++ b/models/issues/issue.go
@@ -997,12 +997,7 @@ func NewIssueWithIndex(ctx context.Context, doer *user_model.User, opts NewIssue
}
}
- if opts.IsPull {
- _, err = e.Exec("UPDATE `repository` SET num_pulls = num_pulls + 1 WHERE id = ?", opts.Issue.RepoID)
- } else {
- _, err = e.Exec("UPDATE `repository` SET num_issues = num_issues + 1 WHERE id = ?", opts.Issue.RepoID)
- }
- if err != nil {
+ if err := repo_model.UpdateRepoIssueNumbers(ctx, opts.Issue.RepoID, opts.IsPull, false); err != nil {
return err
}
diff --git a/models/repo.go b/models/repo.go
index 5d333a3aee..9af600c9ba 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -443,7 +443,7 @@ func CheckRepoStats(ctx context.Context) error {
},
// Repository.NumIssues
{
- statsQuery("SELECT repo.id FROM `repository` repo WHERE repo.num_issues!=(SELECT COUNT(*) FROM `issue` WHERE repo_id=repo.id AND is_closed=? AND is_pull=?)", false, false),
+ statsQuery("SELECT repo.id FROM `repository` repo WHERE repo.num_issues!=(SELECT COUNT(*) FROM `issue` WHERE repo_id=repo.id AND is_pull=?)", false),
repoStatsCorrectNumIssues,
"repository count 'num_issues'",
},
@@ -455,7 +455,7 @@ func CheckRepoStats(ctx context.Context) error {
},
// Repository.NumPulls
{
- statsQuery("SELECT repo.id FROM `repository` repo WHERE repo.num_pulls!=(SELECT COUNT(*) FROM `issue` WHERE repo_id=repo.id AND is_closed=? AND is_pull=?)", false, true),
+ statsQuery("SELECT repo.id FROM `repository` repo WHERE repo.num_pulls!=(SELECT COUNT(*) FROM `issue` WHERE repo_id=repo.id AND is_pull=?)", true),
repoStatsCorrectNumPulls,
"repository count 'num_pulls'",
},
diff --git a/services/issue/issue.go b/services/issue/issue.go
index 5073dff819..b91ee4fc18 100644
--- a/services/issue/issue.go
+++ b/services/issue/issue.go
@@ -218,9 +218,16 @@ func deleteIssue(issue *issues_model.Issue) error {
return err
}
- if err := repo_model.UpdateRepoIssueNumbers(ctx, issue.RepoID, issue.IsPull, issue.IsClosed); err != nil {
+ // update the total issue numbers
+ if err := repo_model.UpdateRepoIssueNumbers(ctx, issue.RepoID, issue.IsPull, false); err != nil {
return err
}
+ // if the issue is closed, update the closed issue numbers
+ if issue.IsClosed {
+ if err := repo_model.UpdateRepoIssueNumbers(ctx, issue.RepoID, issue.IsPull, true); err != nil {
+ return err
+ }
+ }
if err := issues_model.UpdateMilestoneCounters(ctx, issue.MilestoneID); err != nil {
return fmt.Errorf("error updating counters for milestone id %d: %w",
diff --git a/templates/org/create.tmpl b/templates/org/create.tmpl
index 999f5246a3..26c432303c 100644
--- a/templates/org/create.tmpl
+++ b/templates/org/create.tmpl
@@ -48,7 +48,6 @@
- {{.locale.Tr "cancel"}}
diff --git a/templates/org/team/new.tmpl b/templates/org/team/new.tmpl
index e5266f13c5..f6786f3d8d 100644
--- a/templates/org/team/new.tmpl
+++ b/templates/org/team/new.tmpl
@@ -134,7 +134,6 @@
{{if .PageIsOrgTeamsNew}}
-
{{.locale.Tr "cancel"}}
{{else}}
{{if not (eq .Team.LowerName "owners")}}
diff --git a/templates/repo/migrate/codebase.tmpl b/templates/repo/migrate/codebase.tmpl
index 20341e5768..0f9b377f21 100644
--- a/templates/repo/migrate/codebase.tmpl
+++ b/templates/repo/migrate/codebase.tmpl
@@ -107,7 +107,6 @@
-
{{.locale.Tr "cancel"}}
diff --git a/templates/repo/migrate/git.tmpl b/templates/repo/migrate/git.tmpl
index 612116f402..1ef031ee1f 100644
--- a/templates/repo/migrate/git.tmpl
+++ b/templates/repo/migrate/git.tmpl
@@ -81,7 +81,6 @@
- {{.locale.Tr "cancel"}}
diff --git a/templates/repo/migrate/gitbucket.tmpl b/templates/repo/migrate/gitbucket.tmpl
index 06912b27f5..5e6b3b4528 100644
--- a/templates/repo/migrate/gitbucket.tmpl
+++ b/templates/repo/migrate/gitbucket.tmpl
@@ -123,7 +123,6 @@
- {{.locale.Tr "cancel"}}
diff --git a/templates/repo/migrate/gitea.tmpl b/templates/repo/migrate/gitea.tmpl
index 3bc6156316..f56f9df5ec 100644
--- a/templates/repo/migrate/gitea.tmpl
+++ b/templates/repo/migrate/gitea.tmpl
@@ -119,7 +119,6 @@
- {{.locale.Tr "cancel"}}
diff --git a/templates/repo/migrate/github.tmpl b/templates/repo/migrate/github.tmpl
index a5b1f19506..c4249f8904 100644
--- a/templates/repo/migrate/github.tmpl
+++ b/templates/repo/migrate/github.tmpl
@@ -121,7 +121,6 @@
- {{.locale.Tr "cancel"}}
diff --git a/templates/repo/migrate/gitlab.tmpl b/templates/repo/migrate/gitlab.tmpl
index fa68cee891..a959833e96 100644
--- a/templates/repo/migrate/gitlab.tmpl
+++ b/templates/repo/migrate/gitlab.tmpl
@@ -118,7 +118,6 @@
- {{.locale.Tr "cancel"}}
diff --git a/templates/repo/migrate/gogs.tmpl b/templates/repo/migrate/gogs.tmpl
index 01936e028b..6d331b9e8f 100644
--- a/templates/repo/migrate/gogs.tmpl
+++ b/templates/repo/migrate/gogs.tmpl
@@ -121,7 +121,6 @@
- {{.locale.Tr "cancel"}}
diff --git a/templates/repo/migrate/onedev.tmpl b/templates/repo/migrate/onedev.tmpl
index e411d47760..18256aca5d 100644
--- a/templates/repo/migrate/onedev.tmpl
+++ b/templates/repo/migrate/onedev.tmpl
@@ -107,7 +107,6 @@
- {{.locale.Tr "cancel"}}
diff --git a/templates/repo/pulls/fork.tmpl b/templates/repo/pulls/fork.tmpl
index 0172e1b708..28ba8e2e25 100644
--- a/templates/repo/pulls/fork.tmpl
+++ b/templates/repo/pulls/fork.tmpl
@@ -61,7 +61,6 @@
- {{.locale.Tr "cancel"}}
diff --git a/templates/user/project.tmpl b/templates/user/project.tmpl
index 3db9d19eed..d38d84d95c 100644
--- a/templates/user/project.tmpl
+++ b/templates/user/project.tmpl
@@ -60,7 +60,6 @@
- {{.locale.Tr "cancel"}}