Merged in darojas/processmaker (pull request #577)

Se adiciona validaciones en process_variables. Se adiciona validacion para sch_end_date en case_scheduler
This commit is contained in:
Erik Amaru Ortiz
2014-07-02 12:39:55 -04:00
2 changed files with 79 additions and 40 deletions

View File

@@ -36,15 +36,45 @@ class Variable
if ($variable->validate()) { if ($variable->validate()) {
$cnn->begin(); $cnn->begin();
if (isset($arrayData["VAR_NAME"])) {
$variable->setVarName($arrayData["VAR_NAME"]); $variable->setVarName($arrayData["VAR_NAME"]);
} else {
throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('$var_name' )));
}
if (isset($arrayData["VAR_FIELD_TYPE"])) {
$variable->setVarFieldType($arrayData["VAR_FIELD_TYPE"]); $variable->setVarFieldType($arrayData["VAR_FIELD_TYPE"]);
} else {
throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('$var_field_type' )));
}
if (isset($arrayData["VAR_FIELD_SIZE"])) {
$variable->setVarFieldSize($arrayData["VAR_FIELD_SIZE"]); $variable->setVarFieldSize($arrayData["VAR_FIELD_SIZE"]);
}
if (isset($arrayData["VAR_LABEL"])) {
$variable->setVarLabel($arrayData["VAR_LABEL"]); $variable->setVarLabel($arrayData["VAR_LABEL"]);
} else {
throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('$var_label' )));
}
if (isset($arrayData["VAR_DBCONNECTION"])) {
$variable->setVarDbconnection($arrayData["VAR_DBCONNECTION"]); $variable->setVarDbconnection($arrayData["VAR_DBCONNECTION"]);
} else {
$variable->setVarDbconnection("");
}
if (isset($arrayData["VAR_SQL"])) {
$variable->setVarSql($arrayData["VAR_SQL"]); $variable->setVarSql($arrayData["VAR_SQL"]);
} else {
$variable->setVarSql("");
}
if (isset($arrayData["VAR_NULL"])) {
$variable->setVarNull($arrayData["VAR_NULL"]); $variable->setVarNull($arrayData["VAR_NULL"]);
} else {
$variable->setVarNull(0);
}
if (isset($arrayData["VAR_DEFAULT"])) {
$variable->setVarDefault($arrayData["VAR_DEFAULT"]); $variable->setVarDefault($arrayData["VAR_DEFAULT"]);
}
if (isset($arrayData["VAR_ACCEPTED_VALUES"])) {
$variable->setVarAcceptedValues($arrayData["VAR_ACCEPTED_VALUES"]); $variable->setVarAcceptedValues($arrayData["VAR_ACCEPTED_VALUES"]);
}
$variable->save(); $variable->save();
$cnn->commit(); $cnn->commit();
@@ -66,12 +96,10 @@ class Variable
} }
//Return //Return
unset($arrayData["PRJ_UID"]); $variable = $this->getVariable($processUid, $sPkProcessVariables);
$arrayData = array_merge(array("VAR_UID" => $sPkProcessVariables), $arrayData); return $variable;
$arrayData = array_change_key_case($arrayData, CASE_LOWER);
return $arrayData;
} catch (\Exception $e) { } catch (\Exception $e) {
throw $e; throw $e;
} }
@@ -94,9 +122,7 @@ class Variable
$arrayData = array_change_key_case($arrayData, CASE_UPPER); $arrayData = array_change_key_case($arrayData, CASE_UPPER);
$this->throwExceptionFieldDefinition($arrayData); $this->throwExceptionFieldDefinition($arrayData);
if (isset($aData["VAR_NAME"])) {
$this->existsName($processUid, $arrayData["VAR_NAME"]);
}
//Update //Update
$cnn = \Propel::getConnection("workflow"); $cnn = \Propel::getConnection("workflow");
try { try {
@@ -106,17 +132,34 @@ class Variable
if ($variable->validate()) { if ($variable->validate()) {
$cnn->begin(); $cnn->begin();
if (isset($arrayData["VAR_NAME"])) {
$this->existsName($processUid, $arrayData["VAR_NAME"]);
$variable->setVarName($arrayData["VAR_NAME"]); $variable->setVarName($arrayData["VAR_NAME"]);
}
if (isset($arrayData["VAR_FIELD_TYPE"])) {
$variable->setVarFieldType($arrayData["VAR_FIELD_TYPE"]); $variable->setVarFieldType($arrayData["VAR_FIELD_TYPE"]);
}
if (isset($arrayData["VAR_FIELD_SIZE"])) {
$variable->setVarFieldSize($arrayData["VAR_FIELD_SIZE"]); $variable->setVarFieldSize($arrayData["VAR_FIELD_SIZE"]);
}
if (isset($arrayData["VAR_LABEL"])) {
$variable->setVarLabel($arrayData["VAR_LABEL"]); $variable->setVarLabel($arrayData["VAR_LABEL"]);
}
if (isset($arrayData["VAR_DBCONNECTION"])) {
$variable->setVarDbconnection($arrayData["VAR_DBCONNECTION"]); $variable->setVarDbconnection($arrayData["VAR_DBCONNECTION"]);
}
if (isset($arrayData["VAR_SQL"])) {
$variable->setVarSql($arrayData["VAR_SQL"]); $variable->setVarSql($arrayData["VAR_SQL"]);
}
if (isset($arrayData["VAR_NULL"])) {
$variable->setVarNull($arrayData["VAR_NULL"]); $variable->setVarNull($arrayData["VAR_NULL"]);
}
if (isset($arrayData["VAR_DEFAULT"])) {
$variable->setVarDefault($arrayData["VAR_DEFAULT"]); $variable->setVarDefault($arrayData["VAR_DEFAULT"]);
}
if (isset($arrayData["VAR_ACCEPTED_VALUES"])) {
$variable->setVarAcceptedValues($arrayData["VAR_ACCEPTED_VALUES"]); $variable->setVarAcceptedValues($arrayData["VAR_ACCEPTED_VALUES"]);
}
$variable->save(); $variable->save();
$cnn->commit(); $cnn->commit();
} else { } else {
@@ -212,11 +255,11 @@ class Variable
'prj_uid' => $aRow['PRJ_UID'], 'prj_uid' => $aRow['PRJ_UID'],
'var_name' => $aRow['VAR_NAME'], 'var_name' => $aRow['VAR_NAME'],
'var_field_type' => $aRow['VAR_FIELD_TYPE'], 'var_field_type' => $aRow['VAR_FIELD_TYPE'],
'var_field_size' => $aRow['VAR_FIELD_SIZE'], 'var_field_size' => (int)$aRow['VAR_FIELD_SIZE'],
'var_label' => $aRow['VAR_LABEL'], 'var_label' => $aRow['VAR_LABEL'],
'var_dbconnection' => $aRow['VAR_DBCONNECTION'], 'var_dbconnection' => $aRow['VAR_DBCONNECTION'],
'var_sql' => $aRow['VAR_SQL'], 'var_sql' => $aRow['VAR_SQL'],
'var_null' => $aRow['VAR_NULL'], 'var_null' => (int)$aRow['VAR_NULL'],
'var_default' => $aRow['VAR_DEFAULT'], 'var_default' => $aRow['VAR_DEFAULT'],
'var_accepted_values' => $aRow['VAR_ACCEPTED_VALUES']); 'var_accepted_values' => $aRow['VAR_ACCEPTED_VALUES']);
$rsCriteria->next(); $rsCriteria->next();
@@ -272,11 +315,11 @@ class Variable
'prj_uid' => $aRow['PRJ_UID'], 'prj_uid' => $aRow['PRJ_UID'],
'var_name' => $aRow['VAR_NAME'], 'var_name' => $aRow['VAR_NAME'],
'var_field_type' => $aRow['VAR_FIELD_TYPE'], 'var_field_type' => $aRow['VAR_FIELD_TYPE'],
'var_field_size' => $aRow['VAR_FIELD_SIZE'], 'var_field_size' => (int)$aRow['VAR_FIELD_SIZE'],
'var_label' => $aRow['VAR_LABEL'], 'var_label' => $aRow['VAR_LABEL'],
'var_dbconnection' => $aRow['VAR_DBCONNECTION'], 'var_dbconnection' => $aRow['VAR_DBCONNECTION'],
'var_sql' => $aRow['VAR_SQL'], 'var_sql' => $aRow['VAR_SQL'],
'var_null' => $aRow['VAR_NULL'], 'var_null' => (int)$aRow['VAR_NULL'],
'var_default' => $aRow['VAR_DEFAULT'], 'var_default' => $aRow['VAR_DEFAULT'],
'var_accepted_values' => $aRow['VAR_ACCEPTED_VALUES']); 'var_accepted_values' => $aRow['VAR_ACCEPTED_VALUES']);
$rsCriteria->next(); $rsCriteria->next();
@@ -300,23 +343,19 @@ class Variable
try { try {
if (isset($aData["VAR_NAME"])) { if (isset($aData["VAR_NAME"])) {
Validator::isString($aData['VAR_NAME'], '$var_name'); Validator::isString($aData['VAR_NAME'], '$var_name');
} else { Validator::isNotEmpty($aData['VAR_NAME'], '$var_name');
throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('$var_name' )));
} }
if (isset($aData["VAR_FIELD_TYPE"])) { if (isset($aData["VAR_FIELD_TYPE"])) {
Validator::isString($aData['VAR_FIELD_TYPE'], '$var_field_type'); Validator::isString($aData['VAR_FIELD_TYPE'], '$var_field_type');
} else { Validator::isNotEmpty($aData['VAR_FIELD_TYPE'], '$var_field_type');
throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('$var_field_type' )));
} }
if (isset($aData["VAR_FIELD_SIZE"])) { if (isset($aData["VAR_FIELD_SIZE"])) {
Validator::isInteger($aData["VAR_FIELD_SIZE"], '$var_field_size'); Validator::isInteger($aData["VAR_FIELD_SIZE"], '$var_field_size');
} else { Validator::isNotEmpty($aData['VAR_FIELD_SIZE'], '$var_field_size');
throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('$var_field_size' )));
} }
if (isset($aData["VAR_LABEL"])) { if (isset($aData["VAR_LABEL"])) {
Validator::isString($aData['VAR_LABEL'], '$var_label'); Validator::isString($aData['VAR_LABEL'], '$var_label');
} else { Validator::isNotEmpty($aData['VAR_LABEL'], '$var_label');
throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('$var_label' )));
} }
if (isset($aData["VAR_DBCONNECTION"])) { if (isset($aData["VAR_DBCONNECTION"])) {
Validator::isString($aData['VAR_DBCONNECTION'], '$var_dbconnection'); Validator::isString($aData['VAR_DBCONNECTION'], '$var_dbconnection');