diff --git a/workflow/engine/classes/class.processes.php b/workflow/engine/classes/class.processes.php index 6725e8f66..3f0d72746 100755 --- a/workflow/engine/classes/class.processes.php +++ b/workflow/engine/classes/class.processes.php @@ -2290,14 +2290,16 @@ class Processes try { $map = array(); - foreach ($data->messageType as $key => $value) { - $record = $value; + if (isset($data->messageType)) { + foreach ($data->messageType as $key => $value) { + $record = $value; - if (isset($record["MSGT_UID"])) { - $newUid = $this->getUnusedMessageTypeUid(); + if (isset($record["MSGT_UID"])) { + $newUid = $this->getUnusedMessageTypeUid(); - $map[$record["MSGT_UID"]] = $newUid; - $data->messageType[$key]["MSGT_UID"] = $newUid; + $map[$record["MSGT_UID"]] = $newUid; + $data->messageType[$key]["MSGT_UID"] = $newUid; + } } } @@ -2344,14 +2346,16 @@ class Processes try { $map = array(); - foreach ($data->messageTypeVariable as $key => $value) { - $record = $value; + if (isset($data->messageTypeVariable)) { + foreach ($data->messageTypeVariable as $key => $value) { + $record = $value; - if (isset($record["MSGTV_UID"])) { - $newUid = $this->getUnusedMessageTypeVariableUid(); + if (isset($record["MSGTV_UID"])) { + $newUid = $this->getUnusedMessageTypeVariableUid(); - $map[$record["MSGTV_UID"]] = $newUid; - $data->messageTypeVariable[$key]["MSGTV_UID"] = $newUid; + $map[$record["MSGTV_UID"]] = $newUid; + $data->messageTypeVariable[$key]["MSGTV_UID"] = $newUid; + } } } diff --git a/workflow/engine/src/ProcessMaker/Importer/Importer.php b/workflow/engine/src/ProcessMaker/Importer/Importer.php index 1aef380dc..a240f90cd 100755 --- a/workflow/engine/src/ProcessMaker/Importer/Importer.php +++ b/workflow/engine/src/ProcessMaker/Importer/Importer.php @@ -73,8 +73,7 @@ abstract class Importer { $this->prepare(); - $name = $this->importData["tables"]["bpmn"]["project"][0]["prj_name"]; - + //Verify data switch ($option) { case self::IMPORT_OPTION_CREATE_NEW: if ($this->targetExists()) { @@ -94,23 +93,12 @@ abstract class Importer self::IMPORT_STAT_TARGET_ALREADY_EXISTS ); } - $generateUid = false; break; case self::IMPORT_OPTION_OVERWRITE: - $this->removeProject(); - // this option shouldn't generate new uid for all objects - $generateUid = false; break; case self::IMPORT_OPTION_DISABLE_AND_CREATE_NEW: - $this->disableProject(); - // this option should generate new uid for all objects - $generateUid = true; - $name = "New - " . $name . " - " . date("M d, H:i"); break; case self::IMPORT_OPTION_KEEP_WITHOUT_CHANGING_AND_CREATE_NEW: - // this option should generate new uid for all objects - $generateUid = true; - $name = \G::LoadTranslation("ID_COPY_OF") . " - " . $name . " - " . date("M d, H:i"); break; } @@ -149,6 +137,36 @@ abstract class Importer break; } + //Import + $name = $this->importData["tables"]["bpmn"]["project"][0]["prj_name"]; + + switch ($option) { + case self::IMPORT_OPTION_CREATE_NEW: + //Shouldn't generate new UID for all objects + $generateUid = false; + break; + case self::IMPORT_OPTION_OVERWRITE: + //Shouldn't generate new UID for all objects + $this->removeProject(); + + $generateUid = false; + break; + case self::IMPORT_OPTION_DISABLE_AND_CREATE_NEW: + //Should generate new UID for all objects + $this->disableProject(); + + $name = "New - " . $name . " - " . date("M d, H:i"); + + $generateUid = true; + break; + case self::IMPORT_OPTION_KEEP_WITHOUT_CHANGING_AND_CREATE_NEW: + //Should generate new UID for all objects + $name = \G::LoadTranslation("ID_COPY_OF") . " - " . $name . " - " . date("M d, H:i"); + + $generateUid = true; + break; + } + $this->importData["tables"]["bpmn"]["project"][0]["prj_name"] = $name; $this->importData["tables"]["bpmn"]["diagram"][0]["dia_name"] = $name; $this->importData["tables"]["bpmn"]["process"][0]["pro_name"] = $name;