From 953113bdb226ec47f15b2588507a189c727b8dab Mon Sep 17 00:00:00 2001 From: Henri Queneau <henri.queneau@maarch.org> Date: Thu, 16 Apr 2015 12:29:09 +0000 Subject: [PATCH] FEAT #2120 keep the filter and the pagination in the list result --- maarch_entreprise/trunk/class/class_lists.php | 57 ++++++++++++++--- .../trunk/documents_list_with_attachments.php | 17 ++++++ .../trunk/indexing_searching/details.php | 4 ++ maarch_entreprise/trunk/js/functions.js | 61 +++++++++++++++++++ 4 files changed, 132 insertions(+), 7 deletions(-) diff --git a/maarch_entreprise/trunk/class/class_lists.php b/maarch_entreprise/trunk/class/class_lists.php index 071c79e25d2..48f7c75a6ef 100644 --- a/maarch_entreprise/trunk/class/class_lists.php +++ b/maarch_entreprise/trunk/class/class_lists.php @@ -594,11 +594,31 @@ class lists extends dbquery } private function _resetFilter() { - - foreach ($_SESSION['filters'] as $key => $val) { - $_SESSION['filters'][$key]['VALUE'] = ''; - $_SESSION['filters'][$key]['CLAUSE'] = ''; - } + + if($_SESSION['basket_used'] != $_SESSION['current_basket']['id']){ + + foreach ($_SESSION['filters'] as $key => $val) { + $_SESSION['filters'][$key]['VALUE'] = ''; + $_SESSION['filters'][$key]['CLAUSE'] = ''; + } + }/*elseif($_SESSION['basket_used'] == $_GET['baskets']){ + foreach ($_SESSION['filters'] as $key => $val) { + $_SESSION['filters'][$key]['VALUE'] = ''; + $_SESSION['filters'][$key]['CLAUSE'] = ''; + } + + }*/ + + + } + + private function _resetFilter2() { + + foreach ($_SESSION['filters'] as $key => $val) { + $_SESSION['filters'][$key]['VALUE'] = ''; + $_SESSION['filters'][$key]['CLAUSE'] = ''; + } + } private function _manageFilters() { @@ -606,7 +626,7 @@ class lists extends dbquery //Reset all filters if ($_REQUEST['filter'] == 'reset'){ - $this->_resetFilter(); + $this->_resetFilter2(); } else { //Init filter value and clause if(isset($_REQUEST['value']) && !empty($_REQUEST['value'])) { @@ -2544,7 +2564,7 @@ class lists extends dbquery $filters .= $filtersControl; //Clear icon $filters .=' <a href="javascript://" title="'._CLEAR_SEARCH.'" onfocus="this.blur()" ' - .'onclick="javascript:loadList(\''.$this->link + .'onclick="javascript:loadList2(\''.$this->link .'&filter=reset\', \''.$this->divListId.'\', ' .$this->modeReturn.');">' .'<i class="fa fa-refresh fa-2x" title="' . _CLEAR_SEARCH . '"></i></a>'; @@ -3331,6 +3351,29 @@ class lists extends dbquery return $list; + } + public function loadList2($target, $showLoading=true, $divListId='divList', $returnMode = 'true', $init='true') { + $list = "\n"; + $loading =''; + //Reset filters + $this->_resetFilter2(); + + //Reset html template list url + $this->_resetUrlTemplates(); + + //Create javascript load list function + $list .= '<script type="text/javascript">loadList2(\''.$target.'&display=true\', \''.$divListId.'\', '.$returnMode.', '.$init.');</script>'; + + //Show loading image? + if ($showLoading === true) { + $loading = '<i class="fa fa-spinner fa-2x"></i>'; + } + + //Content div + $list .= '<div id="'.$divListId.'" name="'.$divListId.'">'.$loading.'</div>'; + + return $list; + } public function debug($viewAll=true) { diff --git a/maarch_entreprise/trunk/documents_list_with_attachments.php b/maarch_entreprise/trunk/documents_list_with_attachments.php index c07e0dd0f8a..0bb338c4b39 100644 --- a/maarch_entreprise/trunk/documents_list_with_attachments.php +++ b/maarch_entreprise/trunk/documents_list_with_attachments.php @@ -44,6 +44,23 @@ $list = new lists(); //Include definition fields include_once('apps/' . $_SESSION['config']['app_id'] . '/definition_mail_categories.php'); +//Order + $order = $order_field = ''; + $order = $list->getOrder(); + $order_field = $list->getOrderField(); + $_SESSION['save_list']['order'] = $order; + $_SESSION['save_list']['order_field'] = $order_field; + //URL extra Parameters + $parameters = ''; + $start = $list->getStart(); + if (!empty($order_field) && !empty($order)) $parameters .= '&order='.$order.'&order_field='.$order_field; + if (!empty($what)) $parameters .= '&what='.$what; + if (!empty($selectedTemplate)) $parameters .= '&template='.$selectedTemplate; + if (!empty($start)) $parameters .= '&start='.$start; + $_SESSION['save_list']['start'] = $start; + + + //Keep some parameters $parameters = ''; if (isset($_REQUEST['order']) && !empty($_REQUEST['order'])) { diff --git a/maarch_entreprise/trunk/indexing_searching/details.php b/maarch_entreprise/trunk/indexing_searching/details.php index e4d5b8871b3..89387c78ce6 100644 --- a/maarch_entreprise/trunk/indexing_searching/details.php +++ b/maarch_entreprise/trunk/indexing_searching/details.php @@ -45,6 +45,8 @@ require_once 'core/class/LinkController.php'; require_once 'apps/' . $_SESSION['config']['app_id'] . '/class/class_indexing_searching_app.php'; require_once 'apps/' . $_SESSION['config']['app_id'] . '/class/class_types.php'; +$_SESSION['basket_used'] = $_SESSION['current_basket']['id']; + if (file_exists( $_SESSION['config']['corepath'] . 'custom/apps/' . $_SESSION['config']['app_id'] . '/definition_mail_categories.php' @@ -1660,6 +1662,8 @@ $_SESSION['doc_convert'] = array(); $_SESSION['doc_convert']['details_result'] = $detailsExport; $core = new core_tools(); + + /*if ($printDetails) { $Fnm = $_SESSION['config']['tmppath']. '/export_details_' . $_SESSION['user']['UserId'] . '_export.html'; diff --git a/maarch_entreprise/trunk/js/functions.js b/maarch_entreprise/trunk/js/functions.js index ad662fbbdc7..80ff9a01585 100644 --- a/maarch_entreprise/trunk/js/functions.js +++ b/maarch_entreprise/trunk/js/functions.js @@ -2406,6 +2406,26 @@ function stockCheckbox(url,value){ } +function cleanSessionBasket(url,value){ + //fait appel à l'ajax cleanSessionBasket du module basket pour vider la $_SESSION['basket_used'] + if(value != ''){ + new Ajax.Request(url, + + { + method:'post', + parameters: { courrier_purpose : value}, + onSuccess: function(answer){ + eval("response = "+answer.responseText); + //monTableauJS = JSON.parse(answer.responseText); + + + } + }) + }; + +} + + function loadRepList(id) { new Effect.toggle('repList_'+id, 'appear' , {delay:0.2}); @@ -2679,7 +2699,48 @@ function loadList(path, inDiv, modeReturn, init) { } }); } +function loadList2(path, inDiv, modeReturn, init) { + //alert (modeReturn); + if(typeof(inDiv)==='undefined'){ + var div = 'divList'; + } else { + var div = inDiv; + } + if(typeof(modeReturn)==='undefined'){ + var modeReturn = false; + } + if(typeof(init)==='undefined'){ + window.top.$('main_error').innerHTML = ''; + window.top.$('main_info').innerHTML = ''; + } + path = path.replace('#', '%23'); + new Ajax.Request(path, + { + method:'post', + parameters: { url : path + }, + /* onLoading: function(answer) { + //show loading image in toolbar + $('loading').style.display='block'; + },*/ + onSuccess: function(answer){ + if (modeReturn !== false) { + eval("response = "+answer.responseText); + if(response.status == 0){ + $(div).innerHTML = convertToHTMLVisibleNewline(response.content); + evalMyScripts(div); + } else { + window.top.$('main_error').innerHTML = response.error; + } + } else { + $(div).innerHTML = answer.responseText; + evalMyScripts(div); + } + // $('loading').style.display='none'; + } + }); +} function loadValueInDiv(theId, url) { new Effect.toggle('subList_' + theId, 'appear' , {delay:0.2}); -- GitLab