diff --git a/workflow/engine/classes/class.processes.php b/workflow/engine/classes/class.processes.php index 02ed73a89..ba9b36ebd 100755 --- a/workflow/engine/classes/class.processes.php +++ b/workflow/engine/classes/class.processes.php @@ -2636,6 +2636,28 @@ class Processes } } + /** + * Get Step Rows from a Process + * + * @param $sProUid array. + * @return array $aStep. + */ + public function getStepRowsByElement($sProUid, $element) + { + try { + $elementSteps = array(); + $steps = $this->getStepRows($sProUid); + foreach ($steps as $step) { + if ($step['STEP_TYPE_OBJ'] === $element) { + $elementSteps[] = $step; + } + } + return $elementSteps; + } catch (Exception $oError) { + throw ($oError); + } + } + /** * Create Step Rows from a Process * diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/DynaformsMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/DynaformsMigrator.php index 24af3e866..f895b04b7 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/DynaformsMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/DynaformsMigrator.php @@ -60,6 +60,7 @@ class DynaformsMigrator implements Importable, Exportable { try { $oData = new \StdClass(); + $oData->steps = $this->processes->getStepRowsByElement($prj_uid,'DYNAFORM'); $oData->dynaforms = $this->processes->getDynaformRows($prj_uid); $result = array( 'workflow-definition' => (array)$oData diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/InputDocumentsMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/InputDocumentsMigrator.php index 7eb18e858..acb62aac3 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/InputDocumentsMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/InputDocumentsMigrator.php @@ -60,6 +60,7 @@ class InputDocumentsMigrator implements Importable, Exportable { try { $oData = new \StdClass(); + $oData->steps = $this->processes->getStepRowsByElement($prj_uid,'INPUT_DOCUMENT'); $oData->inputs = $this->processes->getInputRows($prj_uid); $result = array( diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/OutputDocumentsMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/OutputDocumentsMigrator.php index b779fca44..bb7b95bed 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/OutputDocumentsMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/OutputDocumentsMigrator.php @@ -60,6 +60,7 @@ class OutputDocumentsMigrator implements Importable, Exportable { try { $oData = new \StdClass(); + $oData->steps = $this->processes->getStepRowsByElement($prj_uid,'OUTPUT_DOCUMENT'); $oData->outputs = $this->processes->getOutputRows($prj_uid); $result = array( diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ProcessDefinitionMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ProcessDefinitionMigrator.php index 877691931..196007ff9 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ProcessDefinitionMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ProcessDefinitionMigrator.php @@ -108,8 +108,6 @@ class ProcessDefinitionMigrator implements Importable, Exportable $oData->routes = $this->processes->getRouteRows($prj_uid); $oData->lanes = $this->processes->getLaneRows($prj_uid); $oData->gateways = $this->processes->getGatewayRows($prj_uid); - $oData->steps = $this->processes->getStepRows($prj_uid); - $oData->steptriggers = $this->processes->getStepTriggerRows($oData->tasks); $oData->subProcess = $this->processes->getSubProcessRow($prj_uid); $oData->caseTracker = $this->processes->getCaseTrackerRow($prj_uid); $oData->caseTrackerObject = $this->processes->getCaseTrackerObjectRow($prj_uid); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TriggersMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TriggersMigrator.php index a7b80f72b..e41080a2a 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TriggersMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TriggersMigrator.php @@ -62,6 +62,8 @@ class TriggersMigrator implements Importable, Exportable { try { $oData = new \StdClass(); + + $oData->steptriggers = $this->processes->getStepTriggerRows($oData->tasks); $oData->triggers = $this->processes->getTriggerRows($prj_uid); $result = array(