FormTable::onBeforeUpdate

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. FormTable
  4. onBeforeUpdate
  • Модуль: 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;
}

Добавить комментарий