- Модуль: 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, ]; }