- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/controller/form.php
- Класс: Bitrix\Crm\Controller\Form
- Вызов: Form::assignOpenlinesToFormAction
public function assignOpenlinesToFormAction(int $formId, int $lineId, string $assigned, string $afterMessage = 'N')
{
if (!$this->getFormAccess(true))
{
$this->addError(new Main\Error('Access denied.', self::ERROR_CODE_FORM_WRITE_ACCESS_DENIED));
return ['error' => ['status' => 'access denied', 'code' => self::ERROR_CODE_FORM_WRITE_ACCESS_DENIED]];
}
if ($this->shouldVerifyPhone() && !$this->isPhoneVerified($formId))
{
$this->addError(new Main\Error('Phone doesn\'t verified', self::ERROR_CODE_PHONE_NOT_VERIFIED, ['id' => $formId]));
return [];
}
if (!$this->getOpenlineModifyAccess($lineId))
{
$this->addError(new Main\Error('Access denied.', self::ERROR_CODE_OPENLINES_WRITE_ACCESS_DENIED, ['lineId' => $lineId]));
return ['error' => ['status' => 'access denied', 'code' => self::ERROR_CODE_OPENLINES_WRITE_ACCESS_DENIED, 'lineId' => $lineId]];
}
$isAssigned = $assigned === 'Y';
$isAfter = $afterMessage === 'Y';
$config = new \Bitrix\Imopenlines\Config();
$updateResult = $config->update($lineId, [
"USE_WELCOME_FORM" => $isAssigned ? 'Y' : 'N',
"WELCOME_FORM_ID" => $formId,
"WELCOME_FORM_DELAY" => $isAfter ? 'Y' : 'N', // 'Y' - after first message, 'N' - before
]);
$form = new WebForm\Form($formId);
if (! $updateResult->isSuccess())
{
$this->addErrors($updateResult->getErrors());
}
return [
'assigned' => $isAssigned,
'formId' => $formId,
'formName' => $form->getName(),
'lineId' => $lineId,
];
}