mirror of https://github.com/go-gitea/gitea
fix & finish
This commit is contained in:
parent
f51af184fb
commit
d145c269cd
|
@ -17,6 +17,7 @@ import (
|
|||
api "code.gitea.io/gitea/modules/structs"
|
||||
"code.gitea.io/gitea/modules/web"
|
||||
"code.gitea.io/gitea/routers/api/v1/utils"
|
||||
"code.gitea.io/gitea/services/automerge"
|
||||
"code.gitea.io/gitea/services/context"
|
||||
"code.gitea.io/gitea/services/convert"
|
||||
issue_service "code.gitea.io/gitea/services/issue"
|
||||
|
@ -381,6 +382,11 @@ func CreatePullReview(ctx *context.APIContext) {
|
|||
return
|
||||
}
|
||||
|
||||
// as a missing / blocking reviews could have blocked a pending automerge let's recheck
|
||||
if reviewType == issues_model.ReviewTypeApprove {
|
||||
automerge.MergeScheduledPullRequest(pr)
|
||||
}
|
||||
|
||||
// convert response
|
||||
apiReview, err := convert.ToPullReview(ctx, review, ctx.Doer)
|
||||
if err != nil {
|
||||
|
@ -473,6 +479,11 @@ func SubmitPullReview(ctx *context.APIContext) {
|
|||
return
|
||||
}
|
||||
|
||||
// as a missing / blocking reviews could have blocked a pending automerge let's recheck
|
||||
if review.Type == issues_model.ReviewTypeApprove {
|
||||
automerge.MergeScheduledPullRequest(pr)
|
||||
}
|
||||
|
||||
// convert response
|
||||
apiReview, err := convert.ToPullReview(ctx, review, ctx.Doer)
|
||||
if err != nil {
|
||||
|
@ -888,7 +899,7 @@ func dismissReview(ctx *context.APIContext, msg string, isDismiss, dismissPriors
|
|||
ctx.Error(http.StatusForbidden, "", "Must be repo admin")
|
||||
return
|
||||
}
|
||||
review, _, isWrong := prepareSingleReview(ctx)
|
||||
review, pr, isWrong := prepareSingleReview(ctx)
|
||||
if isWrong {
|
||||
return
|
||||
}
|
||||
|
@ -898,7 +909,12 @@ func dismissReview(ctx *context.APIContext, msg string, isDismiss, dismissPriors
|
|||
return
|
||||
}
|
||||
|
||||
_, err := pull_service.DismissReview(ctx, review.ID, ctx.Repo.Repository.ID, msg, ctx.Doer, isDismiss, dismissPriors)
|
||||
if pr.Issue.IsClosed {
|
||||
ctx.Error(http.StatusForbidden, "", "not need to dismiss this review because this pr is closed")
|
||||
return
|
||||
}
|
||||
|
||||
comm, err := pull_service.DismissReview(ctx, review.ID, ctx.Repo.Repository.ID, msg, ctx.Doer, isDismiss, dismissPriors)
|
||||
if err != nil {
|
||||
if pull_service.IsErrDismissRequestOnClosedPR(err) {
|
||||
ctx.Error(http.StatusForbidden, "", err)
|
||||
|
@ -908,6 +924,9 @@ func dismissReview(ctx *context.APIContext, msg string, isDismiss, dismissPriors
|
|||
return
|
||||
}
|
||||
|
||||
// as reviews could have blocked a pending automerge let's recheck
|
||||
automerge.MergeScheduledPullRequest(comm.Issue.PullRequest)
|
||||
|
||||
if review, err = issues_model.GetReviewByID(ctx, review.ID); err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "GetReviewByID", err)
|
||||
return
|
||||
|
|
|
@ -16,6 +16,7 @@ import (
|
|||
"code.gitea.io/gitea/modules/log"
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
"code.gitea.io/gitea/modules/web"
|
||||
"code.gitea.io/gitea/services/automerge"
|
||||
"code.gitea.io/gitea/services/context"
|
||||
"code.gitea.io/gitea/services/context/upload"
|
||||
"code.gitea.io/gitea/services/forms"
|
||||
|
@ -271,6 +272,16 @@ func SubmitReview(ctx *context.Context) {
|
|||
}
|
||||
return
|
||||
}
|
||||
|
||||
// as a missing / blocking reviews could have blocked a pending automerge let's recheck
|
||||
if reviewType == issues_model.ReviewTypeApprove {
|
||||
if err := issue.LoadPullRequest(ctx); err != nil {
|
||||
ctx.ServerError("GetPullRequest", err)
|
||||
return
|
||||
}
|
||||
automerge.MergeScheduledPullRequest(issue.PullRequest)
|
||||
}
|
||||
|
||||
ctx.JSONRedirect(fmt.Sprintf("%s/pulls/%d#%s", ctx.Repo.RepoLink, issue.Index, comm.HashTag()))
|
||||
}
|
||||
|
||||
|
@ -287,6 +298,9 @@ func DismissReview(ctx *context.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
// as reviews could have blocked a pending automerge let's recheck
|
||||
automerge.MergeScheduledPullRequest(comm.Issue.PullRequest)
|
||||
|
||||
ctx.Redirect(fmt.Sprintf("%s/pulls/%d#%s", ctx.Repo.RepoLink, comm.Issue.Index, comm.HashTag()))
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue