Commit 2f410a78 authored by Jean-Baptiste Oellers's avatar Jean-Baptiste Oellers
Browse files

Ajout de la suppression de la person lors d'un clic sur synchroniser sur la...

Ajout de la suppression de la person lors d'un clic sur synchroniser sur la fiche personne si elle n'est plus présente dans la source de données
parent f94e76aa
Loading
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -7,6 +7,8 @@ use Doctrine\ORM\NoResultException;
use Oscar\Entity\Person;
use Oscar\Entity\PersonRepository;
use Oscar\Exception\OscarException;
use Oscar\Exception\OscarNoResultException;
use Oscar\Service\PersonDeleteService;

class ConnectorPersonDB extends AbstractConnector
{
@@ -214,8 +216,15 @@ class ConnectorPersonDB extends AbstractConnector

            try {
                $row = $this->getAccessStrategy()->getDataSingle($personIdRemote, $this->mapParams());
            } catch (OscarNoResultException $e) {
                $msg = "Aucune données de correspondance pour la personne '$personIdRemote'. La personne va donc être supprimée de la BDD : " . $e->getMessage();
                $this->getLogger()->error($msg);

                $this->getServiceLocator()->get(PersonDeleteService::class)->delete($person->getId());

                throw new OscarException($msg);
            } catch (\Exception $e) {
                $msg = "Aucune données de correspondance pour la personne '$personIdRemote' : " . $e->getMessage();
                $msg = "Erreur technique lors de l'interrogation de la base de données de correspondance pour la personne '$personIdRemote' : " . $e->getMessage();
                $this->getLogger()->error($msg);
                throw new OscarException($msg);
            }