- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/webform/internals/form.php
- Класс: Bitrix\Crm\WebForm\Internals\FormTable
- Вызов: FormTable::onBeforeUpdate
static function onBeforeUpdate(ORM\Event $event)
{
$fields = $event->getParameter('fields');
$result = new ORM\EventResult();
$data = $event->getParameters();
$formId = $data['primary']['ID'];
if(isset($fields['ENTITY_SCHEME']) && $fields['ENTITY_SCHEME'])
{
$fields['ENTITY_SCHEME'] = intval($fields['ENTITY_SCHEME']);
}
if(isset($fields['ACTIVE']) && $fields['ACTIVE'])
{
$oldData = static::getRowById($event->getParameter('id'));
if($oldData['ACTIVE'] != $fields['ACTIVE'])
{
$result->modifyFields(array('ACTIVE_CHANGE_DATE' => new DateTime()));
}
}
else
{
$result->unsetField('ACTIVE_CHANGE_BY');
}
if(isset($fields['CAPTION']))
{
$code = \CUtil::translit($fields['CAPTION'], Context::getCurrent()->getLanguage());
$code = str_replace(array('"', "'", '`'), array("", "", ""), $code);
$code = $formId . ($code ? '_' . $code : '');
$result->modifyFields(array('CODE' => $code));
}
return $result;
}