diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php index 164210bb3..260f5f26d 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php @@ -135,8 +135,19 @@ class GranularImporter $data['tables']['workflow']['reportTablesFields'] : []; break; default: - $objectList[$nameObject] = isset($data['tables']['plugins'][strtolower($nameObject)]) ? - $data['tables']['plugins'][strtolower($nameObject)] : ''; + $prjUID = isset($data['tables']['workflow']['process']['PRO_UID']) + ?$data['tables']['workflow']['process']['PRO_UID'] + :$data['tables']['workflow']['process'][0]['PRO_UID']; + $objectList[$nameObject] = []; + $objectList[$nameObject]['metadata'] = [ + 'PRJ_UID' => $prjUID + ]; + foreach ($data['tables']['plugins'] as $pluginKey => $pluginTable) { + $key = explode(".", $pluginKey); + if ($key[0]===strtolower($nameObject)) { + $objectList[$nameObject][$key[1]] = $pluginTable; + } + } break; } return $objectList; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/PluginMigratorAdapter.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/PluginMigratorAdapter.php index 7bb971e17..c0980358d 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/PluginMigratorAdapter.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/PluginMigratorAdapter.php @@ -34,7 +34,13 @@ class PluginMigratorAdapter implements Exportable, Importable public function export($prj_uid) { - return $this->migrator->export($prj_uid); + $data = $this->migrator->export($prj_uid); + foreach ($data['plugin-data'] as $key => $plugin) { + $newKey = str_replace("MIGRATOR", "", strtoupper(get_class($this->migrator))).'.'.$key; + $data['plugin-data'][$newKey] = $plugin; + unset($data['plugin-data'][$key]); + } + return $data; } public function afterExport()