From eb782c5e52dd993d33cd032728aba154dd9f5e9b Mon Sep 17 00:00:00 2001 From: Eleazar Resendez Date: Thu, 22 Jan 2026 09:34:46 -0600 Subject: [PATCH] fix(import-export): sync launchpad screen id/title on import --- .../ImportExport/Exporters/ProcessLaunchpadExporter.php | 2 ++ .../ImportExport/Exporters/ProcessLaunchpadExporterTest.php | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/ProcessMaker/ImportExport/Exporters/ProcessLaunchpadExporter.php b/ProcessMaker/ImportExport/Exporters/ProcessLaunchpadExporter.php index 14e9ee3742..8970eb2b13 100644 --- a/ProcessMaker/ImportExport/Exporters/ProcessLaunchpadExporter.php +++ b/ProcessMaker/ImportExport/Exporters/ProcessLaunchpadExporter.php @@ -46,6 +46,8 @@ public function import(): bool foreach ($this->getDependents('screen') as $dependent) { $properties = json_decode($this->model->properties, true); $properties['screen_uuid'] = $dependent->model->uuid; + $properties['screen_id'] = $dependent->model->id; + $properties['screen_title'] = $dependent->model->title; $this->model->properties = json_encode($properties); } diff --git a/tests/Feature/ImportExport/Exporters/ProcessLaunchpadExporterTest.php b/tests/Feature/ImportExport/Exporters/ProcessLaunchpadExporterTest.php index 76a6ebc6f6..9cddf8e434 100644 --- a/tests/Feature/ImportExport/Exporters/ProcessLaunchpadExporterTest.php +++ b/tests/Feature/ImportExport/Exporters/ProcessLaunchpadExporterTest.php @@ -116,10 +116,15 @@ public function testImportWithCopy() $properties = json_decode($newProcess->launchpad->properties, true); $newSavedSearch1Id = Arr::get($properties, 'tabs.0.idSavedSearch'); $newSavedSearch2Id = Arr::get($properties, 'tabs.1.idSavedSearch'); + $cancelScreen = $newProcess->cancelScreen; $this->assertNotEquals($originalSavedSearch1Id, $savedSearch1->id); $this->assertEquals($savedSearch1->id, $newSavedSearch1Id); $this->assertEquals($savedSearch2->id, $newSavedSearch2Id); + $this->assertNotNull($cancelScreen); + $this->assertEquals($cancelScreen->id, Arr::get($properties, 'screen_id')); + $this->assertEquals($cancelScreen->uuid, Arr::get($properties, 'screen_uuid')); + $this->assertEquals($cancelScreen->title, Arr::get($properties, 'screen_title')); // Re-import the same process. $importer = new Importer($payload, $options);