From b629b98ddcfa1937721e90206713bbc1912e0583 Mon Sep 17 00:00:00 2001 From: Suwon Chae Date: Sat, 4 Mar 2017 20:16:40 +0900 Subject: [PATCH] subtask: Make Subtak button & design --- app/assets/stylesheets/less/_page.less | 19 ++++++++++ app/assets/stylesheets/less/_responsive.less | 6 ++- app/controllers/IssueApp.java | 9 +++++ app/models/Issue.java | 4 ++ app/views/issue/create.scala.html | 37 ++++++------------- app/views/issue/edit.scala.html | 10 ++++- .../issue/partial_select_subtask.scala.html | 15 ++++---- public/javascripts/common/yona.Subtask.js | 10 +++++ 8 files changed, 74 insertions(+), 36 deletions(-) create mode 100644 public/javascripts/common/yona.Subtask.js diff --git a/app/assets/stylesheets/less/_page.less b/app/assets/stylesheets/less/_page.less index 4f179c7cb..3f7588384 100644 --- a/app/assets/stylesheets/less/_page.less +++ b/app/assets/stylesheets/less/_page.less @@ -6687,6 +6687,25 @@ div.diff-body[data-outdated="true"] tr:hover .icon-comment { color: #9e9e9e; } +.subtask-message { + font-size: 12px; + color: #9E9E9E; + line-height: 15px; + padding: 7px 0 5px 0; + border: 1px solid #ddd; + text-align: center; + max-width: 80px; + &:hover { + color: @primary; + cursor:pointer; + border: 1px solid @primary; + } +} + +.subtask-wrap { + display: none; +} + .infos, .parent-issue { .upload-progress { display: inline-block; diff --git a/app/assets/stylesheets/less/_responsive.less b/app/assets/stylesheets/less/_responsive.less index 60bee16ea..3475f92d8 100644 --- a/app/assets/stylesheets/less/_responsive.less +++ b/app/assets/stylesheets/less/_responsive.less @@ -434,6 +434,11 @@ } } } + + .subtask-message { + min-width: 50px; + margin-left: -40px; + } } @media all and (max-width:1199px){ @@ -536,7 +541,6 @@ .project-header-outer { max-width: 1199px; min-width: 1000px; - padding:0 10px; .project-header-inner { .project-header-wrap { diff --git a/app/controllers/IssueApp.java b/app/controllers/IssueApp.java index e9967cf3e..b368cf0ae 100644 --- a/app/controllers/IssueApp.java +++ b/app/controllers/IssueApp.java @@ -410,6 +410,15 @@ public static Result newIssue(String ownerName, String projectName) { } final Issue newIssue = issueForm.get(); + if(StringUtils.isNotEmpty(newIssue.targetProjectId)){ + Project toAnotherProject = Project.find.byId(Long.valueOf(newIssue.targetProjectId)); + if(toAnotherProject == null){ + flash(Constants.WARNING, Messages.get("error.notfound.project")); + return badRequest(create.render("title.newIssue", new Form<>(Issue.class), project, null)); + } else { + project = toAnotherProject; + } + } removeAnonymousAssignee(newIssue); if (newIssue.body == null) { diff --git a/app/models/Issue.java b/app/models/Issue.java index b26f0b600..91fc18377 100644 --- a/app/models/Issue.java +++ b/app/models/Issue.java @@ -28,6 +28,7 @@ import org.apache.shiro.util.CollectionUtils; import play.data.Form; import play.data.format.Formats; +import play.db.ebean.Model.Finder; import play.i18n.Messages; import utils.JodaDateUtil; @@ -95,6 +96,9 @@ public Issue(Project project, User author, String title, String body) { this.state = State.OPEN; } + @Transient + public String targetProjectId; + @Transient public String parentIssueId; diff --git a/app/views/issue/create.scala.html b/app/views/issue/create.scala.html index 0418cc4d0..de80e57cb 100644 --- a/app/views/issue/create.scala.html +++ b/app/views/issue/create.scala.html @@ -30,7 +30,12 @@
@defining(issueForm.errors().get("title")) { errors => - +
+
+ +
+
Options
+
@if(errors != null) {
@for(error <- errors) { @@ -38,30 +43,11 @@ }
} -
+ Sub task
-
-
- -
-
- -
-
+ @if(StringUtils.isNotEmpty(parentIssueId)) { + @partial_select_subtask(project, Long.parseLong(parentIssueId)) + } else { + @partial_select_subtask(project, null) + } }
@@ -149,6 +135,7 @@ + +