- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/controller/userfieldconfig.php
- Класс: BitrixMainControllerUserFieldConfig
- Вызов: UserFieldConfig::updateAction
public function updateAction(string $moduleId, int $id, array $field, CRestServer $restServer = null): ?array
{
$access = $this->getAccess($moduleId, $restServer);
if (!$access)
{
return null;
}
if (!$access->canUpdate($id))
{
$this->addError($this->getUpdateAccessDeniedError());
return null;
}
$field = $this->prepareFields($field);
$userTypeEntity = new CUserTypeEntity();
$isUpdated = $userTypeEntity->Update($id, $field);
if ($isUpdated)
{
if ($field['USER_TYPE_ID'] === 'enumeration')
{
$this->updateEnums($id, (array)$field['ENUM'], (array)UserFieldTable::getFieldData($id)['ENUM']);
}
return [
'field' => $this->preparePublicData(UserFieldTable::getFieldData($id)),
];
}
$this->fillErrorsFromApplication();
if (!$this->getErrors())
{
$this->addError($this->getCommonError());
}
return null;
}