diff --git a/module/task/model.php b/module/task/model.php index 0605a0af01..ca204e0083 100755 --- a/module/task/model.php +++ b/module/task/model.php @@ -1256,6 +1256,19 @@ class taskModel extends model $this->loadModel('feedback')->updateStatus('task', $oldTask->feedback, $task->status, $oldTask->status); if(in_array($task->status, array('done', 'closed'))) $this->loadModel('action')->create('feedback', $oldTask->feedback, 'processed', '', "task {$task->status}"); } + if(isset($oldTask->team)) + { + $users = $this->loadModel('user')->getPairs('noletter|noempty'); + $oldTeams = $oldTask->team; + $oldTask->team = ''; + foreach($oldTeams as $team) $oldTask->team .= "{$this->lang->task->teamMember}: " . zget($users, $team->account) . ", {$this->lang->task->estimateAB}: " . (float)$team->estimate . ", {$this->lang->task->consumedAB}: " . (float)$team->consumed . ", {$this->lang->task->leftAB}: " . (float)$team->left . "\n"; + $task->team = ''; + foreach($this->post->team as $i => $account) + { + if(empty($account)) continue; + $task->team .= "{$this->lang->task->teamMember}: " . zget($users, $account) . ", {$this->lang->task->estimateAB}: " . zget($this->post->teamEstimate, $i, 0) . ", {$this->lang->task->consumedAB}: " . zget($this->post->teamConsumed, $i, 0) . ", {$this->lang->task->leftAB}: " . zget($this->post->teamLeft, $i, 0) . "\n"; + } + } return common::createChanges($oldTask, $task); } @@ -2158,10 +2171,11 @@ class taskModel extends model ->setDefault('assignedTo', $oldTask->openedBy) ->setDefault('assignedDate', $now) ->setDefault('finishedBy', '') - ->setDefault('finishedDate', '0000-00-00') + ->setDefault('finishedDate', '0000-00-00 00:00:00') ->setDefault('canceledBy, lastEditedBy', $this->app->user->account) ->setDefault('canceledDate, lastEditedDate', $now) ->stripTags($this->config->task->editor->cancel['id'], $this->config->allowedTags) + ->setIF(empty($oldTask->finishedDate), 'finishedDate', '') ->remove('comment') ->get(); @@ -2222,12 +2236,15 @@ class taskModel extends model ->setDefault('left', 0) ->setDefault('status', 'doing') ->setDefault('finishedBy, canceledBy, closedBy, closedReason', '') - ->setDefault('finishedDate, canceledDate, closedDate', '0000-00-00') + ->setDefault('finishedDate, canceledDate, closedDate', '0000-00-00 00:00:00') ->setDefault('lastEditedBy', $this->app->user->account) ->setDefault('lastEditedDate', helper::now()) ->setDefault('assignedDate', helper::now()) ->setDefault('activatedDate', helper::now()) ->stripTags($this->config->task->editor->activate['id'], $this->config->allowedTags) + ->setIF(empty($oldTask->finishedDate), 'finishedDate', '') + ->setIF(empty($oldTask->canceledDate), 'canceledDate', '') + ->setIF(empty($oldTask->closedDate), 'closedDate', '') ->remove('comment,uid,multiple,team,teamEstimate,teamConsumed,teamLeft,teamSource') ->get();