mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-10-31 18:46:28 +01:00
Implementing label editing form.
This commit is contained in:
@@ -3,6 +3,7 @@ package app
|
|||||||
import jp.sf.amateras.scalatra.forms._
|
import jp.sf.amateras.scalatra.forms._
|
||||||
import service._
|
import service._
|
||||||
import util.WritableRepositoryAuthenticator
|
import util.WritableRepositoryAuthenticator
|
||||||
|
import org.scalatra._
|
||||||
|
|
||||||
class LabelsController extends LabelsControllerBase
|
class LabelsController extends LabelsControllerBase
|
||||||
with LabelsService with RepositoryService with AccountService with WritableRepositoryAuthenticator
|
with LabelsService with RepositoryService with AccountService with WritableRepositoryAuthenticator
|
||||||
@@ -12,12 +13,17 @@ trait LabelsControllerBase extends ControllerBase {
|
|||||||
|
|
||||||
case class LabelForm(labelName: String, color: String)
|
case class LabelForm(labelName: String, color: String)
|
||||||
|
|
||||||
val labelForm = mapping(
|
val newForm = mapping(
|
||||||
"newLabelName" -> trim(label("Label name", text(required, maxlength(100)))),
|
"newLabelName" -> trim(label("Label name", text(required, maxlength(100)))),
|
||||||
"newColor" -> trim(label("Color", text(required, maxlength(7))))
|
"newColor" -> trim(label("Color", text(required, maxlength(7))))
|
||||||
)(LabelForm.apply)
|
)(LabelForm.apply)
|
||||||
|
|
||||||
post("/:owner/:repository/issues/label/new", labelForm)(writableRepository { form =>
|
val editForm = mapping(
|
||||||
|
"editLabelName" -> trim(label("Label name", text(required, maxlength(100)))),
|
||||||
|
"editColor" -> trim(label("Color", text(required, maxlength(7))))
|
||||||
|
)(LabelForm.apply)
|
||||||
|
|
||||||
|
post("/:owner/:repository/issues/label/new", newForm)(writableRepository { form =>
|
||||||
val owner = params("owner")
|
val owner = params("owner")
|
||||||
val repository = params("repository")
|
val repository = params("repository")
|
||||||
|
|
||||||
@@ -37,4 +43,14 @@ trait LabelsControllerBase extends ControllerBase {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
post("/:owner/:repository/issues/label/:labelId/edit", editForm)(writableRepository { form =>
|
||||||
|
val owner = params("owner")
|
||||||
|
val repository = params("repository")
|
||||||
|
val labelId = params("labelId").toInt
|
||||||
|
|
||||||
|
// createLabel(owner, repository, form.labelName, form.color.substring(1))
|
||||||
|
//
|
||||||
|
Ok("label updated.")
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,9 @@
|
|||||||
@import context._
|
@import context._
|
||||||
@defining((if(label.isEmpty) ("new", 190, 4) else ("edit", 180, 8))){ case (mode, width, margin) =>
|
@defining((if(label.isEmpty) ("new", 190, 4) else ("edit", 180, 8))){ case (mode, width, margin) =>
|
||||||
<div id="@(mode)LabelForm">
|
<div id="@(mode)LabelForm">
|
||||||
<form method="POST" action="@path/@repository.owner/@repository.name/issues/label/@mode" validate="true" @if(mode == "edit"){ style="margin-bottom: 8px;"}>
|
<form method="POST"
|
||||||
|
action="@path/@repository.owner/@repository.name/issues/label/@{if(mode == "new") "new" else label.get.labelId + "/edit"}"
|
||||||
|
validate="true" @if(mode == "edit"){ style="margin-bottom: 8px;"}>
|
||||||
<span id="error-@(mode)LabelName" class="error"></span>
|
<span id="error-@(mode)LabelName" class="error"></span>
|
||||||
<input type="text" name="@(mode)LabelName" id="@(mode)LabelName" style="width: @(width)px; margin-left: @(margin)px; margin-bottom: 0px;" value="@label.map(_.labelName)"@if(mode == "new"){ placeholder="New label name"}/>
|
<input type="text" name="@(mode)LabelName" id="@(mode)LabelName" style="width: @(width)px; margin-left: @(margin)px; margin-bottom: 0px;" value="@label.map(_.labelName)"@if(mode == "new"){ placeholder="New label name"}/>
|
||||||
<span id="error-@(mode)Color" class="error"></span>
|
<span id="error-@(mode)Color" class="error"></span>
|
||||||
@@ -26,6 +28,10 @@
|
|||||||
$('#editLabelForm').click(function(e){
|
$('#editLabelForm').click(function(e){
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$.each($('form[validate=true]'), function(i, form){
|
||||||
|
$(form).submit(validate);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user