* Let the front-end handle the logic.

This commit is contained in:
liuruogu
2025-12-31 08:59:22 +00:00
parent 293522c47a
commit 68bdb9f98b
2 changed files with 3 additions and 53 deletions
+1 -1
View File
@@ -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')
+2 -52
View File
@@ -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);