@** * Yona, 21st Century Project Hosting SW * * Copyright Yona & Yobi Authors & NAVER Corp. & NAVER LABS Corp. * https://yona.io **@ @import play.data.Form @import org.apache.commons.lang3.StringUtils @(title:String, issueForm: Form[Issue], project:Project, issueTemplate:String = "") @import helper._ @import scala.collection.mutable.Map @import models.enumeration.ResourceType @import models.enumeration.Operation @import utils.AccessControl._ @import utils.TemplateHelper._ @import controllers.UserApp @parentIssueId = @{ play.mvc.Http.Context.current().request().getQueryString("parentIssueId") } @commentId = @{ play.mvc.Http.Context.current().request().getQueryString("commentId") } @isFromGlobalMenuNew = @{ routes.IssueApp.newDirectIssueForm().toString().equals(requestHeader.path) || routes.IssueApp.newDirectMyIssueForm().toString().equals(requestHeader.path) } @projectLayout(Messages(title), project, utils.MenuType.ISSUE) { @projectMenu(project, utils.MenuType.ISSUE, "main-menu-only")
@form(action = routes.IssueApp.newIssue(project.owner, project.name), 'id -> "issue-form", 'enctype -> "multipart/form-data" ) {
@defining(issueForm.errors().get("title")) { errors =>
@Messages("issue.option")
@if(errors != null) {
@for(error <- errors) {
@Messages(error.message)
}
} @if(StringUtils.isNotEmpty(parentIssueId)) { @partial_select_subtask(project, Long.parseLong(parentIssueId), null) } else { @partial_select_subtask(project, null, null) } }
@if(StringUtils.isNotBlank(parentIssueId)) { @common.editor("body", "", "tabindex=2", "content-body") } else { @common.editor("body", issueTemplate, "tabindex=2", "content-body") }
@** fileUploader **@ @if(!UserApp.currentUser.isAnonymous) { @common.fileUploader(ResourceType.ISSUE_POST, null) } @** end of fileUploader **@
@Messages("button.cancel")
@if(isProjectResourceCreatable(UserApp.currentUser(), project, ResourceType.ISSUE_ASSIGNEE)) {
@Messages("issue.assignee")
@partial_assignee(project, null)
} @if(project.menuSetting.milestone && isProjectResourceCreatable(UserApp.currentUser(), project, ResourceType.ISSUE_MILESTONE)) {
@Messages("milestone")
@defining(Milestone.findOpenMilestones(project.id)) { milestones => @if(milestones.isEmpty()) { @Messages("milestone.menu.new") } else { } }
}
@Messages("issue.dueDate")
@partial_select_label(IssueLabel.findByProject(project), null, "issue-option", "data-close-on-select=false", project)
} @** end of form **@
@common.markdown(project) @common.select2() @common.calendar() }