BUG-12335 Currency field in Report table with grid not storing... SOLVED

- No existia una validacion para la parte de grillas solo forms.

- Se extendio la validacion para las grillas verificando todos los campos.
This commit is contained in:
Marco Antonio Nina
2013-07-11 14:11:22 -04:00
parent c8fc67ca73
commit 45f0388fec

View File

@@ -736,9 +736,7 @@ class AdditionalTables extends BaseAdditionalTables
eval('$c->add(' . $className . 'Peer::APP_UID, \'' . $appUid . '\');');
eval('$records = ' . $className . 'Peer::doSelect($c);');
switch ($row['ADD_TAB_TYPE']) {
//switching by report table type
case 'NORMAL':
//Select all types
require_once 'classes/model/Fields.php';
$criteriaField = new Criteria('workflow');
$criteriaField->add(FieldsPeer::ADD_TAB_UID, $row['ADD_TAB_UID']);
@@ -758,6 +756,9 @@ class AdditionalTables extends BaseAdditionalTables
}
}
switch ($row['ADD_TAB_TYPE']) {
//switching by report table type
case 'NORMAL':
// parsing empty values to null
foreach ($caseData as $i => $v) {
foreach ($fieldTypes as $key => $fieldType) {
@@ -808,6 +809,18 @@ class AdditionalTables extends BaseAdditionalTables
// save all grid rows on grid type report table
foreach ($gridData as $i => $gridRow) {
eval('$obj = new ' . $className . '();');
//Parsing values
foreach ($gridRow as $i => $v) {
foreach ($fieldTypes as $key => $fieldType) {
foreach ($fieldType as $name => $type) {
if ( strtoupper ( $i) == $name) {
$v = validateType ($v, $type);
unset($name);
}
}
}
$gridRow[$i] = $v === '' ? null : $v;
}
$obj->fromArray(array_change_key_case($gridRow, CASE_UPPER), BasePeer::TYPE_FIELDNAME);
$obj->setAppUid($appUid);
$obj->setAppNumber($appNumber);