/** * Synchronize status for indexers * * @param State $state * @return State */ public function afterSave(State $state) { if (in_array($state->getIndexerId(), $this->indexerIds)) { $indexerId = $state->getIndexerId() === Product::INDEXER_ID ? Category::INDEXER_ID : Product::INDEXER_ID; $relatedIndexerState = $this->state->loadByIndexer($indexerId); if ($relatedIndexerState->getStatus() !== $state->getStatus()) { $relatedIndexerState->setData('status', $state->getStatus()); $relatedIndexerState->save(); } } return $state; }
/** * {@inheritdoc} */ public function getStatus() { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getStatus'); if (!$pluginInfo) { return parent::getStatus(); } else { return $this->___callPlugins('getStatus', func_get_args(), $pluginInfo); } }
/** * Synchronize status for indexers * * @param \Magento\Indexer\Model\Indexer\State $state * @return \Magento\Indexer\Model\Indexer\State */ public function afterSetStatus(\Magento\Indexer\Model\Indexer\State $state) { if (in_array($state->getIndexerId(), $this->indexerIds)) { $indexerId = $state->getIndexerId() == \Magento\Catalog\Model\Indexer\Category\Product::INDEXER_ID ? \Magento\Catalog\Model\Indexer\Product\Category::INDEXER_ID : \Magento\Catalog\Model\Indexer\Category\Product::INDEXER_ID; $relatedIndexerState = $this->state->loadByIndexer($indexerId); $relatedIndexerState->setData('status', $state->getStatus()); $relatedIndexerState->save(); } return $state; }
public function testSetStatus() { $setData = 'data'; $this->model->setStatus($setData); $this->assertEquals($setData, $this->model->getStatus()); }