-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathStatus.php
executable file
·66 lines (60 loc) · 2.4 KB
/
Status.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
namespace Wizzy\Search\Block\Adminhtml\Sync;
use Magento\Backend\Block\Template\Context;
use \Magento\Framework\Registry;
use Wizzy\Search\Services\Model\EntitiesSync;
use Magento\Store\Model\StoreManagerInterface;
use Wizzy\Search\Services\Store\StoreManager;
use Magento\Framework\View\Element\Template;
use Wizzy\Search\Services\Model\SyncSkippedEntities;
class Status extends Template
{
protected $_template = 'sync/status.phtml';
public $syncSkippedEntities;
public function __construct(
EntitiesSync $entitiesSync,
Context $context,
Registry $registry,
StoreManagerInterface $storeManager,
StoreManager $_storemanager,
SyncSkippedEntities $syncSkippedEntities,
array $data = []
) {
$this->entitiesSync = $entitiesSync;
$this->registry = $registry;
$this->storeManager = $storeManager;
$this->_storemanager = $_storemanager;
$this->syncSkippedEntities = $syncSkippedEntities;
parent::__construct($context, $data);
}
public function getSyncStatus()
{
$entityId = $this->registry->registry('current_product')->getId();
$storeId = $this->storeManager->getStore()->getId();
$storeIds = $this->_storemanager->getToSyncStoreIds($storeId);
$entitiesSyncStatus_ = [];
foreach ($storeIds as $storeId) {
$entitiesSyncStatus = $this->entitiesSync->getEntitiesSyncStatus($entityId, $storeId, 'product');
$skippedEntitiesData = $this->syncSkippedEntities->getSkippedEntityById($storeId, $entityId, 'product');
if ($entitiesSyncStatus) {
foreach ($entitiesSyncStatus as $entitySyncStatus) {
$entitiesSyncStatus_[] = [
"store_id" => $entitySyncStatus['store_id'],
"status" => $entitySyncStatus['status'],
"updated_at" => $entitySyncStatus['updated_at'],
"skipped_data" => ($skippedEntitiesData && !empty($skippedEntitiesData))
? $skippedEntitiesData
: null,
];
}
} else {
$entitiesSyncStatus_[] = [
"store_id" => $storeId,
"status" => -1,
"updated_at" => "-"
];
}
}
return $entitiesSyncStatus_;
}
}