Added query ability to the customer grid. There is a bug with the paging code, but it roughly works.
git-svn-id: file:///svn-source/pmgr/branches/ledger_transactions_20090605@109 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
@@ -98,6 +98,24 @@ class AppController extends Controller {
|
||||
else
|
||||
$fields = array($model_id);
|
||||
|
||||
if (isset($_search) && $_search === 'true') {
|
||||
$ops = array('eq' => array('op' => null, 'pre' => '', 'post' => ''),
|
||||
'ne' => array('op' => '<>', 'pre' => '', 'post' => ''),
|
||||
'lt' => array('op' => '<', 'pre' => '', 'post' => ''),
|
||||
'le' => array('op' => '<=', 'pre' => '', 'post' => ''),
|
||||
'gt' => array('op' => '>', 'pre' => '', 'post' => ''),
|
||||
'ge' => array('op' => '>=', 'pre' => '', 'post' => ''),
|
||||
'bw' => array('op' => 'LIKE', 'pre' => '', 'post' => '%'),
|
||||
'ew' => array('op' => 'LIKE', 'pre' => '%', 'post' => ''),
|
||||
'cn' => array('op' => 'LIKE', 'pre' => '%', 'post' => '%'),
|
||||
);
|
||||
|
||||
$op = $ops[$searchOper];
|
||||
$field = $searchField . ($op['op'] ? ' '.$op['op'] : '');
|
||||
$val = $op['pre'] . $searchString . $op['post'];
|
||||
$query['conditions'][] = array($field => $val);
|
||||
}
|
||||
|
||||
// Verify a few parameters and determine our starting row
|
||||
$total = ($records < 0) ? 0 : ceil($records/$rows);
|
||||
$page = ($page < 1) ? 1 : (($page > $total) ? $total : $page);
|
||||
@@ -119,6 +137,8 @@ class AppController extends Controller {
|
||||
|
||||
echo "<?xml version='1.0' encoding='utf-8'?>\n";
|
||||
echo "<rows>\n";
|
||||
/* echo " <req><![CDATA[\n" . print_r($this->params['url'], true) . "\n]]></req>\n"; */
|
||||
/* echo " <query><![CDATA[\n" . print_r($query, true) . "\n]]></query>\n"; */
|
||||
echo " <page>$page</page>\n";
|
||||
echo " <total>$total</total>\n";
|
||||
echo " <records>$records</records>\n";
|
||||
|
||||
Reference in New Issue
Block a user