aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authora1012112796 <1012112796@qq.com>2022-06-19 18:05:15 +0800
committerGitHub <noreply@github.com>2022-06-19 18:05:15 +0800
commitcc42c6488a818499e363935c214d5c4d0aaff554 (patch)
tree303ebfabb2c9ffaa5fcbfd333172190324c249d4
parente86f18a05a19611c518f6ccb87cc7a1261392666 (diff)
downloadgitea-cc42c6488a818499e363935c214d5c4d0aaff554.tar.gz
gitea-cc42c6488a818499e363935c214d5c4d0aaff554.zip
fix delete pull head ref for DeleteIssue (#20032)
* fix delete pull head ref for DeleteIssue fix #19655 Signed-off-by: a1012112796 <1012112796@qq.com> * add different help message for delete pull request Signed-off-by: a1012112796 <1012112796@qq.com> Co-authored-by: 6543 <6543@obermui.de>
-rw-r--r--options/locale/locale_en-US.ini3
-rw-r--r--routers/web/repo/issue.go5
-rw-r--r--services/issue/issue.go2
-rw-r--r--templates/repo/issue/view_content/sidebar.tmpl12
4 files changed, 19 insertions, 3 deletions
diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index 347022fbdb..72253b3640 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -1610,6 +1610,9 @@ pulls.auto_merge_canceled_schedule = The auto merge was canceled for this pull r
pulls.auto_merge_newly_scheduled_comment = `scheduled this pull request to auto merge when all checks succeed %[1]s`
pulls.auto_merge_canceled_schedule_comment = `canceled auto merging this pull request when all checks succeed %[1]s`
+pulls.delete.title = Delete this pull request?
+pulls.delete.text = Do you really want to delete this pull request? (This will permanently remove all content. Consider closing it instead, if you intend to keep it archived)
+
milestones.new = New Milestone
milestones.closed = Closed %s
milestones.update_ago = Updated %s ago
diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go
index 11d2daeeff..5b72ff79af 100644
--- a/routers/web/repo/issue.go
+++ b/routers/web/repo/issue.go
@@ -878,6 +878,11 @@ func DeleteIssue(ctx *context.Context) {
return
}
+ if issue.IsPull {
+ ctx.Redirect(fmt.Sprintf("%s/pulls", ctx.Repo.Repository.HTMLURL()), http.StatusSeeOther)
+ return
+ }
+
ctx.Redirect(fmt.Sprintf("%s/issues", ctx.Repo.Repository.HTMLURL()), http.StatusSeeOther)
}
diff --git a/services/issue/issue.go b/services/issue/issue.go
index ded281e209..467bc14b84 100644
--- a/services/issue/issue.go
+++ b/services/issue/issue.go
@@ -149,7 +149,7 @@ func DeleteIssue(doer *user_model.User, gitRepo *git.Repository, issue *issues_m
// delete pull request related git data
if issue.IsPull {
- if err := gitRepo.RemoveReference(fmt.Sprintf("%s%d", git.PullPrefix, issue.PullRequest.Index)); err != nil {
+ if err := gitRepo.RemoveReference(fmt.Sprintf("%s%d/head", git.PullPrefix, issue.PullRequest.Index)); err != nil {
return err
}
}
diff --git a/templates/repo/issue/view_content/sidebar.tmpl b/templates/repo/issue/view_content/sidebar.tmpl
index 7a966ce878..d58e6e7b9f 100644
--- a/templates/repo/issue/view_content/sidebar.tmpl
+++ b/templates/repo/issue/view_content/sidebar.tmpl
@@ -660,11 +660,19 @@
</button>
<div class="ui basic modal" id="delete">
<div class="ui icon header">
- {{.i18n.Tr "repo.issues.delete.title"}}
+ {{if .Issue.IsPull}}
+ {{.i18n.Tr "repo.pulls.delete.title"}}
+ {{else}}
+ {{.i18n.Tr "repo.issues.delete.title"}}
+ {{end}}
</div>
<div class="content center">
<p>
- {{.i18n.Tr "repo.issues.delete.text"}}
+ {{if .Issue.IsPull}}
+ {{.i18n.Tr "repo.pulls.delete.text"}}
+ {{else}}
+ {{.i18n.Tr "repo.issues.delete.text"}}
+ {{end}}
</p>
</div>
<form action="{{.Issue.Link}}/delete" method="post">