From 29edfabe4d2f4dedd3132aebbff7e593d1bdf14e Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Fri, 6 Jun 2014 15:21:01 -0400 Subject: [PATCH 1/2] ProcessMaker-BE "Export, artifacts missing" - Export, artifacts missing - Se ha completado los artifacts al exportar e importar --- .../engine/src/ProcessMaker/Exporter/Exporter.php | 9 +++++++-- .../engine/src/ProcessMaker/Importer/Importer.php | 2 +- .../src/ProcessMaker/Project/Adapter/BpmnWorkflow.php | 11 +++++++++-- 3 files changed, 17 insertions(+), 5 deletions(-) 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); From 67762ecbf2f2ccf4ec98f1443233054d437cddd4 Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Fri, 6 Jun 2014 16:53:34 -0400 Subject: [PATCH 2/2] BUG-15088 "Al editar el nombre de un proceso este permite..." SOLVED - Al editar el nombre de un proceso este permite ingresar el nombre de uno ya existente - El problema no esta al editar el proceso (esto cuando se ingresa a "Edit process"), sino cuando el ProcessMap hace el "auto-save", ahi si guarda el titulo del proceso - Se ha agregado validacion cuando se actualizen los datos mediante el "auto-save" (esto se aplica solo para los datos del proceso) - En el lado Frontend se esta enviando los datos del proceso (title, description) de manera continua con el "auto-save" para su actualizacion, pero como ya existe la validacion, ahora sale un ERROR. Esto debera ser revisado en el lado Frontend --- workflow/engine/src/ProcessMaker/Project/Bpmn.php | 6 ++++++ 1 file changed, 6 insertions(+) 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"]); }