* code for task #44940,44941,44942,44943,44944,44945.
This commit is contained in:
+65
-4
@@ -26,12 +26,73 @@ class taskEntry extends Entry
|
||||
$data = $this->getData();
|
||||
|
||||
if(!$data or !isset($data->status)) return $this->send400('error');
|
||||
if(isset($data->status) and $data->status == 'fail')
|
||||
{
|
||||
return isset($data->code) and $data->code == 404 ? $this->send404() : $this->sendError(400, $data->message);
|
||||
}
|
||||
if(isset($data->status) and $data->status == 'fail') return isset($data->code) and $data->code == 404 ? $this->send404() : $this->sendError(400, $data->message);
|
||||
|
||||
$task = $data->data->task;
|
||||
|
||||
if(!empty($task->children)) $task->children = array_values((array)$task->children);
|
||||
if($task->parent > 0) $task->parentPri = $this->dao->select('pri')->from(TABLE_TASK)->where('id')->eq($task->parent)->fetch('pri');
|
||||
|
||||
/* Set execution name */
|
||||
$task->executionName = $data->data->execution->name;
|
||||
|
||||
/* Set module title */
|
||||
$moduleTitle = '';
|
||||
if($task->module)
|
||||
{
|
||||
$modulePath = $data->data->modulePath;
|
||||
foreach($modulePath as $key => $module)
|
||||
{
|
||||
$moduleTitle .= $module->name;
|
||||
if(isset($modulePath[$key + 1])) $moduleTitle .= '/';
|
||||
}
|
||||
}
|
||||
$task->moduleTitle = $moduleTitle;
|
||||
|
||||
/* Format user for api. */
|
||||
if($task->openedBy) $task->openedBy = $this->formatUser($task->openedBy, $data->data->users);
|
||||
if($task->finishedBy) $task->finishedBy = $this->formatUser($task->finishedBy, $data->data->users);
|
||||
if($task->canceledBy) $task->canceledBy = $this->formatUser($task->canceledBy, $data->data->users);
|
||||
if($task->closedBy) $task->closedBy = $this->formatUser($task->closedBy, $data->data->users);
|
||||
if($task->lastEditedBy) $task->lastEditedBy = $this->formatUser($task->lastEditedBy, $data->data->users);
|
||||
|
||||
$mailto = array();
|
||||
if($task->mailto)
|
||||
{
|
||||
foreach(explode(',', $task->mailto) as $account)
|
||||
{
|
||||
if(empty($account)) continue;
|
||||
$mailto[] = $this->formatUser($account, $data->data->users);
|
||||
}
|
||||
}
|
||||
$task->mailto = $mailto;
|
||||
|
||||
$queryAccounts = array();
|
||||
if($task->assignedTo) $queryAccounts[$task->assignedTo] = $task->assignedTo;
|
||||
if(!empty($task->team))
|
||||
{
|
||||
foreach($task->team as $account => $team) $queryAccounts[$account] = $account;
|
||||
}
|
||||
$usersWithAvatar = $this->loadModel('user')->getListByAccounts($queryAccounts, 'account');
|
||||
|
||||
$task->assignedTo = zget($usersWithAvatar, $task->assignedTo, '');
|
||||
if(!empty($task->team))
|
||||
{
|
||||
$teams = array();
|
||||
foreach($task->team as $account => $team)
|
||||
{
|
||||
$user = zget($usersWithAvatar, $account, '');
|
||||
$team->realname = $user ? $user->realname : $account;
|
||||
$team->avatar = $user ? $user->avatar : '';
|
||||
$team->progress = (empty($team->consumed) and empty($team->left)) ? 0 : round($team->consumed / ($team->consumed + $team->left) * 100, 1);
|
||||
|
||||
$teams[] = $team;
|
||||
}
|
||||
$task->team = $teams;
|
||||
}
|
||||
|
||||
$task->actions = $this->loadModel('action')->processActionForAPI($data->data->actions, $data->data->users, $this->lang->task);
|
||||
|
||||
$this->send(200, $this->format($task, 'openedDate:time,assignedDate:time,realStarted:time,finishedDate:time,canceledDate:time,closedDate:time,lastEditedDate:time,deleted:bool'));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user