@@ -121,6 +121,7 @@ func IsUserAllowedToUpdate(ctx context.Context, pull *issues_model.PullRequest,
121121 return false , false , err
122122 }
123123
124+ // TODO: why use base repo's unit?
124125 prUnit , err := pull .BaseRepo .GetUnit (ctx , unit .TypePullRequests )
125126 if err != nil {
126127 if repo_model .IsErrUnitTypeNotExist (err ) {
@@ -155,6 +156,37 @@ func IsUserAllowedToUpdate(ctx context.Context, pull *issues_model.PullRequest,
155156 // if merge is not allowed, rebase is also not allowed
156157 rebaseAllowed = rebaseAllowed && mergeAllowed
157158
159+ /*
160+ // TODO: revert to old logic with isUserAllowedToMergeRepoBranch
161+ // If branch protected, disable rebase unless user is whitelisted to force push (which extends regular push)
162+ if pb != nil {
163+ pb.Repo = pull.BaseRepo
164+ if !pb.CanUserForcePush(ctx, user) {
165+ rebaseAllowed = false
166+ }
167+
168+ }
169+
170+ baseRepoPerm, err := access_model.GetUserRepoPermission(ctx, pull.BaseRepo, user)
171+ if err != nil {
172+ return false, false, err
173+ }
174+
175+ mergeAllowed, err = IsUserAllowedToMerge(ctx, pr, headRepoPerm, user)
176+ if err != nil {
177+ return false, false, err
178+ }
179+
180+ if pull.AllowMaintainerEdit {
181+ mergeAllowedMaintainer, err := IsUserAllowedToMerge(ctx, pr, baseRepoPerm, user)
182+ if err != nil {
183+ return false, false, err
184+ }
185+
186+ mergeAllowed = mergeAllowed || mergeAllowedMaintainer
187+ }
188+ */
189+
158190 return mergeAllowed , rebaseAllowed , nil
159191}
160192
0 commit comments