From 7004af89d90c784396e6a73fb730e56a31d538c4 Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Mon, 18 Mar 2019 15:48:30 +0800 Subject: [PATCH] * Finish task #5327. --- module/task/lang/en.php | 1 + module/task/lang/zh-cn.php | 1 + module/task/model.php | 9 ++++++++- module/task/view/edit.html.php | 6 ++++++ module/testtask/control.php | 3 ++- 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/module/task/lang/en.php b/module/task/lang/en.php index 66ad02f76b..7e346bb27d 100644 --- a/module/task/lang/en.php +++ b/module/task/lang/en.php @@ -106,6 +106,7 @@ $lang->task->team = 'Team'; $lang->task->transfer = 'Transfer'; $lang->task->transferTo = 'Transfer To'; $lang->task->children = 'Child Task'; +$lang->task->unlinkParent = 'Unlink Parent'; $lang->task->childrenAB = 'Child'; $lang->task->parent = 'Parent Task'; $lang->task->parentAB = 'Parent Task'; diff --git a/module/task/lang/zh-cn.php b/module/task/lang/zh-cn.php index 3f6da571f9..324c6aba9d 100644 --- a/module/task/lang/zh-cn.php +++ b/module/task/lang/zh-cn.php @@ -106,6 +106,7 @@ $lang->task->team = '团队'; $lang->task->transfer = '转交'; $lang->task->transferTo = '转交给'; $lang->task->children = '子任务'; +$lang->task->unlinkParent = '取消子任务'; $lang->task->childrenAB = '子'; $lang->task->parent = '父任务'; $lang->task->parentAB = '父'; diff --git a/module/task/model.php b/module/task/model.php index 9fbad06ba0..c67c12a8b6 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -617,12 +617,13 @@ class taskModel extends model ->setIF($this->post->assignedTo != $oldTask->assignedTo, 'assignedDate', $now) ->setIF($this->post->status == 'wait' and $this->post->left == $oldTask->left and $this->post->consumed == 0 and $this->post->estimate, 'left', $this->post->estimate) + ->setIF(isset($_POST['unlinkParent']), 'parent', 0) ->setDefault('lastEditedBy', $this->app->user->account) ->add('lastEditedDate', $now) ->stripTags($this->config->task->editor->edit['id'], $this->config->allowedTags) ->join('mailto', ',') - ->remove('comment,files,labels,uid,multiple,team,teamEstimate,teamConsumed,teamLeft,contactListMenu') + ->remove('comment,files,labels,uid,multiple,team,teamEstimate,teamConsumed,teamLeft,contactListMenu,unlinkParent') ->get(); if($task->consumed < $oldTask->consumed) die(js::error($this->lang->task->error->consumedSmall)); @@ -698,6 +699,7 @@ class taskModel extends model if($oldTask->parent > 0) { + if($task->parent == 0) $this->computeWorkingHours($oldTask->parent); $this->updateParentStatus($taskID); $this->computeBeginAndEnd($oldTask->parent); } @@ -1652,6 +1654,11 @@ class taskModel extends model ->andWhere('project')->eq($projectID) ->fetchPairs(); + foreach($tasks as $id => $name) + { + $taskTeam = $this->dao->select('*')->from(TABLE_TEAM)->where('root')->eq($id)->andWhere('type')->eq('task')->fetch(); + if(!empty($taskTeam)) unset($tasks[$id]); + } return array('' => '') + $tasks ; } diff --git a/module/task/view/edit.html.php b/module/task/view/edit.html.php index 031f97f5e3..b588ea1f19 100644 --- a/module/task/view/edit.html.php +++ b/module/task/view/edit.html.php @@ -109,6 +109,12 @@ parent, "class='form-control chosen'");?> + parent > 0):?> + + task->unlinkParent;?> + + + task->assignedTo;?> assignedTo, "class='form-control chosen'");?> diff --git a/module/testtask/control.php b/module/testtask/control.php index ca2336527a..9fb853c21c 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -832,7 +832,8 @@ class testtask extends control $caseResult = $this->testtask->createResult($runID); if(dao::isError()) die(js::error(dao::getError())); - if($caseResult == 'fail') { + if($caseResult == 'fail') + { $response['result'] = 'success'; $response['locate'] = $this->createLink('testtask', 'results',"runID=$runID&caseID=$caseID&version=$version");