From fe4a90ed97ccbe9b18b8d609e1c7e909bf3a1e9d Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Sun, 10 Sep 2023 14:00:35 +0300 Subject: [PATCH] ref --- .../FieldProcessing/EmailAddress/Saver.php | 17 +++++++------ .../FieldProcessing/PhoneNumber/Saver.php | 24 ++++++++----------- 2 files changed, 18 insertions(+), 23 deletions(-) diff --git a/application/Espo/Core/FieldProcessing/EmailAddress/Saver.php b/application/Espo/Core/FieldProcessing/EmailAddress/Saver.php index 4439a8f15b..033270ceab 100644 --- a/application/Espo/Core/FieldProcessing/EmailAddress/Saver.php +++ b/application/Espo/Core/FieldProcessing/EmailAddress/Saver.php @@ -416,9 +416,8 @@ class Saver implements SaverInterface if ($emailAddressOld) { $this->entityManager ->getRDBRepository($entity->getEntityType()) - ->unrelate($entity, 'emailAddresses', $emailAddressOld, [ - SaveOption::SKIP_HOOKS => true, - ]); + ->getRelation($entity, 'emailAddresses') + ->unrelate($emailAddressOld, [SaveOption::SKIP_HOOKS => true]); } } } @@ -490,15 +489,15 @@ class Saver implements SaverInterface $emailAddressOld = $this->getByAddress($emailAddressValueOld); if ($emailAddressOld) { - $entityRepository->unrelate($entity, 'emailAddresses', $emailAddressOld, [ - SaveOption::SKIP_HOOKS => true, - ]); + $entityRepository + ->getRelation($entity, 'emailAddresses') + ->unrelate($emailAddressOld, [SaveOption::SKIP_HOOKS => true]); } } - $entityRepository->relate($entity, 'emailAddresses', $emailAddressNew, null, [ - SaveOption::SKIP_HOOKS => true, - ]); + $entityRepository + ->getRelation($entity, 'emailAddresses') + ->relate($emailAddressNew, null, [SaveOption::SKIP_HOOKS => true]); if ($entity->has('emailAddressIsOptedOut')) { $this->markAddressOptedOut($emailAddressValue, (bool) $entity->get('emailAddressIsOptedOut')); diff --git a/application/Espo/Core/FieldProcessing/PhoneNumber/Saver.php b/application/Espo/Core/FieldProcessing/PhoneNumber/Saver.php index dd110538b3..fa5d1d779a 100644 --- a/application/Espo/Core/FieldProcessing/PhoneNumber/Saver.php +++ b/application/Espo/Core/FieldProcessing/PhoneNumber/Saver.php @@ -411,7 +411,7 @@ class Saver implements SaverInterface return; } - $phoneNumberValue = trim($entity->get('phoneNumber')); + $phoneNumberValue = trim($entity->get('phoneNumber') ?? ''); $entityRepository = $this->entityManager->getRDBRepository($entity->getEntityType()); @@ -425,8 +425,6 @@ class Saver implements SaverInterface ]) ->findOne(); - $isNewPhoneNumber = false; - if (!$phoneNumberNew) { $phoneNumberNew = $this->entityManager->getNewEntity(PhoneNumber::ENTITY_TYPE); @@ -446,8 +444,6 @@ class Saver implements SaverInterface $phoneNumberNew->set('type', $defaultType); $this->entityManager->saveEntity($phoneNumberNew); - - $isNewPhoneNumber = true; } $phoneNumberValueOld = $entity->getFetched('phoneNumber'); @@ -456,15 +452,15 @@ class Saver implements SaverInterface $phoneNumberOld = $this->getByNumber($phoneNumberValueOld); if ($phoneNumberOld) { - $entityRepository->unrelate($entity, 'phoneNumbers', $phoneNumberOld, [ - SaveOption::SKIP_HOOKS => true, - ]); + $entityRepository + ->getRelation($entity, 'phoneNumbers') + ->unrelate($phoneNumberOld, [SaveOption::SKIP_HOOKS => true]); } } - $entityRepository->relate($entity, 'phoneNumbers', $phoneNumberNew, null, [ - SaveOption::SKIP_HOOKS => true, - ]); + $entityRepository + ->getRelation($entity, 'phoneNumbers') + ->relate($phoneNumberNew, null, [SaveOption::SKIP_HOOKS => true]); if ($entity->has('phoneNumberIsOptedOut')) { $this->markNumberOptedOut($phoneNumberValue, (bool) $entity->get('phoneNumberIsOptedOut')); @@ -527,9 +523,9 @@ class Saver implements SaverInterface $phoneNumberOld = $this->getByNumber($phoneNumberValueOld); if ($phoneNumberOld) { - $entityRepository->unrelate($entity, 'phoneNumbers', $phoneNumberOld, [ - SaveOption::SKIP_HOOKS => true, - ]); + $entityRepository + ->getRelation($entity, 'phoneNumbers') + ->unrelate($phoneNumberOld, [SaveOption::SKIP_HOOKS => true]); } } }