From d5c6140775b3103eab93ca37c6555e0634da655c Mon Sep 17 00:00:00 2001 From: "Paula V. Quispe" Date: Tue, 29 Mar 2016 09:21:30 -0400 Subject: [PATCH] MT-57 --- workflow/engine/classes/class.tasks.php | 2 +- .../Migrator/GranularImporter.php | 4 ++- .../Migrator/ProcessDefinitionMigrator.php | 34 ++++++++++++++++--- 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/workflow/engine/classes/class.tasks.php b/workflow/engine/classes/class.tasks.php index 39e596651..ae48ba0e1 100755 --- a/workflow/engine/classes/class.tasks.php +++ b/workflow/engine/classes/class.tasks.php @@ -301,7 +301,7 @@ class Tasks /** * updates row tasks from an Route Array * - * @param string $aTasks + * @param string $aRoutes * @return array */ public function updateRouteRows($aRoutes) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php index 47ea7b9b6..dc675d237 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php @@ -51,8 +51,10 @@ class GranularImporter $objectList = array(); switch ($nameObject) { case 'PROCESSDEFINITION': - $objectList['PROCESSDEFINITION'] = isset($data['tables']['bpmn']) ? $this->structureBpmnData + $objectList['PROCESSDEFINITION']['bpmn'] = isset($data['tables']['bpmn']) ? $this->structureBpmnData ($data['tables']['bpmn']) : ''; + $objectList['PROCESSDEFINITION']['workflow'] = isset($data['tables']['workflow']) ? + $data['tables']['workflow'] : ''; break; case 'ASSIGNMENTRULES': $objectList['ASSIGNMENTRULES']['tasks'] = isset($data['tables']['workflow']['tasks']) ? diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ProcessDefinitionMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ProcessDefinitionMigrator.php index 34884f119..6091cf2bc 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ProcessDefinitionMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ProcessDefinitionMigrator.php @@ -27,11 +27,35 @@ class ProcessDefinitionMigrator implements Importable, Exportable public function import($data, $replace) { try { - if ($replace) { - $this->bpmn->createFromStruct($data, false); - } else { - $this->bpmn->updateFromStruct($data['prj_uid'], $data, false); - } + //Bpmn elements + $pjrUid =$this->bpmn->createFromStruct($data['bpmn'], false); + //Workflow elements + $this->processes->createTaskRows($data['workflow']['tasks']); + $this->processes->createTaskUserRows($data['workflow']['taskusers']); + $this->processes->createRouteRows($data['workflow']['routes']); + $this->processes->createLaneRows($data['workflow']['lanes']); + $this->processes->createGatewayRows($data['workflow']['gateways']); + $this->processes->createStepRows($data['workflow']['steps']); + $this->processes->createStepTriggerRows($data['workflow']['steptriggers']); + $this->processes->createSubProcessRows($data['workflow']['subProcess']); + $this->processes->createCaseTrackerRows($data['workflow']['caseTracker']); + $this->processes->createCaseTrackerObjectRows($data['workflow']['caseTrackerObject']); + $this->processes->createStageRows($data['workflow']['stage']); + $this->processes->createFieldCondition($data['workflow']['fieldCondition'], $data['workflow']['dynaforms']); + $this->processes->createEventRows($data['workflow']['event']); + $this->processes->createCaseSchedulerRows($data['workflow']['caseScheduler']); + $this->processes->createProcessCategoryRow($data['workflow']['processCategory']); + $this->processes->createTaskExtraPropertiesRows($data['workflow']['taskExtraProperties']); + $this->processes->createWebEntry($data['workflow']['process']['PRO_UID'], $data['workflow']['process']['PRO_CREATE_USER'], $data['workflow']['webEntry']); + $this->processes->createWebEntryEvent($data['workflow']['process']['PRO_UID'], $data['workflow']['process']['PRO_CREATE_USER'], $data['workflow']['webEntryEvent']); + $this->processes->createMessageType($data['workflow']['messageType']); + $this->processes->createMessageTypeVariable($data['workflow']['messageTypeVariable']); + $this->processes->createMessageEventDefinition($data['workflow']['process']['PRO_UID'],$data['workflow']['messageEventDefinition']); + $this->processes->createScriptTask($data['workflow']['process']['PRO_UID'], $data['workflow']['scriptTask']); + $this->processes->createTimerEvent($data['workflow']['process']['PRO_UID'], $data['workflow']['timerEvent']); + $this->processes->createEmailEvent($data['workflow']['process']['PRO_UID'], $data['workflow']['emailEvent']); + $this->processes->createActionsByEmail($data['workflow']['process']['PRO_UID'], $data['workflow']['abeConfiguration']); + } catch (\Exception $e) { return $e->getMessage(); }