Skip to content

Commit 55e23bc

Browse files
committed
MAGETWO-89238: [Sales email] Disabled invoice emails produce performance issue
1 parent 0d78e56 commit 55e23bc

File tree

4 files changed

+36
-19
lines changed

4 files changed

+36
-19
lines changed

app/code/Magento/Store/Model/Config/Importer/Processor/Delete.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,11 @@ private function deleteStores(array $items)
168168

169169
foreach ($items as $storeCode) {
170170
$store = $this->storeRepository->get($storeCode);
171-
$store->getResource()->delete($store);
172-
$store->getResource()->addCommitCallback(function () use ($store) {
173-
$this->eventManager->dispatch('store_delete', ['store' => $store]);
174-
});
171+
$store->delete();
172+
// $store->getResource()->delete($store);
173+
// $store->getResource()->addCommitCallback(function () use ($store) {
174+
// $this->eventManager->dispatch('store_delete', ['store' => $store]);
175+
// });
175176
}
176177
}
177178

app/code/Magento/Store/Model/Config/Importer/Processor/Update.php

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,11 @@ private function updateStores(array $items, array $data)
176176
$store->setGroup($group);
177177
}
178178

179-
$store->getResource()->save($store);
180-
$store->getResource()->addCommitCallback(function () use ($store) {
181-
$this->eventManager->dispatch('store_edit', ['store' => $store]);
182-
});
179+
$store->save();
180+
// $store->getResource()->save($store);
181+
// $store->getResource()->addCommitCallback(function () use ($store) {
182+
// $this->eventManager->dispatch('store_edit', ['store' => $store]);
183+
// });
183184
}
184185
}
185186

@@ -214,11 +215,11 @@ private function updateGroups(array $items, array $data)
214215
if ($website && $website->getId() != $group->getWebsiteId()) {
215216
$group->setWebsite($website);
216217
}
217-
218-
$group->getResource()->save($group);
219-
$group->getResource()->addCommitCallback(function () use ($group) {
220-
$this->eventManager->dispatch('store_group_save', ['group' => $group]);
221-
});
218+
$group->save();
219+
// $group->getResource()->save($group);
220+
// $group->getResource()->addCommitCallback(function () use ($group) {
221+
// $this->eventManager->dispatch('store_group_save', ['group' => $group]);
222+
// });
222223
}
223224
}
224225

app/code/Magento/Store/Model/Group.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -414,8 +414,12 @@ public function beforeDelete()
414414
*/
415415
public function afterDelete()
416416
{
417-
$result = parent::afterDelete();
418417
$this->_storeManager->reinitStores();
418+
$group = $this;
419+
$this->getResource()->addCommitCallback(function () use ($group) {
420+
$this->_storeManager->reinitStores();
421+
$this->eventManager->dispatch($this->_eventPrefix . '_delete', ['group' => $group]);
422+
});
419423

420424
if ($this->getId() === $this->getWebsite()->getDefaultGroupId()) {
421425
$ids = $this->getWebsite()->getGroupIds();
@@ -428,7 +432,7 @@ public function afterDelete()
428432
$this->getWebsite()->setDefaultGroupId($defaultId);
429433
$this->getWebsite()->save();
430434
}
431-
return $result;
435+
return parent::afterDelete();
432436
}
433437

434438
/**
@@ -437,8 +441,11 @@ public function afterDelete()
437441
public function afterSave()
438442
{
439443
$this->_storeManager->reinitStores();
440-
$this->eventManager->dispatch($this->_eventPrefix . '_save', ['group' => $this]);
441-
444+
$group = $this;
445+
$this->getResource()->addCommitCallback(function () use ($group) {
446+
$this->_storeManager->reinitStores();
447+
$this->eventManager->dispatch($this->_eventPrefix . '_save', ['group' => $group]);
448+
});
442449
return parent::afterSave();
443450
}
444451

app/code/Magento/Store/Model/Store.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,7 +1062,11 @@ public function afterSave()
10621062
} else {
10631063
$event = $this->_eventPrefix . '_edit';
10641064
}
1065-
$this->eventManager->dispatch($event, ['store' => $this]);
1065+
$store = $this;
1066+
$this->getResource()->addCommitCallback(function () use ($event, $store) {
1067+
$this->_storeManager->reinitStores();
1068+
$this->eventManager->dispatch($event, ['store' => $store]);
1069+
});
10661070
return parent::afterSave();
10671071
}
10681072

@@ -1258,7 +1262,11 @@ public function afterDelete()
12581262
$this->getGroup()->setDefaultStoreId($defaultId);
12591263
$this->getGroup()->save();
12601264
}
1261-
1265+
$store = $this;
1266+
$this->getResource()->addCommitCallback(function () use ($store) {
1267+
$this->_storeManager->reinitStores();
1268+
$this->eventManager->dispatch($this->_eventPrefix . '_delete', ['store' => $store]);
1269+
});
12621270
return $this;
12631271
}
12641272

0 commit comments

Comments
 (0)