@@ -419,6 +419,9 @@ func ToAPIPullRequests(ctx context.Context, baseRepo *repo_model.Repository, prs
419419		if  baseBranch  !=  nil  {
420420			apiPullRequest .Base .Sha  =  baseBranch .CommitID 
421421		}
422+ 		if  pr .HeadRepoID  ==  pr .BaseRepoID  {
423+ 			apiPullRequest .Head .Repository  =  apiPullRequest .Base .Repository 
424+ 		}
422425
423426		// pull request head branch, both repository and branch could not exist 
424427		if  pr .HeadRepo  !=  nil  {
@@ -431,22 +434,19 @@ func ToAPIPullRequests(ctx context.Context, baseRepo *repo_model.Repository, prs
431434			if  exist  {
432435				apiPullRequest .Head .Ref  =  pr .HeadBranch 
433436			}
437+ 			if  pr .HeadRepoID  !=  pr .BaseRepoID  {
438+ 				p , err  :=  access_model .GetUserRepoPermission (ctx , pr .HeadRepo , doer )
439+ 				if  err  !=  nil  {
440+ 					log .Error ("GetUserRepoPermission[%d]: %v" , pr .HeadRepoID , err )
441+ 					p .AccessMode  =  perm .AccessModeNone 
442+ 				}
443+ 				apiPullRequest .Head .Repository  =  ToRepo (ctx , pr .HeadRepo , p )
444+ 			}
434445		}
435446		if  apiPullRequest .Head .Ref  ==  ""  {
436447			apiPullRequest .Head .Ref  =  pr .GetGitRefName ()
437448		}
438449
439- 		if  pr .HeadRepoID  ==  pr .BaseRepoID  {
440- 			apiPullRequest .Head .Repository  =  apiPullRequest .Base .Repository 
441- 		} else  {
442- 			p , err  :=  access_model .GetUserRepoPermission (ctx , pr .HeadRepo , doer )
443- 			if  err  !=  nil  {
444- 				log .Error ("GetUserRepoPermission[%d]: %v" , pr .HeadRepoID , err )
445- 				p .AccessMode  =  perm .AccessModeNone 
446- 			}
447- 			apiPullRequest .Head .Repository  =  ToRepo (ctx , pr .HeadRepo , p )
448- 		}
449- 
450450		if  pr .Flow  ==  issues_model .PullRequestFlowAGit  {
451451			apiPullRequest .Head .Name  =  "" 
452452		}
0 commit comments