Skip to content

Commit af69bec

Browse files
author
Oleksandr Iegorov
committed
MAGETWO-69496: Impossible specify Bundle option title on store view level with changes to more than one store view
1 parent 56ac3ae commit af69bec

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

app/code/Magento/Bundle/Model/Product/SaveHandler.php

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public function execute($entity, $arguments = [])
5555
$existingBundleProductOptions = $this->optionRepository->getList($entity->getSku());
5656

5757
$existingOptionsIds = !empty($existingBundleProductOptions)
58-
? $this->getOptionIds($existingBundleProductOptions)
58+
? $this->getOptionIds($existingBundleProductOptions)
5959
: [];
6060
$optionIds = !empty($bundleProductOptions)
6161
? $this->getOptionIds($bundleProductOptions)
@@ -96,17 +96,18 @@ protected function removeOptionLinks($entitySku, $option)
9696

9797
/**
9898
* Perform save for all options entities
99+
*
99100
* @param object $entity
100101
* @param array $options
101102
* @param array $newOptionsIds
102103
* @throws \Magento\Framework\Exception\CouldNotSaveException
103104
* @throws \Magento\Framework\Exception\InputException
104105
* @return void
105106
*/
106-
private function saveOptions($entity, $options, $newOptionsIds = [])
107+
private function saveOptions($entity, array $options, array $newOptionsIds = [])
107108
{
108109
foreach ($options as $option) {
109-
if (in_array($option->getOptionId(), $newOptionsIds)) {
110+
if (in_array($option->getOptionId(), $newOptionsIds, true)) {
110111
$option->setOptionId(null);
111112
}
112113
$this->optionRepository->save($entity, $option);
@@ -115,10 +116,11 @@ private function saveOptions($entity, $options, $newOptionsIds = [])
115116

116117
/**
117118
* Get options ids from array of the options entities
119+
*
118120
* @param array $options
119121
* @return array
120122
*/
121-
private function getOptionIds($options)
123+
private function getOptionIds(array $options)
122124
{
123125
$optionIds = [];
124126

@@ -137,6 +139,7 @@ private function getOptionIds($options)
137139

138140
/**
139141
* Removes old options that no longer exists
142+
*
140143
* @param string $entitySku
141144
* @param array $existingOptionsIds
142145
* @param array $optionIds
@@ -145,7 +148,7 @@ private function getOptionIds($options)
145148
* @throws \Magento\Framework\Exception\CouldNotSaveException
146149
* @return void
147150
*/
148-
private function processRemovedOptions($entitySku, $existingOptionsIds, $optionIds)
151+
private function processRemovedOptions($entitySku, array $existingOptionsIds, array $optionIds)
149152
{
150153
foreach (array_diff($existingOptionsIds, $optionIds) as $optionId) {
151154
$option = $this->optionRepository->get($entitySku, $optionId);
@@ -156,14 +159,15 @@ private function processRemovedOptions($entitySku, $existingOptionsIds, $optionI
156159

157160
/**
158161
* Removes option links for existed options
162+
*
159163
* @param string $entitySku
160164
* @param array $existingOptionsIds
161165
* @param array $optionIds
162166
* @throws \Magento\Framework\Exception\NoSuchEntityException
163167
* @throws \Magento\Framework\Exception\InputException
164168
* @return void
165169
*/
166-
private function processExistedOptions($entitySku, $existingOptionsIds, $optionIds)
170+
private function processExistedOptions($entitySku, array $existingOptionsIds, array $optionIds)
167171
{
168172
foreach (array_intersect($optionIds, $existingOptionsIds) as $optionId) {
169173
$option = $this->optionRepository->get($entitySku, $optionId);

0 commit comments

Comments
 (0)