mirror of
https://github.com/gogs/gogs.git
synced 2025-09-04 19:37:58 +00:00
repo: disallow web ui to delete protected branch after PR merged (#4803)
* Disallow web ui to delete protected branch * Fix for branches not yet protected Had to change how error was handled. If a branch had not yet been protected the error would be generated. Reworked to start as false and then use the protected if it was found.
This commit is contained in:
parent
679147cd5d
commit
51e087fd87
@ -642,8 +642,14 @@ func viewIssue(c *context.Context, isPullList bool) {
|
||||
|
||||
if issue.IsPull && issue.PullRequest.HasMerged {
|
||||
pull := issue.PullRequest
|
||||
branchProtected := false
|
||||
protectBranch, err := models.GetProtectBranchOfRepoByName(pull.BaseRepoID, pull.HeadBranch)
|
||||
if err == nil {
|
||||
branchProtected = protectBranch.Protected
|
||||
}
|
||||
c.Data["IsPullBranchDeletable"] = pull.BaseRepoID == pull.HeadRepoID &&
|
||||
c.Repo.IsWriter() && c.Repo.GitRepo.IsBranchExist(pull.HeadBranch)
|
||||
c.Repo.IsWriter() && c.Repo.GitRepo.IsBranchExist(pull.HeadBranch) &&
|
||||
!branchProtected
|
||||
|
||||
deleteBranchUrl := c.Repo.RepoLink + "/branches/delete/" + pull.HeadBranch
|
||||
c.Data["DeleteBranchLink"] = fmt.Sprintf("%s?commit=%s&redirect_to=%s", deleteBranchUrl, pull.MergedCommitID, c.Data["Link"])
|
||||
|
Loading…
x
Reference in New Issue
Block a user