- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Service/WebForm/WebFormScenarioService.php
- Класс: Bitrix\Crm\Service\WebForm\WebFormScenarioService
- Вызов: WebFormScenarioService::prepareCallbackScenario
private function prepareCallbackScenario(BaseScenario $baseScenario): BaseScenario
{
$callbackMode = !empty(\Bitrix\Crm\WebForm\Callback::getPhoneNumbers());
$optionBuilder = (new ScenarioOptionBuilder())
->addAgreements(true)
->addCaptcha(true)
->addCallbackMode($callbackMode)
->setButtonCaption(Loc::getMessage('CRM_SERVICE_FORM_SCENARIO_CALLBACK_BUTTON'))
->addRecaptcha()
->addResult(
Loc::getMessage('CRM_SERVICE_FORM_SCENARIO_CALLBACK_SUCCESS_TEXT'),
Loc::getMessage('CRM_SERVICE_FORM_SCENARIO_CALLBACK_FAILURE_TEXT'),
)
->addFields([
['name' => 'CONTACT_PHONE', 'required'=> true],
])
->addDocumentScheme(Entity::ENUM_ENTITY_SCHEME_DEAL);
$this->prepareDealAndResponsibilitiesConfiguration($optionBuilder, false);
return $baseScenario->setCategory(ScenarioCategory::CRM)
->setMenuItems([
ScenarioMenuItem::FIELDS['id'],
ScenarioMenuItem::AGREEMENTS['id'],
ScenarioMenuItem::BUTTON_AND_HEADER['id'],
ScenarioMenuItem::CRM['id'],
ScenarioMenuItem::CALLBACK['id'],
ScenarioMenuItem::DESIGN['id'],
ScenarioMenuItem::OTHER['id'],
])
->setDefaultSection(ScenarioMenuItem::CALLBACK['id'])
->setExpertModeMenuItems($this->getExpertModeDefaultItems())
->prepareBuilder($optionBuilder)
;
}