get('entityManager'); $this->updateTemplates($entityManager); $this->updateEventMetadata($container->get('metadata'), $container->get('fileManager')); } protected function updateTemplates($entityManager) { $templateList = $entityManager ->getRepository('Template') ->where([ 'printHeader' => false, ['header!=' => null], ['header!=' => ''], ]) ->find(); foreach ($templateList as $template) { $body = $template->get('header') . ($template->get('body') ?? ''); $template->set('body', $body); $template->set('header', null); $entityManager->saveEntity($template); } } 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); $path2 = "application/Espo/Core/Templates/Metadata/Event/recordDefs.json"; $contents2 = $fileManager->getContents($path2); $data2 = Json::decode($contents2, true); foreach ($defs as $entityType => $item) { $isCustom = $item['isCustom'] ?? false; $type = $item['type'] ?? false; if (!$isCustom || $type !== 'Event') { continue; } $toSave = true; $metadata->set('selectDefs', $entityType, $data1); $metadata->set('recordDefs', $entityType, $data2); } if ($toSave) { $metadata->save(); } } }