updateEventMetadata( $container->getByClass(Metadata::class), $container->getByClass(FileManager::class) ); } private function updateEventMetadata(Metadata $metadata, FileManager $fileManager): void { $defs = $metadata->get(['scopes']); $toSave = false; $path1 = "application/Espo/Core/Templates/Metadata/Event/selectDefs.json"; $contents1 = $fileManager->getContents($path1); $data1 = Json::decode($contents1, true); $primaryFilterClassNameMap = (object) $data1['primaryFilterClassNameMap']; foreach ($defs as $entityType => $item) { $isCustom = $item['isCustom'] ?? false; $type = $item['type'] ?? false; if (!$isCustom || $type !== Event::TEMPLATE_TYPE) { continue; } $toSave = true; $data = $metadata->getCustom('selectDefs', $entityType); $data->primaryFilterClassNameMap = $primaryFilterClassNameMap; $metadata->saveCustom('selectDefs', $entityType, $data); } if ($toSave) { $metadata->save(); } } }