Adicion para setear position de step al crearlo

This commit is contained in:
Brayan Osmar Pereyra Suxo
2014-02-24 15:13:31 -04:00
parent eed4d9ff36
commit 5943d098f4

View File

@@ -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}")));
}
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
$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"] == "") {
$arrayData["STEP_POSITION"] = $step->getNextPosition($taskUid) - 1;
unset($arrayData["STEP_POSITION"]);
}
$arrayData = $this->update($stepUid, $arrayData);
@@ -369,7 +369,6 @@ class Step
//Load Step
$step = new \Step();
$arrayStepData = $step->load($stepUid);
$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
$step = new \Step();
$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);
if (isset($tempPosition) && ($tempPosition != $arrayStepData["STEP_POSITION"])) {
$this->moveSteps($proUid, $taskUid, $stepUid, $tempPosition);
}
//Return
unset($arrayData["STEP_UID"]);
$arrayData["STEP_POSITION"] = $tempPosition;
if (!$this->formatFieldNameInUppercase) {
$arrayData = array_change_key_case($arrayData, CASE_LOWER);
@@ -875,7 +876,9 @@ class Step
$seStepPos = $step_pos;
//Principal Step is up
if ($prStepPos < $seStepPos) {
if ($prStepPos == $seStepPos) {
return true;
} elseif ($prStepPos < $seStepPos) {
$modPos = 'UP';
$newPos = $seStepPos;
$iniPos = $prStepPos+1;