This commit is contained in:
Roly Rudy Gutierrez Pinto
2016-09-02 16:16:07 -04:00
parent db477509b2
commit c278810e58
2 changed files with 17 additions and 9 deletions

View File

@@ -2004,13 +2004,14 @@ class Processes
{ {
$map = array(); $map = array();
foreach ($oData->inputs as $key => $val) { foreach ($oData->inputs as $key => $val) {
$oldUid = $val['INP_DOC_UID'];
$newGuid = $this->getUnusedInputGUID(); $newGuid = $this->getUnusedInputGUID();
$map[$val['INP_DOC_UID']] = $newGuid; $map[$val['INP_DOC_UID']] = $newGuid;
$oData->inputFiles[$oData->inputs[$key]['INP_DOC_UID']] = $newGuid; $oData->inputFiles[$oData->inputs[$key]['INP_DOC_UID']] = $newGuid;
$oData->inputs[$key]['INP_DOC_UID'] = $newGuid; $oData->inputs[$key]['INP_DOC_UID'] = $newGuid;
$oData->inputs[$key]['INP_DOC_UID_OLD'] = $oldUid;
} }
$oData->uid["INPUT_DOCUMENT"] = $map;
if (!isset($oData->inputFiles)) { if (!isset($oData->inputFiles)) {
$oData->inputFiles = array(); $oData->inputFiles = array();
} }

View File

@@ -1285,6 +1285,7 @@ class Workflow extends Handler
$arrayWorkflowData = (array)($workflowData); $arrayWorkflowData = (array)($workflowData);
//Synchronize dynaforms json.
foreach ($arrayWorkflowData["dynaforms"] as $key => $value) { foreach ($arrayWorkflowData["dynaforms"] as $key => $value) {
if ($arrayWorkflowData["dynaforms"][$key]["DYN_CONTENT"] != "") { if ($arrayWorkflowData["dynaforms"][$key]["DYN_CONTENT"] != "") {
$dynaFormContent = $arrayWorkflowData["dynaforms"][$key]["DYN_CONTENT"]; $dynaFormContent = $arrayWorkflowData["dynaforms"][$key]["DYN_CONTENT"];
@@ -1304,15 +1305,21 @@ class Workflow extends Handler
} }
} }
foreach ($arrayWorkflowData["inputs"] as $keyin => $value) { //Synchronize caseTrackerObject with dynaforms, input documents, output documents.
$newUid = $value["INP_DOC_UID"]; foreach ($arrayWorkflowData["caseTrackerObject"] as $key => $value) {
if(isset($value["INP_DOC_UID_OLD"])){ if (isset($arrayWorkflowData["uid"]) &&
foreach ($arrayWorkflowData["processVariables"] as $keypv => $vars) { isset($arrayWorkflowData["uid"][$value["CTO_TYPE_OBJ"]]) &&
if($vars['INP_DOC_UID'] === $value["INP_DOC_UID_OLD"]){ isset($arrayWorkflowData["uid"][$value["CTO_TYPE_OBJ"]][$value["CTO_UID_OBJ"]])) {
$arrayWorkflowData["processVariables"][$keypv]["INP_DOC_UID"] = $newUid; $arrayWorkflowData["caseTrackerObject"][$key]["CTO_UID_OBJ"] = $arrayWorkflowData["uid"][$value["CTO_TYPE_OBJ"]][$value["CTO_UID_OBJ"]];
} }
} }
unset($arrayWorkflowData["inputs"][$keyin]["INP_DOC_UID_OLD"]);
//Synchronize variables with process variables.
foreach ($arrayWorkflowData["processVariables"] as $key => $value) {
if (isset($arrayWorkflowData["uid"]) &&
isset($arrayWorkflowData["uid"]["INPUT_DOCUMENT"]) &&
isset($arrayWorkflowData["uid"]["INPUT_DOCUMENT"][$value["INP_DOC_UID"]])) {
$arrayWorkflowData["processVariables"][$key]["INP_DOC_UID"] = $arrayWorkflowData["uid"]["INPUT_DOCUMENT"][$value["INP_DOC_UID"]];
} }
} }