Merged in cochalo/processmaker (pull request #228)
Adicion para setear position de step al crearlo
This commit is contained in:
@@ -321,17 +321,17 @@ class Step
|
|||||||
throw (new \Exception(str_replace(array("{0}", "{1}"), array($taskUid . ", " . $arrayData["STEP_TYPE_OBJ"] . ", " . $arrayData["STEP_UID_OBJ"], "STEP"), "The record \"{0}\", exists in table {1}")));
|
throw (new \Exception(str_replace(array("{0}", "{1}"), array($taskUid . ", " . $arrayData["STEP_TYPE_OBJ"] . ", " . $arrayData["STEP_UID_OBJ"], "STEP"), "The record \"{0}\", exists in table {1}")));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arrayData["STEP_POSITION"]) && $this->existsRecord($taskUid, "", "", $arrayData["STEP_POSITION"])) {
|
|
||||||
throw (new \Exception(str_replace(array("{0}", "{1}", "{2}"), array($arrayData["STEP_POSITION"], $taskUid . ", " . $arrayData["STEP_POSITION"], "STEP"), "The \"{0}\" position for the record \"{1}\", exists in table {2}")));
|
|
||||||
}
|
|
||||||
|
|
||||||
//Create
|
//Create
|
||||||
$step = new \Step();
|
$step = new \Step();
|
||||||
|
|
||||||
$stepUid = $step->create(array("PRO_UID" => $processUid, "TAS_UID" => $taskUid));
|
$stepUid = $step->create(array(
|
||||||
|
"PRO_UID" => $processUid,
|
||||||
|
"TAS_UID" => $taskUid,
|
||||||
|
"STEP_POSITION" => $step->getNextPosition($taskUid)
|
||||||
|
));
|
||||||
|
|
||||||
if (!isset($arrayData["STEP_POSITION"]) || $arrayData["STEP_POSITION"] == "") {
|
if (!isset($arrayData["STEP_POSITION"]) || $arrayData["STEP_POSITION"] == "") {
|
||||||
$arrayData["STEP_POSITION"] = $step->getNextPosition($taskUid) - 1;
|
unset($arrayData["STEP_POSITION"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$arrayData = $this->update($stepUid, $arrayData);
|
$arrayData = $this->update($stepUid, $arrayData);
|
||||||
@@ -369,7 +369,6 @@ class Step
|
|||||||
|
|
||||||
//Load Step
|
//Load Step
|
||||||
$step = new \Step();
|
$step = new \Step();
|
||||||
|
|
||||||
$arrayStepData = $step->load($stepUid);
|
$arrayStepData = $step->load($stepUid);
|
||||||
|
|
||||||
$taskUid = $arrayStepData["TAS_UID"];
|
$taskUid = $arrayStepData["TAS_UID"];
|
||||||
@@ -428,19 +427,21 @@ class Step
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arrayData["STEP_POSITION"]) && ($arrayData["STEP_POSITION"] != $arrayStepData["STEP_POSITION"])) {
|
|
||||||
$this->moveSteps($proUid, $taskUid, $stepUid, $arrayData["STEP_POSITION"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Update
|
//Update
|
||||||
$step = new \Step();
|
$step = new \Step();
|
||||||
|
|
||||||
$arrayData["STEP_UID"] = $stepUid;
|
$arrayData["STEP_UID"] = $stepUid;
|
||||||
|
$tempPosition = (isset($arrayData["STEP_POSITION"])) ? $arrayData["STEP_POSITION"] : $arrayStepData["STEP_POSITION"];
|
||||||
|
$arrayData["STEP_POSITION"] = $arrayStepData["STEP_POSITION"];
|
||||||
$result = $step->update($arrayData);
|
$result = $step->update($arrayData);
|
||||||
|
|
||||||
|
if (isset($tempPosition) && ($tempPosition != $arrayStepData["STEP_POSITION"])) {
|
||||||
|
$this->moveSteps($proUid, $taskUid, $stepUid, $tempPosition);
|
||||||
|
}
|
||||||
|
|
||||||
//Return
|
//Return
|
||||||
unset($arrayData["STEP_UID"]);
|
unset($arrayData["STEP_UID"]);
|
||||||
|
$arrayData["STEP_POSITION"] = $tempPosition;
|
||||||
|
|
||||||
if (!$this->formatFieldNameInUppercase) {
|
if (!$this->formatFieldNameInUppercase) {
|
||||||
$arrayData = array_change_key_case($arrayData, CASE_LOWER);
|
$arrayData = array_change_key_case($arrayData, CASE_LOWER);
|
||||||
@@ -875,7 +876,9 @@ class Step
|
|||||||
$seStepPos = $step_pos;
|
$seStepPos = $step_pos;
|
||||||
|
|
||||||
//Principal Step is up
|
//Principal Step is up
|
||||||
if ($prStepPos < $seStepPos) {
|
if ($prStepPos == $seStepPos) {
|
||||||
|
return true;
|
||||||
|
} elseif ($prStepPos < $seStepPos) {
|
||||||
$modPos = 'UP';
|
$modPos = 'UP';
|
||||||
$newPos = $seStepPos;
|
$newPos = $seStepPos;
|
||||||
$iniPos = $prStepPos+1;
|
$iniPos = $prStepPos+1;
|
||||||
|
|||||||
Reference in New Issue
Block a user