Skip to content

Commit 8884b3f

Browse files
committed
Merge remote-tracking branch 'origin/MAGETWO-51175-Install-Extensions' into PR_Branch
2 parents fc814a4 + bc6e541 commit 8884b3f

File tree

3 files changed

+23
-14
lines changed

3 files changed

+23
-14
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,18 +152,18 @@ public function componentsAction()
152152
public function syncAction()
153153
{
154154
$error = '';
155+
$packagesForInstall = [];
156+
$lastSyncData = [];
155157
try {
156158
$this->updatePackagesCache->syncPackagesForUpdate();
157159
$lastSyncData = $this->updatePackagesCache->getPackagesForUpdate();
158160

159161
$this->marketplaceManager->syncPackagesForInstall();
160162
$packagesForInstall = $this->marketplaceManager->getPackagesForInstall();
163+
$lastSyncData = $this->formatLastSyncData($packagesForInstall, $lastSyncData);
161164
} catch (\Exception $e) {
162165
$error = $e->getMessage();
163166
}
164-
165-
$lastSyncData = $this->formatLastSyncData($packagesForInstall, $lastSyncData);
166-
167167
return new \Zend\View\Model\JsonModel(
168168
[
169169
'success' => true,

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

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -161,14 +161,18 @@ public function syncPackagesForInstall()
161161
}
162162
$packageNames = array_column($this->getComposerInformation()->getInstalledMagentoPackages(), 'name');
163163
$installPackages = [];
164-
foreach ($packagesJsonData['packages'] as $package) {
165-
$package = $this->unsetDevVersions($package);
166-
if (!empty($package)) {
164+
foreach ($packagesJsonData['packages'] as $packageName => $package) {
165+
if (!empty($package) && isset($package) && is_array($package)) {
166+
$package = $this->unsetDevVersions($package);
167167
ksort($package);
168-
$package = array_pop($package);
169-
if ($this->isNewUserPackage($package, $packageNames)) {
170-
$package['vendor'] = explode('/', $package['name'])[0];
171-
$installPackages[$package['name']] = $package;
168+
$packageValues = array_values($package);
169+
if ($this->isNewUserPackage($packageValues[0], $packageNames)) {
170+
$versions = array_reverse(array_keys($package));
171+
$installPackage = $packageValues[0];
172+
$installPackage['versions'] = $versions;
173+
$installPackage['name'] = $packageName;
174+
$installPackage['vendor'] = explode('/', $packageName)[0];
175+
$installPackages[$packageName] = $installPackage;
172176
}
173177
}
174178
}
@@ -360,6 +364,7 @@ public function getPackagesForInstall()
360364
$package['metapackage'] =
361365
isset($metaPackageByPackage[$package['name']]) ? $metaPackageByPackage[$package['name']] : '';
362366
$actualInstallackages[$package['name']] = $package;
367+
$actualInstallackages[$package['name']]['version'] = $package['versions'][0];
363368
}
364369
}
365370
$installPackagesInfo['packages'] = $actualInstallackages;

setup/view/magento/setup/install-extension-grid.phtml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,18 @@
6565
<div class="action-multicheck-wrap"
6666
ng-class="{'_active':isNewExtensionsMenuVisible}"
6767
click-out="hideNewExtensionsMenu()"
68-
>
68+
>
6969
<input type="checkbox"
7070
style="visibility: hidden;"
7171
class="admin__control-checkbox"
7272
ng-class="{'_indeterminate':someExtensionsSelected}"
7373
ng-checked="allExtensionsSelected"
74-
>
74+
>
7575
<label></label>
7676
<button class="action-multicheck-toggle"
7777
ng-class="{'_active':isNewExtensionsMenuVisible}"
7878
ng-click="toggleNewExtensionsMenu()"
79-
>
79+
>
8080
<span>Options</span>
8181
</button>
8282
<ul class="action-menu">
@@ -134,7 +134,11 @@
134134
<span class="data-grid-data">{{extension.metapackage}}</span>
135135
</td>
136136
<td>
137-
<span class="data-grid-data">{{extension.version}}</span>
137+
<span class="data-grid-data">
138+
<select id="selectedVersion" ng-model="extension.version">
139+
<option ng-repeat="version in extension.versions" value="{{version}}">{{version}}</option>
140+
</select>
141+
</span>
138142
</td>
139143
<td>
140144
<span class="data-grid-data">{{extension.type}}</span>

0 commit comments

Comments
 (0)