- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/timeline/waitcontroller.php
- Класс: Bitrix\Crm\Timeline\WaitController
- Вызов: WaitController::prepareScheduleDataModel
static function prepareScheduleDataModel(array $data, array $options = null)
{
if(!is_array($options))
{
$options = array();
}
$description = isset($data['DESCRIPTION']) ? $data['DESCRIPTION'] : '';
$data['DESCRIPTION_BBCODE'] = '';
$data['DESCRIPTION_HTML'] = preg_replace("/[\r\n]+/".BX_UTF_PCRE_MODIFIER, "
", htmlspecialcharsbx($description));
$data['DESCRIPTION_RAW'] = $description;
if(isset($data['END_TIME']))
{
$deadlineTimestamp = MakeTimeStamp($data['END_TIME']) - \CTimeZone::GetOffset();
$data['DEADLINE_SERVER'] = date(
'Y-m-d H:i:s',
$deadlineTimestamp
);
$sort = [$deadlineTimestamp, (int)$data['ID']];
}
else
{
$sort = [PHP_INT_MAX, (int)$data['ID']];
}
$ownerTypeID = isset($data['OWNER_TYPE_ID']) ? (int)$data['OWNER_TYPE_ID'] : 0;
$ownerID = isset($data['OWNER_ID']) ? (int)$data['OWNER_ID'] : 0;
$canUpdate = EntityAuthorization::checkUpdatePermission($ownerTypeID, $ownerID, self::getUsePermissions());
$data['PERMISSIONS'] = array(
'USER_ID' => self::getUserID(),
'POSTPONE' => $canUpdate,
'COMPLETE' => $canUpdate
);
$model = array(
'ASSOCIATED_ENTITY_TYPE_ID' => \CCrmOwnerType::Wait,
'ASSOCIATED_ENTITY_ID' => isset($data['ID']) ? (int)$data['ID'] : 0,
'ASSOCIATED_ENTITY' => $data,
'AUTHOR_ID' => isset($data['AUTHOR_ID']) ? (int)$data['AUTHOR_ID'] : 0,
'sort' => $sort,
);
if(isset($options['ENABLE_USER_INFO']) && $options['ENABLE_USER_INFO'] === true)
{
self::prepareAuthorInfo($model);
}
return $model;
}