File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
@**
* Yona, 21st Century Project Hosting SW
*
* Copyright Yona & Yobi Authors & NAVER Corp.
* https://yona.io
**@
@(param:models.support.SearchCondition, project:Project)
@import utils.AccessControl._
<form id="search" name="search" action="@routes.IssueApp.issues(project.owner, project.name)" method="get">
<input type="hidden" name="orderBy" value="@param.orderBy">
<input type="hidden" name="orderDir" value="@param.orderDir">
<input type="hidden" name="state" value="@param.state">
<input type="hidden" name="commenterId" value="@param.commenterId" data-search="commenterId">
<hr class="hide-in-mobile">
<div class="search">
<div class="search-bar">
<input name="filter" class="textbox full" type="text" value="@param.filter" data-search="filter">
<button type="button" class="search-btn" data-submit="submit"><i class="yobicon-search"></i></button>
</div>
</div>
<div id="advanced-search-form" class="srch-advanced hide-in-mobile">
<dl class="issue-option">
<dt>@Messages("issue.author")</dt>
<dd>
<select id="authorId" name="authorId" data-search="authorId"
data-toggle="select2" data-format="user" data-container-css-class="fullsize">
<option value="">@Messages("common.order.all")</option>
@if(project.isProjectOrOrganizationUser(UserApp.currentUser())) {
<option value="@UserApp.currentUser().id">@Messages("issue.list.authoredByMe")</option>
}
@for(author <- User.findIssueAuthorsByProjectIdAndMe(UserApp.currentUser(), project.id)) {
<option value="@author.id"
@if(param.authorId != null && param.authorId == author.id) {
selected
}
data-avatar-url="@author.avatarUrl"
data-login-id="@author.loginId">
@author.name
</option>
}
</select>
</dd>
</dl>
<dl class="issue-option">
<dt>@Messages("issue.assignee")</dt>
<dd>
<select id="assigneeId" name="assigneeId" data-search="assigneeId"
data-toggle="select2" data-format="user" data-container-css-class="fullsize">
<option value="">@Messages("common.order.all")</option>
<option value="@User.anonymous.id" @if(param.assigneeId != null && param.assigneeId == User.anonymous.id){ selected }>@Messages("issue.noAssignee")</option>
@if(ProjectUser.isMember(UserApp.currentUser().id, project.id)){
<option value="@UserApp.currentUser().id">@Messages("issue.list.assignedToMe")</option>
}
@for(user <- User.findIssueAssigneeByProjectIdAndMe(UserApp.currentUser(), project.id)) {
<option value="@user.id"
@if(param.assigneeId != null
&& param.assigneeId == user.id){
selected
}
data-avatar-url="@user.avatarUrl"
data-login-id="@user.loginId">
@user.getDisplayName
</option>
}
</select>
</dd>
</dl>
@if(!Milestone.findByProjectId(project.id).isEmpty){
<dl class="issue-option">
<dt>@Messages("milestone")</dt>
<dd>
<select id="milestoneId" name="milestoneId" data-search="milestoneId"
data-toggle="select2" data-format="milestone" data-container-css-class="fullsize">
<option value="">@Messages("milestone.state.all")</option>
<option value="@Milestone.NULL_MILESTONE_ID"
@if(param.milestoneId != null && param.milestoneId == Milestone.NULL_MILESTONE_ID){
selected
}>
@Messages("issue.noMilestone")
</option>
<optgroup label="@Messages("milestone.state.open")">
@for(milestone <- Milestone.findOpenMilestones(project.id)){
<option value="@milestone.id" data-state="@milestone.state"
@if(param.milestoneId != null && param.milestoneId == milestone.id){
selected
}>
@milestone.title
</option>
}
</optgroup>
<optgroup label="@Messages("milestone.state.closed")">
@for(milestone <- Milestone.findClosedMilestones(project.id)){
<option value="@milestone.id" data-state="@milestone.state"
@if(param.milestoneId != null && param.milestoneId == milestone.id){
selected
}>
@milestone.title
</option>
}
</optgroup>
</select>
@if(param.milestoneId != null){
@defining(Milestone.findById(param.milestoneId)){ milestone =>
@if(milestone != null){
@views.html.milestone.partial_status(milestone, project)
<hr>
}
}
}
</dd>
</dl>
}
<dl class="issue-option">
<dt>@Messages("issue.dueDate")</dt>
<dd class="search search-bar">
<input id="issueDueDate" type="text" name="dueDate" class="textbox full" value="@param.getDueDateString" data-toggle="calendar">
<button type="button" class="search-btn btn-calendar"><i class="yobicon-calendar2"></i></button>
</dd>
</dl>
@defining(IssueLabel.findByProject(project)){ labels =>
<div class="labels-wrap">
@if(isProjectResourceCreatable(UserApp.currentUser, project, ResourceType.ISSUE_LABEL)){
<a href="@routes.IssueLabelApp.labelsForm(project.owner, project.name)" class="ybtn ybtn-default ybtn-mini pull-right">
<i class="yobicon-cog vmiddle"></i>
@if(labels.isEmpty){<span class="vmiddle" style="margin-left:2px;">@Messages("label.manage")</span>}
</a>
}
@partial_select_label(labels, param.labelIds, "issue-option", "", project)
</div>
}
</div>
</form>