From d39eb6545910ef68c52baa171d7227eb37cf31bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Agust=C3=ADn=20Busso?= <90727999+agustinbusso@users.noreply.github.com> Date: Thu, 22 Jun 2023 15:54:53 -0300 Subject: [PATCH 1/2] Replace findOrFail with find in referencesToExport mehtod --- ProcessMaker/Assets/ScreensInScreen.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ProcessMaker/Assets/ScreensInScreen.php b/ProcessMaker/Assets/ScreensInScreen.php index 7d37610772..92e486a344 100644 --- a/ProcessMaker/Assets/ScreensInScreen.php +++ b/ProcessMaker/Assets/ScreensInScreen.php @@ -44,9 +44,13 @@ public function referencesToExport(ScreenInterface $screen, array $screens = [], if (is_array($item) && isset($item['component']) && $item['component'] === 'FormNestedScreen' && !empty($item['config']['screen'])) { $screens[] = [Screen::class, $item['config']['screen']]; if ($recursive) { - $screen = app(Screen::class)->findOrFail($item['config']['screen']); + $screen = app(Screen::class)->find($item['config']['screen']); $this->recursion++; - $screens = $this->referencesToExport($screen, $screens, $manager, $recursive); + + if ($screen) { + $screens = $this->referencesToExport($screen, $screens, $manager, $recursive); + } + $this->recursion--; } } From 62b94e0e3b9513fdebf43127a10ea1d6345b7c5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Agust=C3=ADn=20Busso?= <90727999+agustinbusso@users.noreply.github.com> Date: Thu, 22 Jun 2023 15:55:48 -0300 Subject: [PATCH 2/2] Verify if screen exists. Verify if content key exists for select list --- .../ProcessTranslations/ProcessTranslation.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ProcessMaker/ProcessTranslations/ProcessTranslation.php b/ProcessMaker/ProcessTranslations/ProcessTranslation.php index 14a997fbb8..beea03d1a4 100644 --- a/ProcessMaker/ProcessTranslations/ProcessTranslation.php +++ b/ProcessMaker/ProcessTranslations/ProcessTranslation.php @@ -52,8 +52,11 @@ private function getScreens($withScreenData, $screenIds = null) : SupportCollect } $nestedScreens = []; - foreach ($screensInProcess as $screen) { - $nestedScreens = array_merge($nestedScreens, Screen::findOrFail($screen)->nestedScreenIds()); + foreach ($screensInProcess as $screenId) { + $screen = Screen::find($screenId); + if ($screen) { + $nestedScreens = array_merge($nestedScreens, $screen->nestedScreenIds()); + } } $screensInProcess = collect(array_merge($screensInProcess, $nestedScreens))->unique(); @@ -186,7 +189,9 @@ private static function getStringElements($items, $parent = null) if ($item['component'] === 'FormSelectList') { if (isset($item['config']) && isset($item['config']['options']) && isset($item['config']['options']['optionsList'])) { foreach ($item['config']['options']['optionsList'] as $option) { - $elements[] = $option['content']; + if (array_key_exists('content', $option)) { + $elements[] = $option['content']; + } } } }