From 1016580c184603f4352ad46fde0b869430f73e55 Mon Sep 17 00:00:00 2001 From: jennylee Date: Fri, 25 Oct 2013 15:43:33 -0400 Subject: [PATCH] BUG-12254 Funcionalidad Search en las grillas DATA de los PMTables y Report Tables. Se aniadio la nueva funcionalidad de busqueda en el display de los datos de los PMTables y Report Tables, en ADMIN > Settings > PM Tables > Data, el cual realiza las busquedas por todas las columnas del PM Table o Report Table. Se corrigio el ordenamiento ASC y DESC. --- .../engine/classes/model/AdditionalTables.php | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/workflow/engine/classes/model/AdditionalTables.php b/workflow/engine/classes/model/AdditionalTables.php index 65cc7b5ca..22e511165 100755 --- a/workflow/engine/classes/model/AdditionalTables.php +++ b/workflow/engine/classes/model/AdditionalTables.php @@ -384,24 +384,31 @@ class AdditionalTables extends BaseAdditionalTables $countField = count($fieldsTable); $stringOr = '$oCriteria->add('; $cont = 0; + $fieldAppUid = ''; foreach ($fieldsTable as $value) { - if (($cont+1) == $countField) { - if ($aData['FIELDS'][$cont]['FLD_TYPE'] == 'VARCHAR') { - $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "%' . $filter . '%", Criteria::LIKE)'; - } else { - $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "' . $filter . '", Criteria::LIKE)'; - } + if ($value != 'APP_UID') { + if (($cont+1) == $countField) { + if ($aData['FIELDS'][$cont]['FLD_TYPE'] == 'VARCHAR') { + $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "%' . $filter . '%", Criteria::LIKE)'; + } else { + $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "' . $filter . '", Criteria::LIKE)'; + } + } else { + if ($aData['FIELDS'][$cont]['FLD_TYPE'] == 'VARCHAR') { + $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "%' . $filter . '%", Criteria::LIKE)->addOr('; + } else { + $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "' . $filter . '", Criteria::LIKE)->addOr('; + } + } } else { - if ($aData['FIELDS'][$cont]['FLD_TYPE'] == 'VARCHAR') { - $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "%' . $filter . '%", Criteria::LIKE)->addOr('; - } else { - $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "' . $filter . '", Criteria::LIKE)->addOr('; - } + $fieldAppUid = $cont; } $cont++; } - for ($c = 1; $c < $countField; $c ++) { - $stringOr .= ')'; + for ($c = 0; $c < $countField-1; $c++) { + if ($fieldAppUid !== $c) { + $stringOr .= ')'; + } } $stringOr .= ');'; eval($stringOr);