From 79d86fe672d0e65bc0529f7f2f99546c9c2d926d Mon Sep 17 00:00:00 2001 From: Denis Chenu Date: Tue, 8 Jul 2014 11:01:58 +0200 Subject: [PATCH] Fixed issue #08906: Long URI with autofilter Dev: surely same for filter too, same fix can be applied --- application/controllers/admin/tokens.php | 9 +++++++-- scripts/admin/tokens.js | 11 ++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/application/controllers/admin/tokens.php b/application/controllers/admin/tokens.php index 7681abdc142..e76315a0a7b 100644 --- a/application/controllers/admin/tokens.php +++ b/application/controllers/admin/tokens.php @@ -361,13 +361,18 @@ function getTokens_json($iSurveyId, $search = null) $sidx = Yii::app()->request->getPost('sidx', 'lastname'); $sord = Yii::app()->request->getPost('sord', 'asc'); $limit = Yii::app()->request->getPost('rows', 25); - + $aData = new stdClass; $aData->page = $page; + $aSearchArray=Yii::app()->request->getPost('searcharray'); + if(empty($search) && !empty($aSearchArray)){ + $search=$aSearchArray; + } + //die("
".print_r($search,1)."
"); if (!empty($search)) { $condition = TokenDynamic::model($iSurveyId)->getSearchMultipleCondition($search); - } else { + }else{ $condition = new CDbCriteria(); } diff --git a/scripts/admin/tokens.js b/scripts/admin/tokens.js index 9b01fdaae0d..f289f7b1e4f 100644 --- a/scripts/admin/tokens.js +++ b/scripts/admin/tokens.js @@ -394,13 +394,14 @@ $(document).ready(function() { if(sSearchString != ""){ var aSearchConditions=new Array; for(col in colInformation){ - if(colInformation[col]['quickfilter']) - aSearchConditions.push(col+"||contains||"+sSearchString); + if(colInformation[col]['quickfilter']){ + aSearchConditions.push(col);aSearchConditions.push('contains');aSearchConditions.push(sSearchString);aSearchConditions.push("or"); + } } - var sSearchConditions=aSearchConditions.join("||or||"); - oGrid.jqGrid('setGridParam', {url: jsonSearchUrl+"/"+sSearchConditions}).trigger('reloadGrid', [{current: true, page: 1}]); + aSearchConditions.pop();// remove last 'or' + oGrid.jqGrid('setGridParam', {url: jsonUrl, postData: { searcharray: aSearchConditions} }).trigger('reloadGrid', [{current: true, page: 1}]); }else{ - oGrid.jqGrid('setGridParam', {url: jsonUrl}).trigger('reloadGrid', [{current: true, page: 1}]); + oGrid.jqGrid('setGridParam', {url: jsonUrl, postData: { }}).trigger('reloadGrid', [{current: true, page: 1}]); } }, 500);