mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-08 22:45:51 +01:00
(refs #2)Add merge pull request form.
This commit is contained in:
@@ -25,11 +25,11 @@ trait PullRequestsControllerBase extends ControllerBase {
|
||||
"content" -> trim(label("Content", optional(text()))),
|
||||
"branch" -> trim(text(required, maxlength(100))),
|
||||
"requestUserName" -> trim(text(required, maxlength(100))),
|
||||
"requestCommitId" -> trim(text(required, maxlength(40)))
|
||||
"requestBranch" -> trim(text(required, maxlength(100)))
|
||||
)(PullRequestForm.apply)
|
||||
|
||||
case class PullRequestForm(title: String, content: Option[String], branch: String,
|
||||
requestUserName: String, requestCommitId: String)
|
||||
requestUserName: String, requestBranch: String)
|
||||
|
||||
get("/:owner/:repository/pulls")(referrersOnly { repository =>
|
||||
pulls.html.list(repository)
|
||||
@@ -128,7 +128,7 @@ trait PullRequestsControllerBase extends ControllerBase {
|
||||
form.branch,
|
||||
form.requestUserName,
|
||||
repository.name,
|
||||
form.requestCommitId)
|
||||
form.requestBranch)
|
||||
|
||||
recordPullRequestActivity(repository.owner, repository.name, loginUserName, issueId, form.title)
|
||||
|
||||
@@ -138,16 +138,14 @@ trait PullRequestsControllerBase extends ControllerBase {
|
||||
get("/:owner/:repository/pulls/:id")(referrersOnly { repository =>
|
||||
val owner = repository.owner
|
||||
val name = repository.name
|
||||
val issueId = params("id")
|
||||
val issueId = params("id").toInt
|
||||
|
||||
getIssue(owner, name, issueId) map {
|
||||
issues.html.issue(
|
||||
_,
|
||||
getPullRequest(owner, name, issueId) map { case(issue, pullreq) =>
|
||||
pulls.html.pullreq(
|
||||
issue, pullreq,
|
||||
getComments(owner, name, issueId.toInt),
|
||||
getIssueLabels(owner, name, issueId.toInt),
|
||||
(getCollaborators(owner, name) :+ owner).sorted,
|
||||
getMilestones(owner, name),
|
||||
Nil,
|
||||
hasWritePermission(owner, name, context.loginAccount),
|
||||
repository)
|
||||
} getOrElse NotFound
|
||||
|
||||
@@ -3,11 +3,11 @@ package model
|
||||
import scala.slick.driver.H2Driver.simple._
|
||||
|
||||
object PullRequests extends Table[PullRequest]("PULL_REQUEST") with IssueTemplate {
|
||||
def branch = column[String]("BRANCH")
|
||||
def requestUserName = column[String]("REQUEST_USER_NAME")
|
||||
def requestRepositoryName = column[String]("REQUEST_REPOSITORY_NAME")
|
||||
def requestCommitId = column[String]("REQUEST_COMMIT_ID")
|
||||
def originBranch = column[String]("ORIGIN_BRANCH")
|
||||
def * = userName ~ repositoryName ~ issueId ~ originBranch ~ requestUserName ~ requestRepositoryName ~ requestCommitId <> (PullRequest, PullRequest.unapply _)
|
||||
def requestBranch = column[String]("REQUEST_BRANCH")
|
||||
def * = userName ~ repositoryName ~ issueId ~ branch ~ requestUserName ~ requestRepositoryName ~ requestBranch <> (PullRequest, PullRequest.unapply _)
|
||||
|
||||
def byPrimaryKey(userName: String, repositoryName: String, issueId: Int) = byIssue(userName, repositoryName, issueId)
|
||||
def byPrimaryKey(userName: Column[String], repositoryName: Column[String], issueId: Column[Int]) = byIssue(userName, repositoryName, issueId)
|
||||
@@ -17,7 +17,7 @@ case class PullRequest(
|
||||
userName: String,
|
||||
repositoryName: String,
|
||||
issueId: Int,
|
||||
originBranch: String,
|
||||
branch: String,
|
||||
requestUserName: String,
|
||||
requestRepositoryName: String,
|
||||
requestCommitId: String)
|
||||
requestBranch: String)
|
||||
@@ -9,10 +9,20 @@ import model._
|
||||
//import Q.interpolation
|
||||
|
||||
|
||||
trait PullRequestService {
|
||||
trait PullRequestService { self: IssuesService =>
|
||||
|
||||
def getPullRequest(owner: String, repository: String, issueId: Int): Option[(Issue, PullRequest)] = {
|
||||
val issue = getIssue(owner, repository, issueId.toString)
|
||||
if(issue.isDefined){
|
||||
Query(PullRequests).filter(_.byPrimaryKey(owner, repository, issueId)).firstOption match {
|
||||
case Some(pullreq) => Some((issue.get, pullreq))
|
||||
case None => None
|
||||
}
|
||||
} else None
|
||||
}
|
||||
|
||||
def createPullRequest(originUserName: String, originRepositoryName: String, issueId: Int,
|
||||
originBranch: String, requestUserName: String, requestRepositoryName: String, requestCommitId: String): Unit =
|
||||
originBranch: String, requestUserName: String, requestRepositoryName: String, requestBranch: String): Unit =
|
||||
PullRequests insert (PullRequest(
|
||||
originUserName,
|
||||
originRepositoryName,
|
||||
@@ -20,6 +30,6 @@ trait PullRequestService {
|
||||
originBranch,
|
||||
requestUserName,
|
||||
requestRepositoryName,
|
||||
requestCommitId))
|
||||
requestBranch))
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user