(refs #488)Batch edit for pull requests

This commit is contained in:
Naoki Takezoe
2014-09-23 17:41:53 +09:00
parent bb63a8d14c
commit 5dffc2a64e
4 changed files with 34 additions and 27 deletions

View File

@@ -287,7 +287,10 @@ trait IssuesControllerBase extends ControllerBase {
private def executeBatch(repository: RepositoryService.RepositoryInfo)(execute: Int => Unit) = { private def executeBatch(repository: RepositoryService.RepositoryInfo)(execute: Int => Unit) = {
params("checked").split(',') map(_.toInt) foreach execute params("checked").split(',') map(_.toInt) foreach execute
redirect(s"/${repository.owner}/${repository.name}/issues") params("from") match {
case "issues" => redirect(s"/${repository.owner}/${repository.name}/issues")
case "pulls" => redirect(s"/${repository.owner}/${repository.name}/pulls")
}
} }
private def createReferComment(owner: String, repository: String, fromIssue: Issue, message: String) = { private def createReferComment(owner: String, repository: String, fromIssue: Issue, message: String) = {

View File

@@ -22,6 +22,7 @@
<form id="batcheditForm" method="POST"> <form id="batcheditForm" method="POST">
<input type="hidden" name="value"/> <input type="hidden" name="value"/>
<input type="hidden" name="checked"/> <input type="hidden" name="checked"/>
<input type="hidden" name="from" value="issues"/>
</form> </form>
} }
} }

View File

@@ -24,6 +24,7 @@
<form id="batcheditForm" method="POST"> <form id="batcheditForm" method="POST">
<input type="hidden" name="value"/> <input type="hidden" name="value"/>
<input type="hidden" name="checked"/> <input type="hidden" name="checked"/>
<input type="hidden" name="from" value="pulls"/>
</form> </form>
} }
} }

View File

@@ -96,35 +96,37 @@
</li> </li>
} }
</div> </div>
<div class="pull-right" id="table-issues-batchedit"> @if(hasWritePermission){
@helper.html.dropdown("Mark as", flat = true) { <div class="pull-right" id="table-issues-batchedit">
<li><a href="javascript:void(0);" class="toggle-state" data-id="open">Open</a></li> @helper.html.dropdown("Mark as", flat = true) {
<li><a href="javascript:void(0);" class="toggle-state" data-id="close">Close</a></li> <li><a href="javascript:void(0);" class="toggle-state" data-id="open">Open</a></li>
} <li><a href="javascript:void(0);" class="toggle-state" data-id="close">Close</a></li>
@helper.html.dropdown("Label", flat = true) {
@labels.map { label =>
<li>
<a href="javascript:void(0);" class="toggle-label" data-id="@label.labelId">
<i class="icon-white"></i>
<span class="label" style="background-color: #@label.color;">&nbsp;</span>
@label.labelName
</a>
</li>
} }
} @helper.html.dropdown("Label", flat = true) {
@helper.html.dropdown("Milestone", flat = true) { @labels.map { label =>
<li><a href="javascript:void(0);" class="toggle-milestone" data-id="">No milestone</a></li> <li>
@milestones.filter(_.closedDate.isEmpty).map { milestone => <a href="javascript:void(0);" class="toggle-label" data-id="@label.labelId">
<li><a href="javascript:void(0);" class="toggle-milestone" data-id="@milestone.milestoneId">@milestone.title</a></li> <i class="icon-white"></i>
<span class="label" style="background-color: #@label.color;">&nbsp;</span>
@label.labelName
</a>
</li>
}
} }
} @helper.html.dropdown("Milestone", flat = true) {
@helper.html.dropdown("Assignee", flat = true) { <li><a href="javascript:void(0);" class="toggle-milestone" data-id="">No milestone</a></li>
<li><a href="javascript:void(0);" class="toggle-assign" data-name=""><i class="icon-remove-circle"></i> Clear assignee</a></li> @milestones.filter(_.closedDate.isEmpty).map { milestone =>
@collaborators.map { collaborator => <li><a href="javascript:void(0);" class="toggle-milestone" data-id="@milestone.milestoneId">@milestone.title</a></li>
<li><a href="javascript:void(0);" class="toggle-assign" data-name="@collaborator"><i class="icon-white"></i>@avatar(collaborator, 20) @collaborator</a></li> }
} }
} @helper.html.dropdown("Assignee", flat = true) {
</div> <li><a href="javascript:void(0);" class="toggle-assign" data-name=""><i class="icon-remove-circle"></i> Clear assignee</a></li>
@collaborators.map { collaborator =>
<li><a href="javascript:void(0);" class="toggle-assign" data-name="@collaborator"><i class="icon-white"></i>@avatar(collaborator, 20) @collaborator</a></li>
}
}
</div>
}
</th> </th>
</tr> </tr>
@if(issues.isEmpty){ @if(issues.isEmpty){