Skip to content

Commit f97db4d

Browse files
committed
MAGETWO-55193: Extension Management with Marketplace data
- Fix static
1 parent 6bfc6c9 commit f97db4d

File tree

5 files changed

+47
-25
lines changed

5 files changed

+47
-25
lines changed

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

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,25 @@ public function extensionsAction()
6060
{
6161
$extensions = $this->packagesData->getPackagesForInstall();
6262
$packages = isset($extensions['packages']) ? $extensions['packages'] : [];
63+
$packages = $this->formatPackageList($packages);
64+
65+
return new JsonModel(
66+
[
67+
'success' => true,
68+
'extensions' => array_values($packages),
69+
'total' => count($packages)
70+
]
71+
);
72+
}
73+
74+
/**
75+
* Format package list
76+
*
77+
* @param array $packages
78+
* @return array
79+
*/
80+
private function formatPackageList(array $packages)
81+
{
6382
array_walk($packages, function (&$package) {
6483
$package['vendor'] = ucfirst($package['vendor']);
6584
$package['link'] = isset($package['extra']['x-magento-ext-package-link']) ?
@@ -70,12 +89,6 @@ public function extensionsAction()
7089
$package['extra']['x-magento-ext-type'] : $this->typeMapper->map($package['name'], $package['type']);
7190
});
7291

73-
return new JsonModel(
74-
[
75-
'success' => true,
76-
'extensions' => array_values($packages),
77-
'total' => count($packages)
78-
]
79-
);
92+
return $packages;
8093
}
8194
}

setup/src/Magento/Setup/Model/Grid/Module.php

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@
66
namespace Magento\Setup\Model\Grid;
77

88
use Magento\Framework\Composer\ComposerInformation;
9-
use Magento\Framework\Module\FullModuleList;
109
use Magento\Framework\Module\ModuleList;
1110
use Magento\Framework\Module\PackageInfoFactory;
12-
use Magento\Setup\Model\ObjectManagerProvider;
1311
use Magento\Setup\Model\PackagesData;
1412

1513
/**
@@ -36,14 +34,14 @@ class Module
3634
private $packageInfo;
3735

3836
/**
39-
* @var ObjectManagerProvider
37+
* @var \Magento\Setup\Model\ObjectManagerProvider
4038
*/
4139
private $objectManagerProvider;
4240

4341
/**
4442
* Full Module info
4543
*
46-
* @var FullModuleList
44+
* @var \Magento\Framework\Module\FullModuleList
4745
*/
4846
private $fullModuleList;
4947

@@ -66,17 +64,17 @@ class Module
6664

6765
/**
6866
* @param ComposerInformation $composerInformation
69-
* @param FullModuleList $fullModuleList
67+
* @param \Magento\Framework\Module\FullModuleList $fullModuleList
7068
* @param ModuleList $moduleList
71-
* @param ObjectManagerProvider $objectManagerProvider
69+
* @param \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider
7270
* @param TypeMapper $typeMapper
7371
* @param PackagesData $packagesData
7472
*/
7573
public function __construct(
7674
ComposerInformation $composerInformation,
77-
FullModuleList $fullModuleList,
75+
\Magento\Framework\Module\FullModuleList $fullModuleList,
7876
ModuleList $moduleList,
79-
ObjectManagerProvider $objectManagerProvider,
77+
\Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider,
8078
TypeMapper $typeMapper,
8179
PackagesData $packagesData
8280
) {
@@ -189,17 +187,30 @@ private function addGeneralInfo(array $items)
189187
foreach ($items as &$item) {
190188
$item['moduleName'] = $item['moduleName'] ?: $this->packageInfo->getModuleName($item['name']);
191189
$item['enable'] = $this->moduleList->has($item['moduleName']);
192-
193190
$vendorSource = $item['name'] == self::UNKNOWN_PACKAGE_NAME ? $item['moduleName'] : $item['name'];
194191
$item['vendor'] = ucfirst(current(preg_split('%[/_]%', $vendorSource)));
192+
}
193+
$items = $this->addExtraInfo($items);
195194

195+
return array_values($items);
196+
}
197+
198+
/**
199+
* Add extra info to result array
200+
*
201+
* @param array $items
202+
* @return array
203+
*/
204+
private function addExtraInfo(array $items)
205+
{
206+
foreach ($items as &$item) {
196207
$extraInfo = $this->packagesData->getPackageExtraInfo($item['name'], $item['version']);
197208
$item['product_name'] = isset($extraInfo['x-magento-ext-title']) ?
198209
$extraInfo['x-magento-ext-title'] : $item['name'];
199210
$item['type'] = isset($extraInfo['x-magento-ext-type']) ? $extraInfo['x-magento-ext-type'] :
200211
$this->typeMapper->map($item['name'], ComposerInformation::MODULE_PACKAGE_TYPE);
201212
}
202213

203-
return array_values($items);
214+
return $items;
204215
}
205216
}

