From 70f40846bb5abc600f9029fc71da4bff5f37f6a1 Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Tue, 12 Dec 2017 00:39:30 +0900 Subject: [PATCH] Show pull request proposals for the current repository if the repository doesn't have a parent repository. --- .../controller/PullRequestsController.scala | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/main/scala/gitbucket/core/controller/PullRequestsController.scala b/src/main/scala/gitbucket/core/controller/PullRequestsController.scala index 2f913c5ca..b35f66c68 100644 --- a/src/main/scala/gitbucket/core/controller/PullRequestsController.scala +++ b/src/main/scala/gitbucket/core/controller/PullRequestsController.scala @@ -503,24 +503,28 @@ trait PullRequestsControllerBase extends ControllerBase { }) ajaxGet("/:owner/:repository/pulls/proposals")(readableUsersOnly { repository => - (for { + val branches = JGitUtil.getBranches( + owner = repository.owner, + name = repository.name, + defaultBranch = repository.repository.defaultBranch, + origin = repository.repository.originUserName.isEmpty + ) + .filter(x => x.mergeInfo.map(_.ahead).getOrElse(0) > 0 && x.mergeInfo.map(_.behind).getOrElse(0) == 0) + .sortBy(br => (br.mergeInfo.isEmpty, br.commitTime)) + .map(_.name) + .reverse + + val targetRepository = (for { parentUserName <- repository.repository.parentUserName parentRepoName <- repository.repository.parentRepositoryName parentRepository <- getRepository(parentUserName, parentRepoName).orElse(Some(repository)) } yield { - val branches = JGitUtil.getBranches( - owner = repository.owner, - name = repository.name, - defaultBranch = repository.repository.defaultBranch, - origin = repository.repository.originUserName.isEmpty - ) - .filter(x => x.mergeInfo.map(_.ahead).getOrElse(0) > 0 && x.mergeInfo.map(_.behind).getOrElse(0) == 0) - .sortBy(br => (br.mergeInfo.isEmpty, br.commitTime)) - .map(_.name) - .reverse + parentRepository + }).getOrElse { + repository + } - html.proposals(branches, parentRepository, repository) - }).getOrElse(NotFound()) + html.proposals(branches, targetRepository, repository) }) /**