Skip to content

Commit 6aae5b1

Browse files
committed
Merge remote-tracking branch 'origin/MAGETWO-51505-component-manager-workflow' into PR_Branch
2 parents 8a1f653 + 68bbe2c commit 6aae5b1

File tree

16 files changed

+963
-1832
lines changed

16 files changed

+963
-1832
lines changed

dev/tests/integration/testsuite/Magento/Setup/Model/UpdatePackagesCacheTest.php

Lines changed: 0 additions & 113 deletions
This file was deleted.

setup/pub/magento/setup/system-config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ angular.module('system-config', ['ngStorage'])
4141
$http.post('index.php/marketplace/save-auth-json', $scope.user)
4242
.success(function (data) {
4343
$scope.saveAuthJson.result = data;
44+
$scope.logout = false;
4445
if ($scope.saveAuthJson.result.success) {
4546
$scope.logout = false;
4647
$localStorage.isMarketplaceAuthorized = true;

setup/src/Magento/Setup/Controller/ComponentGrid.php

Lines changed: 28 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66

77
namespace Magento\Setup\Controller;
88

9-
use Magento\Setup\Model\DateTime\TimezoneProvider;
9+
use Magento\Setup\Model\ObjectManagerProvider;
10+
use Magento\Setup\Model\PackagesAuth;
11+
use Magento\Setup\Model\PackagesData;
1012

1113
/**
1214
* Controller for component grid tasks
13-
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
1415
*/
1516
class ComponentGrid extends \Zend\Mvc\Controller\AbstractActionController
1617
{
@@ -27,14 +28,9 @@ class ComponentGrid extends \Zend\Mvc\Controller\AbstractActionController
2728
private $packageInfo;
2829

2930
/**
30-
* @var \Magento\Setup\Model\MarketplaceManager
31+
* @var ObjectManagerProvider
3132
*/
32-
private $marketplaceManager;
33-
34-
/**
35-
* @var \Magento\Framework\Module\ModuleList
36-
*/
37-
private $enabledModuleList;
33+
private $objectManagerProvider;
3834

3935
/**
4036
* Full Module info
@@ -44,37 +40,31 @@ class ComponentGrid extends \Zend\Mvc\Controller\AbstractActionController
4440
private $fullModuleList;
4541

4642
/**
47-
* @var \Magento\Setup\Model\UpdatePackagesCache
43+
* @var PackagesData
4844
*/
49-
private $updatePackagesCache;
45+
private $packagesData;
5046

5147
/**
52-
* @var \Magento\Framework\Stdlib\DateTime\TimezoneInterface
48+
* @var PackagesAuth
5349
*/
54-
private $timezone;
50+
private $packagesAuth;
5551

5652
/**
5753
* @param \Magento\Framework\Composer\ComposerInformation $composerInformation
5854
* @param \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider
59-
* @param \Magento\Setup\Model\UpdatePackagesCache $updatePackagesCache
60-
* @param \Magento\Setup\Model\MarketplaceManager $marketplaceManager
61-
* @param TimezoneProvider $tzProvider
55+
* @param PackagesData $packagesData
56+
* @param PackagesAuth $packagesAuth
6257
*/
6358
public function __construct(
6459
\Magento\Framework\Composer\ComposerInformation $composerInformation,
6560
\Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider,
66-
\Magento\Setup\Model\UpdatePackagesCache $updatePackagesCache,
67-
\Magento\Setup\Model\MarketplaceManager $marketplaceManager,
68-
TimezoneProvider $tzProvider
61+
\Magento\Setup\Model\PackagesData $packagesData,
62+
\Magento\Setup\Model\PackagesAuth $packagesAuth
6963
) {
7064
$this->composerInformation = $composerInformation;
71-
$objectManager = $objectManagerProvider->get();
72-
$this->enabledModuleList = $objectManager->get('Magento\Framework\Module\ModuleList');
73-
$this->fullModuleList = $objectManager->get('Magento\Framework\Module\FullModuleList');
74-
$this->packageInfo = $objectManager->get('Magento\Framework\Module\PackageInfoFactory')->create();
75-
$this->marketplaceManager = $marketplaceManager;
76-
$this->updatePackagesCache = $updatePackagesCache;
77-
$this->timezone = $tzProvider->get();
65+
$this->objectManagerProvider = $objectManagerProvider;
66+
$this->packagesData = $packagesData;
67+
$this->packagesAuth = $packagesAuth;
7868
}
7969

8070
/**
@@ -94,11 +84,19 @@ public function indexAction()
9484
*
9585
* @return \Zend\View\Model\JsonModel
9686
* @throws \RuntimeException
97-
* @SuppressWarnings(PHPMD.NPathComplexity)
9887
*/
9988
public function componentsAction()
10089
{
101-
$lastSyncData = $this->updatePackagesCache->getPackagesForUpdate();
90+
$objectManager = $this->objectManagerProvider->get();
91+
$enabledModuleList = $objectManager->get('Magento\Framework\Module\ModuleList');
92+
$this->fullModuleList = $objectManager->get('Magento\Framework\Module\FullModuleList');
93+
$this->packageInfo = $objectManager->get('Magento\Framework\Module\PackageInfoFactory')->create();
94+
95+
$lastSyncData = [];
96+
$authDetails = $this->packagesAuth->getAuthJsonData();
97+
if ($authDetails) {
98+
$lastSyncData = $this->packagesData->syncPackagesData();
99+
}
102100
$components = $this->composerInformation->getInstalledMagentoPackages();
103101
$allModules = $this->getAllModules();
104102
$components = array_replace_recursive($components, $allModules);
@@ -121,7 +119,7 @@ public function componentsAction()
121119
}
122120
if ($component['type'] === \Magento\Framework\Composer\ComposerInformation::MODULE_PACKAGE_TYPE) {
123121
$components[$component['name']]['enable'] =
124-
$this->enabledModuleList->has($components[$component['name']]['moduleName']);
122+
$enabledModuleList->has($components[$component['name']]['moduleName']);
125123
$components[$component['name']]['disable'] = !$components[$component['name']]['enable'];
126124
} else {
127125
$components[$component['name']]['enable'] = false;
@@ -131,9 +129,6 @@ public function componentsAction()
131129
$components[$component['name']]['vendor'] = $componentNameParts[0];
132130
}
133131

134-
$packagesForInstall = $this->marketplaceManager->getPackagesForInstall();
135-
$lastSyncData = $this->formatLastSyncData($packagesForInstall, $lastSyncData);
136-
137132
return new \Zend\View\Model\JsonModel(
138133
[
139134
'success' => true,
@@ -152,15 +147,9 @@ public function componentsAction()
152147
public function syncAction()
153148
{
154149
$error = '';
155-
$packagesForInstall = [];
156150
$lastSyncData = [];
157151
try {
158-
$this->updatePackagesCache->syncPackagesForUpdate();
159-
$lastSyncData = $this->updatePackagesCache->getPackagesForUpdate();
160-
161-
$this->marketplaceManager->syncPackagesForInstall();
162-
$packagesForInstall = $this->marketplaceManager->getPackagesForInstall();
163-
$lastSyncData = $this->formatLastSyncData($packagesForInstall, $lastSyncData);
152+
$lastSyncData = $this->packagesData->syncPackagesData();
164153
} catch (\Exception $e) {
165154
$error = $e->getMessage();
166155
}
@@ -190,44 +179,4 @@ private function getAllModules()
190179
}
191180
return $modules;
192181
}
193-
194-
/**
195-
* Format the lastSyncData for use on frontend
196-
*
197-
* @param array $packagesForInstall
198-
* @param array $lastSyncData
199-
* @return mixed
200-
*/
201-
private function formatLastSyncData($packagesForInstall, $lastSyncData)
202-
{
203-
$lastSyncData['countOfInstall']
204-
= isset($packagesForInstall['packages']) ? count($packagesForInstall['packages']) : 0;
205-
$lastSyncData['countOfUpdate'] = isset($lastSyncData['packages']) ? count($lastSyncData['packages']) : 0;
206-
if (isset($lastSyncData['lastSyncDate'])) {
207-
$lastSyncData['lastSyncDate'] = $this->formatSyncDate($lastSyncData['lastSyncDate']);
208-
}
209-
return $lastSyncData;
210-
}
211-
212-
/**
213-
* Format a UTC timestamp (seconds since epoch) to structure expected by frontend
214-
*
215-
* @param string $syncDate seconds since epoch
216-
* @return array
217-
*/
218-
private function formatSyncDate($syncDate)
219-
{
220-
return [
221-
'date' => $this->timezone->formatDateTime(
222-
new \DateTime('@'.$syncDate),
223-
\IntlDateFormatter::MEDIUM,
224-
\IntlDateFormatter::NONE
225-
),
226-
'time' => $this->timezone->formatDateTime(
227-
new \DateTime('@'.$syncDate),
228-
\IntlDateFormatter::NONE,
229-
\IntlDateFormatter::MEDIUM
230-
),
231-
];
232-
}
233182
}

setup/src/Magento/Setup/Controller/InstallExtensionGrid.php

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,24 @@
99
use Zend\Mvc\Controller\AbstractActionController;
1010
use Zend\View\Model\JsonModel;
1111
use Zend\View\Model\ViewModel;
12-
use Magento\Setup\Model\MarketplaceManager;
12+
use Magento\Setup\Model\PackagesData;
1313

1414
/**
1515
* Controller for extensions grid tasks
1616
*/
1717
class InstallExtensionGrid extends AbstractActionController
1818
{
1919
/**
20-
* @var MarketplaceManager
20+
* @var PackagesData
2121
*/
22-
private $marketplaceManager;
22+
private $packagesData;
2323

2424
/**
25-
* @param MarketplaceManager $marketplaceManager
25+
* @param PackagesData $packagesData
2626
*/
27-
public function __construct(MarketplaceManager $marketplaceManager)
27+
public function __construct(PackagesData $packagesData)
2828
{
29-
$this->marketplaceManager = $marketplaceManager;
29+
$this->packagesData = $packagesData;
3030
}
3131

3232
/**
@@ -48,7 +48,7 @@ public function indexAction()
4848
*/
4949
public function extensionsAction()
5050
{
51-
$extensions = $this->getMarketplaceManager()->getPackagesForInstall();
51+
$extensions = $this->packagesData->getPackagesForInstall();
5252
$packages = isset($extensions['packages']) ? $extensions['packages'] : [];
5353
return new JsonModel(
5454
[
@@ -58,13 +58,4 @@ public function extensionsAction()
5858
]
5959
);
6060
}
61-
62-
/**
63-
* @return MarketplaceManager
64-
*/
65-
66-
public function getMarketplaceManager()
67-
{
68-
return $this->marketplaceManager;
69-
}
7061
}

0 commit comments

Comments
 (0)