Got the mulitcolumn search toolbar in place, but it's not working. First I haven't managed to get an autosearch working (searching as you type). Second, and much more critically, I don't have the controller correctly responding to search terms, as it was implemented rather poorly. I'm moving on for now.

git-svn-id: file:///svn-source/pmgr/branches/ledger_transactions_20090605@113 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
abijah
2009-06-14 03:22:53 +00:00
parent b4d640f7c2
commit 336ec3b643
2 changed files with 63 additions and 29 deletions

View File

@@ -164,15 +164,25 @@ class AppController extends Controller {
}
function jqGridDataConditions(&$params) {
$searches = array();
if (isset($params['_search']) && $params['_search'] === 'true') {
$op = $params['searchOper'];
$field = $params['searchField'];
$string = $params['searchString'];
if (isset($params['searchOper'])) {
$searches[] = array('op' => $params['searchOper'],
'field' => $params['searchField'],
'value' => $params['searchString']);
}
else {
// DOH! Crappy mechanism puts toolbar search terms
// directly into params as name/value pairs. No
// way to know which elements of params are search
// terms, so skipping this at the moment.
}
}
elseif (isset($params['filt']) && $params['filt']) {
$op = 'bw';
$field = $params['filtField'];
$string = $params['filtString'];
$searches[] = array('op' => 'bw',
'field' => $params['filtField'],
'value' => $params['filtString']);
}
else {
return array();
@@ -189,10 +199,15 @@ class AppController extends Controller {
'cn' => array('op' => 'LIKE', 'pre' => '%', 'post' => '%'),
);
$op = $ops[$op];
$field .= $op['op'] ? ' '.$op['op'] : '';
$string = $op['pre'] . $string . $op['post'];
return array($field => $string);
$conditions = array();
foreach ($searches AS $search) {
$op = $ops[$search['op']];
$field = $search['field'] . ($op['op'] ? ' '.$op['op'] : '');
$value = $op['pre'] . $search['value']. $op['post'];
$conditions[] = array($field => $value);
}
return $conditions;
}
function jqGridDataFields(&$params) {