@@ -131,7 +131,10 @@ func IsValidReviewRequest(ctx context.Context, reviewer, doer *user_model.User,
131
return nil
131
return nil
132
}
132
}
133
133
134
- pemResult = permDoer .CanAccessAny (perm .AccessModeWrite , unit .TypePullRequests )
134
+ pemResult = doer .ID == issue .PosterID
135
+ if ! pemResult {
136
+ pemResult = permDoer .CanAccessAny (perm .AccessModeWrite , unit .TypePullRequests )
137
+ }
135
if ! pemResult {
138
if ! pemResult {
136
pemResult , err = issues_model .IsOfficialReviewer (ctx , issue , doer )
139
pemResult , err = issues_model .IsOfficialReviewer (ctx , issue , doer )
137
if err != nil {
140
if err != nil {
@@ -201,7 +204,7 @@ func IsValidTeamReviewRequest(ctx context.Context, reviewer *organization.Team,
201
}
204
}
202
205
203
doerCanWrite := permission .CanAccessAny (perm .AccessModeWrite , unit .TypePullRequests )
206
doerCanWrite := permission .CanAccessAny (perm .AccessModeWrite , unit .TypePullRequests )
204
- if ! doerCanWrite {
207
+ if ! doerCanWrite && doer . ID != issue . PosterID {
205
official , err := issues_model .IsOfficialReviewer (ctx , issue , doer )
208
official , err := issues_model .IsOfficialReviewer (ctx , issue , doer )
206
if err != nil {
209
if err != nil {
207
log .Error ("Unable to Check if IsOfficialReviewer for %-v in %-v#%d" , doer , issue .Repo , issue .Index )
210
log .Error ("Unable to Check if IsOfficialReviewer for %-v in %-v#%d" , doer , issue .Repo , issue .Index )
0 commit comments