modify errors handler in register component
This commit is contained in:
parent
461129aed6
commit
2ec5514886
2 changed files with 12 additions and 6 deletions
|
@ -194,6 +194,7 @@ class EventsHandlers
|
|||
$arFields['ID'] = $arFields['USER_ID'];
|
||||
$optionsSitesList = RetailcrmConfigProvider::getSitesList();
|
||||
$api = new ApiClient(RetailcrmConfigProvider::getApiUrl(), RetailcrmConfigProvider::getApiKey());
|
||||
//TODO надо решить, что делать, если пользователь с таким externalID уже существует.
|
||||
RetailCrmUser::customerSend($arFields, $api, 'individual', true, $optionsSitesList);
|
||||
|
||||
//Если пользователь выразил желание зарегистрироваться в ПЛ и согласился со всеми правилами
|
||||
|
|
|
@ -226,7 +226,6 @@ class LoyaltyService
|
|||
];
|
||||
} else {
|
||||
//НЕТ. Обязательных незаполненных полей нет. Тогда пробуем активировать аккаунт
|
||||
|
||||
$activateResponse = $userService->activateLoyaltyAccount($userFields['UF_EXT_REG_PL_INTARO']);
|
||||
|
||||
if ($activateResponse !== null
|
||||
|
@ -274,18 +273,24 @@ class LoyaltyService
|
|||
$service = new UserAccountService();
|
||||
$createResponse = $service->createLoyaltyAccount($phone, $card, $customerId, $customFields);
|
||||
$service->activateLpUserInBitrix($createResponse, $userFields['ID']);
|
||||
|
||||
|
||||
if ($createResponse !== null
|
||||
&& $createResponse->success === false
|
||||
&& isset($createResponse->errorMsg)
|
||||
&& !empty($createResponse->errorMsg)
|
||||
) {
|
||||
$errorDetails = $createResponse->errors['loyalty'] ?? '';
|
||||
|
||||
if (isset($createResponse->errors) && is_array($createResponse->errors)) {
|
||||
$errorDetails = '';
|
||||
|
||||
foreach ($createResponse->errors as $error) {
|
||||
$errorDetails .= $error.' ';
|
||||
}
|
||||
}
|
||||
AddMessage2Log(GetMessage('REGISTER_ERROR') . ' ('.$createResponse->errorMsg.' '. $errorDetails .')');
|
||||
|
||||
$regInLp['msg'] = GetMessage('REGISTER_ERROR') . ' ('.$createResponse->errorMsg.' '. $errorDetails .')';
|
||||
}else{
|
||||
}elseif($createResponse->success === true){
|
||||
//Повторная регистрация оказалась удачной
|
||||
header("Refresh: 0");
|
||||
}
|
||||
}else{
|
||||
|
@ -299,7 +304,6 @@ class LoyaltyService
|
|||
];
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
//НЕТ. Отображаем форму на создание новой регистрации в ПЛ
|
||||
$regInLp['msg'] = GetMessage('INVITATION_TO_REGISTER');
|
||||
|
@ -311,6 +315,7 @@ class LoyaltyService
|
|||
'fields' => $this->getFields($userFields),
|
||||
];
|
||||
}
|
||||
|
||||
return $regInLp;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue