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>
tokarchuk/v1.18
a1012112796 2 years ago committed by GitHub
parent e86f18a05a
commit cc42c6488a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      options/locale/locale_en-US.ini
  2. 5
      routers/web/repo/issue.go
  3. 2
      services/issue/issue.go
  4. 12
      templates/repo/issue/view_content/sidebar.tmpl

@ -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_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.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.new = New Milestone
milestones.closed = Closed %s milestones.closed = Closed %s
milestones.update_ago = Updated %s ago milestones.update_ago = Updated %s ago

@ -878,6 +878,11 @@ func DeleteIssue(ctx *context.Context) {
return 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) ctx.Redirect(fmt.Sprintf("%s/issues", ctx.Repo.Repository.HTMLURL()), http.StatusSeeOther)
} }

@ -149,7 +149,7 @@ func DeleteIssue(doer *user_model.User, gitRepo *git.Repository, issue *issues_m
// delete pull request related git data // delete pull request related git data
if issue.IsPull { 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 return err
} }
} }

@ -660,11 +660,19 @@
</button> </button>
<div class="ui basic modal" id="delete"> <div class="ui basic modal" id="delete">
<div class="ui icon header"> <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>
<div class="content center"> <div class="content center">
<p> <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> </p>
</div> </div>
<form action="{{.Issue.Link}}/delete" method="post"> <form action="{{.Issue.Link}}/delete" method="post">

Loading…
Cancel
Save