summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorj.yao.SUSE <everhopingandwaiting@users.noreply.github.com>2020-04-08 19:26:50 +0800
committerGitHub <noreply@github.com>2020-04-08 14:26:50 +0300
commitb40107c4164748873f89a9553ed24e8403999339 (patch)
tree49a37d8df27a08414f6dec9240a0926b9c6630a8 /services
parent089b34858ce1ce3101b13fa8e14e4e56e0a02a90 (diff)
downloadgitea-b40107c4164748873f89a9553ed24e8403999339.tar.gz
gitea-b40107c4164748873f89a9553ed24e8403999339.zip
[suggest] change merge strategy: do not check write access if user in merge white list (#10951)
* [suggest] change merge strategy: do not check write access if user in merge white list #10935 (cherry picked from commit ba74fc6389dfcad03c273441a49b54e4d38c86ee) * fix NPE * Fix cross compile (#10952) * Fix cross compile * Add test for cross compile * Fix drone * Fix drone * Also prevent CC environment not to generate Co-authored-by: zeripath <art27@cantab.net> * fix merge box icon color bug (#10974) that because need some space beturn ``text`` and color defines Signed-off-by: a1012112796 <1012112796@qq.com> * [skip ci] Updated translations via Crowdin * Allow X in addition to x in tasks (#10979) Signed-off-by: Andrew Thornton <art27@cantab.net> * remove api: merge reqRepoWriter Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: 赵智超 <1012112796@qq.com> Co-authored-by: GiteaBot <teabot@gitea.io> Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
Diffstat (limited to 'services')
-rw-r--r--services/pull/merge.go5
1 files changed, 1 insertions, 4 deletions
diff --git a/services/pull/merge.go b/services/pull/merge.go
index 511f3dbfc4..b412e71896 100644
--- a/services/pull/merge.go
+++ b/services/pull/merge.go
@@ -531,16 +531,13 @@ func IsSignedIfRequired(pr *models.PullRequest, doer *models.User) (bool, error)
// IsUserAllowedToMerge check if user is allowed to merge PR with given permissions and branch protections
func IsUserAllowedToMerge(pr *models.PullRequest, p models.Permission, user *models.User) (bool, error) {
- if !p.CanWrite(models.UnitTypeCode) {
- return false, nil
- }
err := pr.LoadProtectedBranch()
if err != nil {
return false, err
}
- if pr.ProtectedBranch == nil || pr.ProtectedBranch.IsUserMergeWhitelisted(user.ID) {
+ if (p.CanWrite(models.UnitTypeCode) && pr.ProtectedBranch == nil) || (pr.ProtectedBranch != nil && pr.ProtectedBranch.IsUserMergeWhitelisted(user.ID)) {
return true, nil
}