diff options
author | Giteabot <teabot@gitea.io> | 2023-07-17 08:14:22 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-17 12:14:22 +0000 |
commit | 9159964ada44951ba5ee2a41e7bf2fe6f7f7993f (patch) | |
tree | 0c95168dacc4d7a2a73bdad872251d932f2088bf /routers/web/repo/issue.go | |
parent | 9369b38315c11f9315d51be5b35b16970bc65f5f (diff) | |
download | gitea-9159964ada44951ba5ee2a41e7bf2fe6f7f7993f.tar.gz gitea-9159964ada44951ba5ee2a41e7bf2fe6f7f7993f.zip |
Avoid opening/closing PRs which are already merged (#25883) (#25903)
Backport #25883 by @yp05327
We can select PRs to open/close them by one click, but we forgot to
check whether it is merged.
You can get an opening merged PR:
![image](https://github.com/go-gitea/gitea/assets/18380374/22c2e747-4bb9-4742-a9aa-ef39d5308bc5)
You can confirm this in:
https://try.gitea.io/yp05327/testrepo/pulls/5
Co-authored-by: yp05327 <576951401@qq.com>
Diffstat (limited to 'routers/web/repo/issue.go')
-rw-r--r-- | routers/web/repo/issue.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go index d436abba2f..4cf319e958 100644 --- a/routers/web/repo/issue.go +++ b/routers/web/repo/issue.go @@ -2726,7 +2726,15 @@ func UpdateIssueStatus(ctx *context.Context) { ctx.ServerError("LoadRepositories", err) return } + if err := issues.LoadPullRequests(ctx); err != nil { + ctx.ServerError("LoadPullRequests", err) + return + } + for _, issue := range issues { + if issue.IsPull && issue.PullRequest.HasMerged { + continue + } if issue.IsClosed != isClosed { if err := issue_service.ChangeStatus(issue, ctx.Doer, "", isClosed); err != nil { if issues_model.IsErrDependenciesLeft(err) { |