1
0
Fork 0
mirror of synced 2025-04-20 01:21:01 +00:00

modify errors handler in register component

This commit is contained in:
Sergey Chazov 2020-10-29 15:10:33 +03:00
parent 461129aed6
commit 2ec5514886
2 changed files with 12 additions and 6 deletions

View file

@ -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);
//Если пользователь выразил желание зарегистрироваться в ПЛ и согласился со всеми правилами

View file

@ -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;
}