From 51f6a7ab1022342d8e552ffa9925118d8c692a96 Mon Sep 17 00:00:00 2001 From: zeripath Date: Mon, 27 Jan 2020 10:26:53 +0000 Subject: [PATCH] On merge of already closed PR redirect back to the pulls page (#10010) * On merge of already closed PR redirect back to the pulls page * More redirects * As per @6543 Co-Authored-By: 6543 <6543@obermui.de> --- routers/repo/pull.go | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/routers/repo/pull.go b/routers/repo/pull.go index 655be2e82e..b4760fd527 100644 --- a/routers/repo/pull.go +++ b/routers/repo/pull.go @@ -679,7 +679,13 @@ func MergePullRequest(ctx *context.Context, form auth.MergePullRequestForm) { return } if issue.IsClosed { - ctx.NotFound("MergePullRequest", nil) + if issue.IsPull { + ctx.Flash.Error(ctx.Tr("repo.pulls.is_closed")) + ctx.Redirect(ctx.Repo.RepoLink + "/pulls/" + com.ToStr(issue.Index)) + return + } + ctx.Flash.Error(ctx.Tr("repo.issues.closed_title")) + ctx.Redirect(ctx.Repo.RepoLink + "/issues/" + com.ToStr(issue.Index)) return } @@ -691,12 +697,20 @@ func MergePullRequest(ctx *context.Context, form auth.MergePullRequestForm) { return } if !allowedMerge { - ctx.NotFound("MergePullRequest", nil) + ctx.Flash.Error(ctx.Tr("repo.pulls.update_not_allowed")) + ctx.Redirect(ctx.Repo.RepoLink + "/pulls/" + com.ToStr(issue.Index)) return } - if !pr.CanAutoMerge() || pr.HasMerged { - ctx.NotFound("MergePullRequest", nil) + if !pr.CanAutoMerge() { + ctx.Flash.Error(ctx.Tr("repo.pulls.no_merge_not_ready")) + ctx.Redirect(ctx.Repo.RepoLink + "/pulls/" + com.ToStr(issue.Index)) + return + } + + if pr.HasMerged { + ctx.Flash.Error(ctx.Tr("repo.pulls.has_merged")) + ctx.Redirect(ctx.Repo.RepoLink + "/pulls/" + com.ToStr(issue.Index)) return }