diff --git a/src/main/scala/gitbucket/core/controller/IssuesController.scala b/src/main/scala/gitbucket/core/controller/IssuesController.scala index cd3edc3..c780ae4 100644 --- a/src/main/scala/gitbucket/core/controller/IssuesController.scala +++ b/src/main/scala/gitbucket/core/controller/IssuesController.scala @@ -257,6 +257,12 @@ } getOrElse NotFound }) + ajaxPost("/:owner/:repository/issues/new/label")(collaboratorsOnly { repository => + val labelNames = params("labelNames").split(",") + val labels = getLabels(repository.owner, repository.name).filter(x => labelNames.contains(x.labelName)) + html.labellist(labels) + }) + ajaxPost("/:owner/:repository/issues/:id/label/new")(collaboratorsOnly { repository => defining(params("id").toInt){ issueId => registerIssueLabel(repository.owner, repository.name, issueId, params("labelId").toInt) diff --git a/src/main/twirl/gitbucket/core/issues/create.scala.html b/src/main/twirl/gitbucket/core/issues/create.scala.html index 2db533d..75bb566 100644 --- a/src/main/twirl/gitbucket/core/issues/create.scala.html +++ b/src/main/twirl/gitbucket/core/issues/create.scala.html @@ -11,52 +11,12 @@


-
+
@avatar(loginAccount.get.userName, 48)
-
- No one is assigned - @if(hasWritePermission){ - - @helper.html.dropdown() { -
  • Clear assignee
  • - @collaborators.map { collaborator => -
  • @avatar(collaborator, 20) @collaborator
  • - } - } - } -
    - No milestone - @if(hasWritePermission){ - - @helper.html.dropdown() { -
  • Clear this milestone
  • - @milestones.filter(_.closedDate.isEmpty).map { milestone => -
  • - - @milestone.title -
    - @milestone.dueDate.map { dueDate => - @if(isPast(dueDate)){ - Due by @date(dueDate) - } else { - Due by @date(dueDate) - } - }.getOrElse { - No due date - } -
    -
    -
  • - } - } - } -
    -
    -
    @helper.html.preview( repository = repository, content = "", @@ -73,85 +33,10 @@
    -
    - @if(hasWritePermission){ - Labels -
    -
    - - -
    -
    - } +
    + @issueinfo(None, Nil, Nil, collaborators, milestones.map(x => (x, 0, 0)), labels, hasWritePermission, repository)
    } } - diff --git a/src/main/twirl/gitbucket/core/issues/issue.scala.html b/src/main/twirl/gitbucket/core/issues/issue.scala.html index dc68b90..c5aef70 100644 --- a/src/main/twirl/gitbucket/core/issues/issue.scala.html +++ b/src/main/twirl/gitbucket/core/issues/issue.scala.html @@ -52,7 +52,7 @@ @commentform(issue, true, hasWritePermission, repository)
    - @issueinfo(issue, comments, issueLabels, collaborators, milestones, labels, hasWritePermission, repository) + @issueinfo(Some(issue), comments, issueLabels, collaborators, milestones, labels, hasWritePermission, repository)
    } diff --git a/src/main/twirl/gitbucket/core/issues/issueinfo.scala.html b/src/main/twirl/gitbucket/core/issues/issueinfo.scala.html index 2c5063a..4f1daed 100644 --- a/src/main/twirl/gitbucket/core/issues/issueinfo.scala.html +++ b/src/main/twirl/gitbucket/core/issues/issueinfo.scala.html @@ -1,4 +1,4 @@ -@(issue: gitbucket.core.model.Issue, +@(issue: Option[gitbucket.core.model.Issue], comments: List[gitbucket.core.model.Comment], issueLabels: List[gitbucket.core.model.Label], collaborators: List[String], @@ -6,6 +6,7 @@ labels: List[gitbucket.core.model.Label], hasWritePermission: Boolean, repository: gitbucket.core.service.RepositoryService.RepositoryInfo)(implicit context: gitbucket.core.controller.Context) +@import context._ @import gitbucket.core.view.helpers._
    Labels @@ -22,6 +23,9 @@ } } + @if(issue.isEmpty){ + + }
    }
    @@ -38,7 +42,10 @@ @milestones.filter(_._1.closedDate.isEmpty).map { case (milestone, _, _) =>
  • - @helper.html.checkicon(Some(milestone.milestoneId) == issue.milestoneId) @milestone.title + @issue.map { issue => + @helper.html.checkicon(Some(milestone.milestoneId) == issue.milestoneId) + } + @milestone.title
    @milestone.dueDate.map { dueDate => @if(isPast(dueDate)){ @@ -58,14 +65,14 @@ }
    - @issue.milestoneId.map { milestoneId => + @issue.flatMap(_.milestoneId).map { milestoneId => @milestones.collect { case (milestone, openCount, closeCount) if(milestone.milestoneId == milestoneId) => @issues.milestones.html.progress(openCount + closeCount, closeCount) } }
    - @issue.milestoneId.map { milestoneId => + @issue.flatMap(_.milestoneId).map { milestoneId => @milestones.collect { case (milestone, _, _) if(milestone.milestoneId == milestoneId) => @milestone.title } @@ -73,6 +80,9 @@ No milestone } +@if(issue.isEmpty){ + +}
    Assignee @@ -83,7 +93,7 @@ @collaborators.map { collaborator =>
  • - @helper.html.checkicon(Some(collaborator) == issue.assignedUserName)@avatar(collaborator, 20) @collaborator + @helper.html.checkicon(issue.exists(_.assignedUserName == collaborator))@avatar(collaborator, 20) @collaborator
  • } @@ -92,39 +102,37 @@ } - @issue.assignedUserName.map { userName => + @issue.flatMap(_.assignedUserName).map { userName => @avatar(userName, 20) @user(userName, styleClass="username strong small") }.getOrElse{ No one } -
    -
    - @defining((issue.openedUserName :: comments.map(_.commentedUserName)).distinct){ participants => -
    @participants.size @plural(participants.size, "participant")
    - @participants.map { participant => @avatarLink(participant, 20, tooltip = true) } - } -
    +@if(issue.isEmpty){ + +} +@issue.map { issue => +
    +
    + @defining((issue.openedUserName :: comments.map(_.commentedUserName)).distinct){ participants => +
    @participants.size @plural(participants.size, "participant")
    + @participants.map { participant => + @avatarLink(participant, 20, tooltip = true) + } + } +
    +} diff --git a/src/main/twirl/gitbucket/core/pulls/conversation.scala.html b/src/main/twirl/gitbucket/core/pulls/conversation.scala.html index d005b40..79cb894 100644 --- a/src/main/twirl/gitbucket/core/pulls/conversation.scala.html +++ b/src/main/twirl/gitbucket/core/pulls/conversation.scala.html @@ -45,7 +45,7 @@ }
    - @issues.html.issueinfo(issue, comments, issueLabels, collaborators, milestones, labels, hasWritePermission, repository) + @issues.html.issueinfo(Some(issue), comments, issueLabels, collaborators, milestones, labels, hasWritePermission, repository)