Modified the grid search to support standard date formats, with a bit of a kludge by applying it to fields that end with _date or stamp.
git-svn-id: file:///svn-source/pmgr/branches/v0.3_work@1002 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
@@ -948,13 +948,22 @@ class AppController extends Controller {
|
|||||||
'value' => $params['filtValue']);
|
'value' => $params['filtValue']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Translate a user specified date into the SQL date format
|
||||||
|
foreach ($searches AS &$search) {
|
||||||
|
if (preg_match('/(_date|stamp)$/', $search['field']) &&
|
||||||
|
preg_match('%(\d{1,2})[-/](\d{1,2})[-/](\d{2,4})%', $search['value'], $matches)) {
|
||||||
|
$search['value'] = sprintf('%04d%02d%02d', $matches[3], $matches[2], $matches[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unset($search);
|
||||||
|
|
||||||
$ops = array('eq' => array('op' => null, 'pre' => '', 'post' => ''),
|
$ops = array('eq' => array('op' => null, 'pre' => '', 'post' => ''),
|
||||||
'ne' => array('op' => '<>', 'pre' => '', 'post' => ''),
|
'ne' => array('op' => '<>', 'pre' => '', 'post' => ''),
|
||||||
'lt' => array('op' => '<', 'pre' => '', 'post' => ''),
|
'lt' => array('op' => '<', 'pre' => '', 'post' => ''),
|
||||||
'le' => array('op' => '<=', 'pre' => '', 'post' => ''),
|
'le' => array('op' => '<=', 'pre' => '', 'post' => ''),
|
||||||
'gt' => array('op' => '>', 'pre' => '', 'post' => ''),
|
'gt' => array('op' => '>', 'pre' => '', 'post' => ''),
|
||||||
'ge' => array('op' => '>=', 'pre' => '', 'post' => ''),
|
'ge' => array('op' => '>=', 'pre' => '', 'post' => ''),
|
||||||
'in' => array('op' => 'IN', 'pre' => '(', 'post' => ')'),
|
'in' => array('op' => 'IN', 'pre' => '(', 'post' => ')'),
|
||||||
'bw' => array('op' => 'LIKE', 'pre' => '', 'post' => '%'),
|
'bw' => array('op' => 'LIKE', 'pre' => '', 'post' => '%'),
|
||||||
'ew' => array('op' => 'LIKE', 'pre' => '%', 'post' => ''),
|
'ew' => array('op' => 'LIKE', 'pre' => '%', 'post' => ''),
|
||||||
'cn' => array('op' => 'LIKE', 'pre' => '%', 'post' => '%'),
|
'cn' => array('op' => 'LIKE', 'pre' => '%', 'post' => '%'),
|
||||||
@@ -1157,7 +1166,7 @@ class AppController extends Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function gridDataOutputSummary(&$params, &$model, $pagination) {
|
function gridDataOutputSummary(&$params, &$model, $pagination) {
|
||||||
if ($params['debug'])
|
if ($params['debug'])
|
||||||
echo " <params><![CDATA[\n" . print_r($params, true) . "\n]]></params>\n";
|
echo " <params><![CDATA[\n" . print_r($params, true) . "\n]]></params>\n";
|
||||||
echo " <page>{$pagination['page']}</page>\n";
|
echo " <page>{$pagination['page']}</page>\n";
|
||||||
echo " <total>{$pagination['total']}</total>\n";
|
echo " <total>{$pagination['total']}</total>\n";
|
||||||
|
|||||||
Reference in New Issue
Block a user