diff --git a/workflow/engine/src/ProcessMaker/Exporter/Exporter.php b/workflow/engine/src/ProcessMaker/Exporter/Exporter.php index 8eb8d10e4..8dc64f8e1 100644 --- a/workflow/engine/src/ProcessMaker/Exporter/Exporter.php +++ b/workflow/engine/src/ProcessMaker/Exporter/Exporter.php @@ -96,6 +96,7 @@ abstract class Exporter $data["metadata"]["uid"] = $this->getProjectUid(); $bpmnStruct["ACTIVITY"] = \BpmnActivity::getAll($this->prjUid); + $bpmnStruct["ARTIFACT"] = \BpmnArtifact::getAll($this->prjUid); $bpmnStruct["BOUND"] = \BpmnBound::getAll($this->prjUid); $bpmnStruct["DATA"] = array(); $bpmnStruct["DIAGRAM"] = \BpmnDiagram::getAll($this->prjUid); @@ -152,7 +153,10 @@ abstract class Exporter $templatesFiles = Util\Common::rglob("$templatesDir/*", 0, true); foreach ($templatesFiles as $templatesFile) { - if (is_dir($templatesFile)) continue; + if (is_dir($templatesFile)) { + continue; + } + $filename = basename($templatesFile); $data["workflow-files"][$target][] = array( "filename" => $filename, @@ -203,4 +207,5 @@ abstract class Exporter return $this->metadata; } } -} \ No newline at end of file +} + diff --git a/workflow/engine/src/ProcessMaker/Importer/Importer.php b/workflow/engine/src/ProcessMaker/Importer/Importer.php index f37a01434..6abb6f2a2 100644 --- a/workflow/engine/src/ProcessMaker/Importer/Importer.php +++ b/workflow/engine/src/ProcessMaker/Importer/Importer.php @@ -311,7 +311,7 @@ abstract class Importer $project = $tables["project"][0]; $diagram = $tables["diagram"][0]; $diagram["activities"] = $tables["activity"]; - $diagram["artifacts"] = array(); + $diagram["artifacts"] = $tables["artifact"]; $diagram["events"] = $tables["event"]; $diagram["flows"] = $tables["flow"]; $diagram["gateways"] = $tables["gateway"]; diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index 35d3267b0..7f07bb2d1 100644 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -731,10 +731,17 @@ class BpmnWorkflow extends Project\Bpmn if ($forceInsert || is_null($artifact)) { if ($generateUid) { - $oldArtUid = $artifactData["ART_UID"]; + //Artifact + unset($artifactData["BOU_UID"]); + $uidOld = $artifactData["ART_UID"]; $artifactData["ART_UID"] = Util\Common::generateUID(); - $result[] = array("object" => "artifact", "new_uid" => $artifactData["ART_UID"], "old_uid" => $oldArtUid); + + $result[] = array( + "object" => "artifact", + "old_uid" => $uidOld, + "new_uid" => $artifactData["ART_UID"] + ); } $bwp->addArtifact($artifactData); diff --git a/workflow/engine/src/ProcessMaker/Project/Bpmn.php b/workflow/engine/src/ProcessMaker/Project/Bpmn.php index 908cfe588..bdd42e96a 100644 --- a/workflow/engine/src/ProcessMaker/Project/Bpmn.php +++ b/workflow/engine/src/ProcessMaker/Project/Bpmn.php @@ -117,6 +117,12 @@ class Bpmn extends Handler public function update($data) { + if (isset($data["PRJ_NAME"])) { + $process = new \ProcessMaker\BusinessModel\Process(); + + $process->throwExceptionIfExistsTitle($data["PRJ_NAME"], strtolower("PRJ_NAME"), $this->prjUid); + } + if (array_key_exists("PRJ_CREATE_DATE", $data) && empty($data["PRJ_CREATE_DATE"])) { unset($data["PRJ_UPDATE_DATE"]); }