diff --git a/module/task/model.php b/module/task/model.php index c9ccb6789d..1d679d7f32 100755 --- a/module/task/model.php +++ b/module/task/model.php @@ -3916,6 +3916,7 @@ class taskModel extends model /* If both of lane id and column id are not empty, add task to the kanban cell. */ if($laneID and $columnID) $this->kanban->addKanbanCell($kanbanID, $laneID, $columnID, 'task', $task->id); + /* If lane id or column id is empty, update the task type lane of the kanban. */ if(!$laneID or !$columnID) $this->kanban->updateLane($kanbanID, 'task'); } diff --git a/module/task/test/model/aftercreate.php b/module/task/test/model/aftercreate.php index da8c09b9b5..519b3fbb1b 100755 --- a/module/task/test/model/aftercreate.php +++ b/module/task/test/model/aftercreate.php @@ -60,8 +60,15 @@ $testTasks[3]->type = 'test'; $testTasks[3]->mailto = ''; $taskTester = new taskTest(); -r($taskTester->afterCreateTest(1, $taskIdList['test'], 1)) && p('toTask') && e('1'); // 测试Bug转任务后,更新Bug的信息 -r($taskTester->afterCreateTest(2, $taskIdList['todo'], 0, 1)) && p('status') && e('done'); // 测试待办转任务后,更新待办的信息 -r($taskTester->afterCreateTest(3, $taskIdList['design'])) && p('designVersion') && e('1'); // 测试任务关联设计后,更新任务中的designVersion字段 -r($taskTester->afterCreateTest(4, $taskIdList['story'])) && p('stage') && e('planned'); // 测试任务关联需求后,更新需求的阶段 -r($taskTester->afterCreateTest(1, $taskIdList['test'], 0, 0, $testTasks)) && p('parent') && e('-1'); // 测试任务创建子任务后,父任务的parent字段的值 +r($taskTester->afterCreateTest()) && p() && e('0'); // 测试空数据 +r($taskTester->afterCreateTest(0, $taskIdList['test'])) && p() && e('0'); // 测试taskID为空的情况 +r($taskTester->afterCreateTest(5, $taskIdList['test'])) && p() && e('0'); // 测试taskID不存在的情况 +r($taskTester->afterCreateTest(1)) && p('name') && e('测试任务1'); // 测试taskIdList为空的情况 +r($taskTester->afterCreateTest(1, array(), 1)) && p('title') && e('Bug1'); // 测试taskIdList为空,但是有BugID的情况 +r($taskTester->afterCreateTest(1, array(), 0, 1)) && p('name') && e('待办1'); // 测试taskIdList为空,但是有todoID的情况 +r($taskTester->afterCreateTest(1, array(), 0, 0, $testTasks)) && p('name') && e('测试任务1'); // 测试taskIdList为空,但是有testTasks的情况 +r($taskTester->afterCreateTest(1, $taskIdList['test'], 1)) && p('toTask') && e('1'); // 测试Bug转任务后,更新Bug的信息 +r($taskTester->afterCreateTest(2, $taskIdList['todo'], 0, 1)) && p('status') && e('done'); // 测试待办转任务后,更新待办的信息 +r($taskTester->afterCreateTest(3, $taskIdList['design'])) && p('designVersion') && e('1'); // 测试任务关联设计后,更新任务中的designVersion字段 +r($taskTester->afterCreateTest(4, $taskIdList['story'])) && p('stage') && e('planned'); // 测试任务关联需求后,更新需求的阶段 +r($taskTester->afterCreateTest(1, $taskIdList['test'], 0, 0, $testTasks)) && p('parent') && e('-1'); // 测试任务创建子任务后,父任务的parent字段的值 diff --git a/module/task/test/task.class.php b/module/task/test/task.class.php index 23e17935d4..5c05263afa 100644 --- a/module/task/test/task.class.php +++ b/module/task/test/task.class.php @@ -1763,15 +1763,18 @@ class taskTest * @param int $todoID * @param array $testTasks * @access public - * @return object + * @return object|bool */ - public function afterCreateTest($taskID, $taskIdList, $bugID = 0, $todoID = 0, $testTasks = array()) + public function afterCreateTest($taskID = 0, $taskIdList = array(), $bugID = 0, $todoID = 0, $testTasks = array()) { global $tester; $_SERVER['HTTP_HOST'] = $tester->config->db->host; $task = $this->objectModel->getByID($taskID); - $this->objectModel->afterCreate($task, $taskIdList, $bugID, $todoID, $testTasks); + if(!$task) return false; + + $result = $this->objectModel->afterCreate($task, $taskIdList, $bugID, $todoID, $testTasks); + if(!$result) return false; if($bugID) {