Skip to content

Commit f28eed5

Browse files
author
markus-moser
committed
[DuplicatesIndex] make sure that found duplicates are removed when customer object is deleted - fixes #7
1 parent d9ba8e7 commit f28eed5

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/CustomerSaveManager/DefaultCustomerSaveManager.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use CustomerManagementFrameworkBundle\CustomerProvider\CustomerProviderInterface;
1919
use CustomerManagementFrameworkBundle\CustomerSaveHandler\CustomerSaveHandlerInterface;
2020
use CustomerManagementFrameworkBundle\CustomerSaveValidator\CustomerSaveValidatorInterface;
21+
use CustomerManagementFrameworkBundle\DuplicatesIndex\DuplicatesIndexInterface;
2122
use CustomerManagementFrameworkBundle\Model\CustomerInterface;
2223
use CustomerManagementFrameworkBundle\Newsletter\Queue\NewsletterQueueInterface;
2324
use CustomerManagementFrameworkBundle\SegmentManager\SegmentBuilderExecutor\SegmentBuilderExecutorInterface;
@@ -197,6 +198,12 @@ public function postDelete(CustomerInterface $customer)
197198
$this->addToDeletionsTable($customer);
198199

199200
$this->handleNewsletterQueue($customer, NewsletterQueueInterface::OPERATION_DELETE);
201+
202+
/**
203+
* @var DuplicatesIndexInterface $duplicatesIndex
204+
*/
205+
$duplicatesIndex = \Pimcore::getContainer()->get(DuplicatesIndexInterface::class);
206+
$duplicatesIndex->deleteCustomerFromDuplicateIndex($customer);
200207
}
201208

202209
public function validateOnSave(CustomerInterface $customer, $withDuplicatesCheck = true)

src/DuplicatesIndex/DefaultMariaDbDuplicatesIndex.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,12 @@ public function isRelevantForDuplicateIndex(CustomerInterface $customer)
135135

136136
public function deleteCustomerFromDuplicateIndex(CustomerInterface $customer)
137137
{
138+
if (!$this->enableDuplicatesIndex) {
139+
$this->getLogger()->debug('duplicate index disabled');
140+
141+
return;
142+
}
143+
138144
$db = Db::get();
139145
$db->query(
140146
sprintf('delete from %s where customer_id = ?', self::DUPLICATESINDEX_CUSTOMERS_TABLE),

0 commit comments

Comments
 (0)