Authentification fix the NOCRM from the .env

This commit is contained in:
Jérémy Munsch 2021-12-01 16:00:05 +01:00
parent c951810538
commit ebeb72ee93
No known key found for this signature in database
GPG key ID: 55196BEE445F6049
2 changed files with 15 additions and 26 deletions

View file

@ -137,7 +137,13 @@ class AuthController extends Controller
try {
/** @var \LDC\LDCCRM\CrmApiV2 */
$crm = app('crmAPI');
$loginIsValid = $crm->login($request->email, $request->password);
// If login debug mode
if (config('app.debug') && config('crm.NOCRM')) {
$loginIsValid = true;
} else {
$loginIsValid = $crm->login($request->email, $request->password);
}
// ne devrait pas survenir, $crm->login throws ApiError::authFailed()
if (!$loginIsValid) {
@ -145,37 +151,19 @@ class AuthController extends Controller
return back()->withErrors("Email ou mot de passe incorrect.");
}
// Login
if (($loginIsValid and $customer) or (config('app.debug') && env('NOCRM'))) {
// Login un compte local existe
if ($customer) {
return $this->processLogin($customer, $request->remember);
}
// Si pas de compte local mais existe en CRM
try {
$crmCustomer = $crm->getCustomer($request->email);
$customer = $this->createLocalCustomer($crmCustomer);
} catch (CrmException | ApiErrorException $e) {
Utils::sendEmailErrorManually($e);
// Une erreur critique est survenue avec la CRM
return back()->withErrors('Une erreur est survenue, merci de réessayer ultérieurement.');
} catch (\Exception $e) {
// TODO remove this test
Utils::sendEmailErrorManually($e);
Utils::sendEmailErrorManually(new \Exception(sprintf(
'Reset pwd user hascode was request email %s null for %s,%s,%s,%s',
$request->email,
$crmCustomer->hashcode,
$crmCustomer->email,
$crmCustomer->city,
$crmCustomer->lastname
)));
return back()->withErrors('Une erreur est survenue, merci de réessayer ultérieurement.');
}
$crmCustomer = $crm->getCustomer($request->email);
$customer = $this->createLocalCustomer($crmCustomer);
return $this->processLogin($customer, $request->remember);
} catch (ApiErrorException $e) {
return $this->handleLoginApiErrorException($e, $request);
} catch (CrmException $e) {
} catch (CrmException | \Exception $e) {
Utils::sendEmailErrorManually($e);
// Une erreur critique est survenue avec la CRM
return back()->withErrors('Une erreur est survenue, merci de réessayer ultérieurement.');
@ -223,7 +211,8 @@ class AuthController extends Controller
le mail de confirmation. Un lien d\'activation vous a été renvoyé.')
);
default:
// une erreur non gérée
Utils::sendEmailErrorManually($e);
// une erreur non gérée
return back()->withErrors('Une erreur est survenue, merci de réessayer ultérieurement.');
}
}

View file

@ -5,5 +5,5 @@ return [
'endpoint' => env('CRM_ENDPOINT'),
'token' => env('CRM_TOKEN'),
'password' => env('CRM_PASSWORD'),
'NOCRM' => env('NOCRM')
];