diff --git a/api/v1/entries/task.php b/api/v1/entries/task.php index 01e11f1130..7147d07120 100644 --- a/api/v1/entries/task.php +++ b/api/v1/entries/task.php @@ -107,7 +107,7 @@ class taskEntry extends entry $oldTask = $this->loadModel('task')->getByID($taskID); /* Set $_POST variables. */ - $fields = 'name,type,mode,desc,assignedTo,pri,estimate,left,consumed,story,parent,execution,module,closedReason,status,estStarted,deadline,team,teamEstimate,teamConsumed,teamLeft,multiple,mailto,uid'; + $fields = 'name,type,mode,desc,assignedTo,pri,estimate,left,consumed,story,parent,execution,module,closedReason,status,estStarted,deadline,team,teamEstimate,teamConsumed,teamLeft,multiple,mailto,uid,teamSource,team,teamEstimate,teamConsumed,teamLeft'; $this->batchSetPost($fields, $oldTask); if($_POST['status'] == 'done') diff --git a/api/v1/entries/taskactive.php b/api/v1/entries/taskactive.php index c4cdcaab3b..6093dea8a2 100644 --- a/api/v1/entries/taskactive.php +++ b/api/v1/entries/taskactive.php @@ -22,58 +22,8 @@ class taskActiveEntry extends entry { $control = $this->loadController('task', 'activate'); - $assignedTo = $this->request('assignedTo'); - $comment = $this->request('comment'); - - if(is_array($assignedTo)) - { - $task = $this->loadModel('task')->getByID($taskID); - $teamEstimate = $this->request('teamEstimate', array()); - $oldTeam = $this->dao->select('*')->from(TABLE_TASKTEAM)->where('task')->eq($taskID)->orderBy('order')->fetchAll('account'); - - /* 构建旧团队 */ - $teamSource = array(); - foreach($oldTeam as $member) - { - $teamSource[] = $member->account; - } - - /* 根据新传入的数据重新设置团队 */ - $team = array(); - $teamConsumed = array(); - $teamLeft = array(); - - foreach($assignedTo as $index => $account) - { - $team[] = $account; - $teamConsumed[] = $oldTeam[$account]->consumed ?? 0; - $teamLeft[] = $oldTeam[$account]->left ?? $teamEstimate[$index] ?? 0; - } - - /* 根据预计剩余工时计算团队剩余工时 */ - $left = 0; - foreach($teamEstimate as $estimate) - { - $left += $estimate; - } - - $this->setPost('team', $team); - $this->setPost('teamConsumed', $teamConsumed); - $this->setPost('teamSource', $teamSource); - $this->setPost('teamEstimate', $teamEstimate); - $this->setPost('teamLeft', $teamLeft); - $this->setPost('left', $left); - $this->setPost('mode', $task->mode); - $this->setPost('multiple', 'on'); - } - else - { - $left = $this->request('left'); - - $this->setPost('assignedTo', $assignedTo); - $this->setPost('left', $left); - } - $this->setPost('comment', $comment); + $fields = 'assignedTo,team,teamSource,teamEstimate,teamConsumed,teamLeft,left,mode,multiple,comment'; + $this->batchSetPost($fields); $control->activate($taskID);