setup/src/Magento/Setup/Model/PackagesData.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
*/
66
namespace Magento\Setup\Model;
77

8-
use Magento\Framework\Composer\ComposerInformation;
9-
108
/**
119
* Class PackagesData returns system packages and available for update versions
1210
*/
@@ -22,7 +20,7 @@ class PackagesData
2220
/**#@-*/
2321

2422
/**
25-
* @var ComposerInformation
23+
* @var \Magento\Framework\Composer\ComposerInformation
2624
*/
2725
private $composerInformation;
2826

@@ -64,14 +62,14 @@ class PackagesData
6462
/**
6563
* PackagesData constructor.
6664
*
67-
* @param ComposerInformation $composerInformation,
65+
* @param \Magento\Framework\Composer\ComposerInformation $composerInformation,
6866
* @param \Magento\Setup\Model\DateTime\TimeZoneProvider $timeZoneProvider,
6967
* @param \Magento\Setup\Model\PackagesAuth $packagesAuth,
7068
* @param \Magento\Framework\Filesystem $filesystem,
7169
* @param \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider
7270
*/
7371
public function __construct(
74-
ComposerInformation $composerInformation,
72+
\Magento\Framework\Composer\ComposerInformation $composerInformation,
7573
\Magento\Setup\Model\DateTime\TimeZoneProvider $timeZoneProvider,
7674
\Magento\Setup\Model\PackagesAuth $packagesAuth,
7775
\Magento\Framework\Filesystem $filesystem,
@@ -376,7 +374,7 @@ private function getMetaPackageForPackage($packages)
376374
{
377375
$result = [];
378376
foreach ($packages as $package) {
379-
if ($package['type'] == ComposerInformation::METAPACKAGE_PACKAGE_TYPE) {
377+
if ($package['type'] == \Magento\Framework\Composer\ComposerInformation::METAPACKAGE_PACKAGE_TYPE) {
380378
if (isset($package['require'])) {
381379
foreach ($package['require'] as $key => $requirePackage) {
382380
$result[$key] = $package['name'];
@@ -400,7 +398,7 @@ public function getMetaPackagesMap()
400398
$packages = $this->getPackagesJson();
401399
array_walk($packages, function ($packageVersions) {
402400
$package = array_shift($packageVersions);
403-
if ($package['type'] == ComposerInformation::METAPACKAGE_PACKAGE_TYPE
401+
if ($package['type'] == \Magento\Framework\Composer\ComposerInformation::METAPACKAGE_PACKAGE_TYPE
404402
&& isset($package['require'])
405403
) {
406404
foreach (array_keys($package['require']) as $key) {

setup/src/Magento/Setup/Test/Unit/Model/Grid/ModuleTest.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,6 @@ public function testGetList()
191191
],
192192
]);
193193

194-
195194
$this->moduleListMock->expects(static::exactly(2))
196195
->method('has')
197196
->willReturn(true);

setup/src/Magento/Setup/Test/Unit/Model/PackagesDataTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
/**
1515
* Tests Magento\Setup\Model\PackagesData
16+
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
1617
*/
1718
class PackagesDataTest extends \PHPUnit_Framework_TestCase
1819
{

0 commit comments

Comments
 (0)