mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-09 15:05:50 +01:00
Issue label creation is available.
This commit is contained in:
@@ -6,11 +6,11 @@ import service._
|
||||
import util.{WritableRepositoryAuthenticator, ReadableRepositoryAuthenticator, UsersOnlyAuthenticator}
|
||||
|
||||
class IssuesController extends IssuesControllerBase
|
||||
with IssuesService with RepositoryService with AccountService
|
||||
with IssuesService with RepositoryService with AccountService with LabelsService
|
||||
with UsersOnlyAuthenticator with ReadableRepositoryAuthenticator with WritableRepositoryAuthenticator
|
||||
|
||||
trait IssuesControllerBase extends ControllerBase {
|
||||
self: IssuesService with RepositoryService
|
||||
self: IssuesService with RepositoryService with LabelsService
|
||||
with UsersOnlyAuthenticator with ReadableRepositoryAuthenticator with WritableRepositoryAuthenticator =>
|
||||
|
||||
case class IssueForm(title: String, content: Option[String])
|
||||
@@ -37,8 +37,8 @@ trait IssuesControllerBase extends ControllerBase {
|
||||
case "closed" => true
|
||||
} getOrElse false
|
||||
|
||||
issues.html.issues(searchIssue(owner, repository, closed),
|
||||
getRepository(params("owner"), params("repository"), baseUrl).get)
|
||||
issues.html.issues(searchIssue(owner, repository, closed), getLabels(owner, repository),
|
||||
getRepository(owner, repository, baseUrl).get)
|
||||
}
|
||||
|
||||
get("/:owner/:repository/issues/:id"){
|
||||
|
||||
@@ -1,7 +1,29 @@
|
||||
package app
|
||||
|
||||
import jp.sf.amateras.scalatra.forms._
|
||||
import service._
|
||||
import util.WritableRepositoryAuthenticator
|
||||
|
||||
class LabelsController extends LabelsControllerBase
|
||||
with LabelsService with RepositoryService with AccountService with WritableRepositoryAuthenticator
|
||||
|
||||
trait LabelsControllerBase extends ControllerBase {
|
||||
self: LabelsService with WritableRepositoryAuthenticator =>
|
||||
|
||||
case class LabelForm(labelName: String, color: String)
|
||||
|
||||
val labelForm = mapping(
|
||||
"labelName" -> trim(label("Label name", text(required, maxlength(100)))),
|
||||
"color" -> trim(label("Color", text(required, maxlength(7))))
|
||||
)(LabelForm.apply)
|
||||
|
||||
post("/:owner/:repository/issues/label/new", labelForm)(writableRepository { form =>
|
||||
val owner = params("owner")
|
||||
val repository = params("repository")
|
||||
|
||||
createLabel(owner, repository, form.labelName, form.color.substring(1))
|
||||
|
||||
redirect("/%s/%s/issues".format(owner, repository))
|
||||
})
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user