From cd6b5caa6137e7dbf3fc09debb2ee350ebbcc0b8 Mon Sep 17 00:00:00 2001 From: sgm0422 <976204163@qq.com> Date: Tue, 21 Jul 2020 14:35:48 +0800 Subject: [PATCH] * Finish task #1160. --- module/todo/control.php | 14 ++++++++++++++ module/todo/js/view.js | 35 +++++++++++++++++++++++++--------- module/todo/view/view.html.php | 6 ++++-- 3 files changed, 44 insertions(+), 11 deletions(-) diff --git a/module/todo/control.php b/module/todo/control.php index 0a8d4162f8..9f0da0d304 100644 --- a/module/todo/control.php +++ b/module/todo/control.php @@ -553,6 +553,20 @@ class todo extends control $this->display(); } + /** + * AJAX: get program id. + * + * @param int $objectID + * @param varchar $objectType + * @access public + * @return void + */ + public function ajaxGetProgramID($objectID, $objectType) + { + $table = $objectType == 'project' ? TABLE_PROJECT : TABLE_PRODUCT; + die($this->dao->select('program')->from($table)->where('id')->eq($objectID)->fetch('program')); + } + /** * Create cycle. * diff --git a/module/todo/js/view.js b/module/todo/js/view.js index 3cb4211edc..4181382b07 100644 --- a/module/todo/js/view.js +++ b/module/todo/js/view.js @@ -15,38 +15,37 @@ $(function() $('#toTaskButton').click(function() { var onlybody = config.onlybody; - config.onlybody = 'no'; + var programID = $('#projectProgram').val(); var projectID = $(this).closest('.input-group').find('#project').val(); - var link = createLink('task', 'create', 'projectID=' + projectID + '&storyID=0&moduleID=0&taskID=0&todoID=' + todoID); + var link = createLink('task', 'create', 'projectID=' + projectID + '&storyID=0&moduleID=0&taskID=0&todoID=' + todoID, config.defaultView, 'no', programID); - config.onlybody = onlybody; parent.location.href = link; }) $('#toStoryButton').click(function() { var onlybody = config.onlybody; - config.onlybody = 'no'; + var programID = $('#productProgram').val(); var productID = $(this).closest('.input-group').find('#product').val(); - var link = createLink('story', 'create', 'productID=' + productID + '&branch=0&moduleID=0&storyID=0&projectID=0&bugID=0&planID=0&todoID=' + todoID); + var link = createLink('story', 'create', 'productID=' + productID + '&branch=0&moduleID=0&storyID=0&projectID=0&bugID=0&planID=0&todoID=' + todoID, config.defaultView, 'no', programID); - config.onlybody = onlybody; parent.location.href = link; }) $('#toBugButton').click(function() { var onlybody = config.onlybody; - config.onlybody = 'no'; + var programID = $('#productProgram').val(); var productID = $(this).closest('.input-group').find('#product').val(); - var link = createLink('bug', 'create', 'productID=' + productID + '&branch=0&extras=todoID=' + todoID); + var link = createLink('bug', 'create', 'productID=' + productID + '&branch=0&extras=todoID=' + todoID, config.defaultView, 'no', programID); - config.onlybody = onlybody; parent.location.href = link; }) + + $('#project, $product').change(); }); function createProduct() @@ -70,3 +69,21 @@ function createProject() config.onlybody = onlybody; parent.location.href = link; } + +function getProgramByProject(projectID) +{ + link = createLink('todo', 'ajaxGetProgramID', "projectID=" + projectID + '&type=project'); + $.post(link, function(data) + { + $('#projectProgram').val(data); + }) +} + +function getProgramByProduct(productID) +{ + link = createLink('todo', 'ajaxGetProgramID', "productID=" + productID + '&type=product'); + $.post(link, function(data) + { + $('#productProgram').val(data); + }) +} diff --git a/module/todo/view/view.html.php b/module/todo/view/view.html.php index 4685a6e576..be65c330b6 100644 --- a/module/todo/view/view.html.php +++ b/module/todo/view/view.html.php @@ -187,8 +187,9 @@