- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskitem.php
- Класс: CTaskItem
- Вызов: CTaskItem::postProcessRestRequest
static function postProcessRestRequest($methodName, $result, $parameters = array())
{
if(!is_array($parameters))
{
$parameters = array();
}
$originResult = $result;
if($methodName == 'getfiles')
{
$result = array('UF_TASK_WEBDAV_FILES' => $result);
// translate file UF values
$result = UserField::postProcessValues($result, array(
'FIELDS' => static::getEntityUserFields(),
'SERVER' => $parameters['SERVER']
));
$result = $result['UF_TASK_WEBDAV_FILES'];
}
if($methodName == 'addfile')
{
if(intval($result))
{
$result = array('UF_TASK_WEBDAV_FILES' => array($result));
// translate file UF values
$result = UserField::postProcessValues($result, array(
'FIELDS' => static::getEntityUserFields(),
'SERVER' => $parameters['SERVER']
));
if(isset($result['UF_TASK_WEBDAV_FILES'][0]))
{
$result = $result['UF_TASK_WEBDAV_FILES'][0];
}
else
{
return $originResult;
}
}
}
if($methodName == 'getdata')
{
// CTaskItem::getData() does not return tags, but we want them in rest
if(!empty($result) && intval($result['ID']))
{
$result['TAGS'] = array();
// at this point we know we already have access to this task, so no rights check needed. use simple get list here
$res = CTaskTags::GetList(array(), array('TASK_ID' => $result['ID']));
while($item = $res->fetch())
{
$result['TAGS'][] = $item['NAME'];
}
}
// translate file UF values
$result = UserField::postProcessValues($result, array(
'FIELDS' => static::getEntityUserFields(),
'SERVER' => $parameters['SERVER']
));
}
return $result;
}