Skip to content

Commit 7f819b7

Browse files
authored
Fix Warning: Undefined array key "filters"
1 parent c3ab314 commit 7f819b7

File tree

1 file changed

+19
-8
lines changed
  • app/code/Magento/Ui/Controller/Adminhtml/Bookmark

1 file changed

+19
-8
lines changed

app/code/Magento/Ui/Controller/Adminhtml/Bookmark/Save.php

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -246,17 +246,28 @@ private function updateCurrentBookmarkConfig(array $data): void
246246
$bookmarkConfig = $bookmark->getConfig();
247247
$existingConfig = $bookmarkConfig['views'][$bookmark->getIdentifier()]['data'] ?? null;
248248
$currentConfig = $data[self::CURRENT_IDENTIFIER] ?? null;
249-
if ($existingConfig && $currentConfig) {
250-
if ($existingConfig['filters'] === $currentConfig['filters']
251-
&& $existingConfig['positions'] !== $currentConfig['positions']
252-
) {
253-
$bookmarkConfig['views'][$bookmark->getIdentifier()]['data'] = $data[self::CURRENT_IDENTIFIER];
254-
$bookmark->setConfig($this->serializer->serialize($bookmarkConfig));
255-
$this->bookmarkRepository->save($bookmark);
256-
}
249+
if ($existingConfig && $currentConfig && $this->isPositionChanged($existingConfig, $currentConfig)) {
250+
$bookmarkConfig['views'][$bookmark->getIdentifier()]['data'] = $data[self::CURRENT_IDENTIFIER];
251+
$bookmark->setConfig($this->serializer->serialize($bookmarkConfig));
252+
$this->bookmarkRepository->save($bookmark);
257253
}
258254
break;
259255
}
260256
}
261257
}
258+
259+
/**
260+
* Check if the positions for identical filters has changed
261+
*/
262+
private function isPositionChanged(array $existingConfig, array $currentConfig): bool
263+
{
264+
foreach (['filters', 'positions'] as $key) {
265+
if (!array_key_exists($key, $existingConfig) || !array_key_exists($key, $currentConfig)) {
266+
return false;
267+
}
268+
}
269+
270+
return $existingConfig['filters'] === $currentConfig['filters']
271+
&& $existingConfig['positions'] !== $currentConfig['positions'];
272+
}
262273
}

0 commit comments

Comments
 (0)