diff --git a/layouts/v7/modules/Vtiger/ListViewContents.tpl b/layouts/v7/modules/Vtiger/ListViewContents.tpl index fd813e26f3055c384b7b1b6d8bb8fba53f1d7ca8..61425fe545bb60645787e641e2efe08637f95e60 100644 --- a/layouts/v7/modules/Vtiger/ListViewContents.tpl +++ b/layouts/v7/modules/Vtiger/ListViewContents.tpl @@ -31,7 +31,7 @@ <input type='hidden' name="pageLimit" value="{$PAGING_MODEL->getPageLimit()}" id='pageLimit'> <input type="hidden" name="noOfEntries" value="{$LISTVIEW_ENTRIES_COUNT}" id="noOfEntries"> <input type="hidden" name="currentSearchParams" value="{Vtiger_Util_Helper::toSafeHTML(Zend_JSON::encode($SEARCH_DETAILS))}" id="currentSearchParams" /> - <input type="hidden" name="currentTagParams" value="{Vtiger_Util_Helper::toSafeHTML(Zend_JSON::encode($TAG_DETAILS))}" id="currentTagParams" /> + <input type="hidden" name="currentTagParams" value="{Vtiger_Util_Helper::toSafeHTML(Zend_JSON::encode($TAG_DETAILS))}" id="currentTagParams" /> <input type="hidden" name="noFilterCache" value="{$NO_SEARCH_PARAMS_CACHE}" id="noFilterCache" > <input type="hidden" name="orderBy" value="{$ORDER_BY}" id="orderBy"> <input type="hidden" name="sortOrder" value="{$SORT_ORDER}" id="sortOrder"> diff --git a/modules/Documents/views/List.php b/modules/Documents/views/List.php index a40df10f0b1dceea3226f20c0b677c0bd8672de3..60cc0d8f1692974f0792d814a1cd84d36fefe37b 100644 --- a/modules/Documents/views/List.php +++ b/modules/Documents/views/List.php @@ -180,9 +180,9 @@ class Documents_List_View extends Vtiger_List_View { $tagParams = array(); } - $searchParams = array_merge($searchParams, $tagParams); + $searchAndTagParams = array_merge($searchParams, $tagParams); - $transformedSearchParams = $this->transferListSearchParamsToFilterCondition($searchParams, $listViewModel->getModule()); + $transformedSearchParams = $this->transferListSearchParamsToFilterCondition($searchAndTagParams, $listViewModel->getModule()); $listViewModel->set('search_params',$transformedSearchParams); @@ -196,6 +196,15 @@ class Documents_List_View extends Vtiger_List_View { } } + + foreach($tagParams as $fieldListGroup){ + foreach($fieldListGroup as $fieldSearchInfo){ + $fieldSearchInfo['searchValue'] = $fieldSearchInfo[2]; + $fieldSearchInfo['fieldName'] = $fieldName = $fieldSearchInfo[0]; + $fieldSearchInfo['comparator'] = $fieldSearchInfo[1]; + $tagParams[$fieldName] = $fieldSearchInfo; + } + } $folderId = $request->get('folder_id'); $folderValue = $request->get('folder_value'); @@ -280,6 +289,7 @@ class Documents_List_View extends Vtiger_List_View { $viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView')); $viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete')); $viewer->assign('SEARCH_DETAILS', $searchParams); + $viewer->assign('TAG_DETAILS', $tagParams); $viewer->assign('LIST_VIEW_MODEL', $listViewModel); $viewer->assign('NO_SEARCH_PARAMS_CACHE', $request->get('nolistcache')); $viewer->assign('VIEWID', $cvId); diff --git a/modules/Vtiger/views/List.php b/modules/Vtiger/views/List.php index 7e97088ea15fe92128debf4f80bf46784f15b504..6f607bf6e551ec09756e5bd4eba77874259b9e65 100644 --- a/modules/Vtiger/views/List.php +++ b/modules/Vtiger/views/List.php @@ -188,16 +188,16 @@ class Vtiger_List_View extends Vtiger_Index_View { Vtiger_ListView_Model::setSortParamsSession($tagSessionKey, $tag); } + if(empty($cvId)) { + $customView = new CustomView(); + $cvId = $customView->getViewId($moduleName); + } + $listViewSessionKey = $moduleName.'_'.$cvId; if(!empty($tag)) { $listViewSessionKey .='_'.$tag; } - if(empty($cvId)) { - $customView = new CustomView(); - $cvId = $customView->getViewId($moduleName); - } - $orderParams = Vtiger_ListView_Model::getSortParamsSession($listViewSessionKey); if($request->get('mode') == 'removeAlphabetSearch') { Vtiger_ListView_Model::deleteParamsSession($listViewSessionKey, array('search_key', 'search_value', 'operator')); @@ -213,11 +213,12 @@ class Vtiger_List_View extends Vtiger_Index_View { if(empty($listHeaders)) { $listHeaders = $orderParams['list_headers']; } - - if(!empty($tag) && empty($tagParams)){ - $tagParams = $orderParams['tag_params']; + + + if(!empty($tag) && empty($tagParams)){ + $tagParams = $orderParams['tag_params']; } - + if(empty($orderBy) && empty($searchValue) && empty($pageNumber)) { if($orderParams) { $pageNumber = $orderParams['page']; @@ -226,6 +227,9 @@ class Vtiger_List_View extends Vtiger_Index_View { $searchKey = $orderParams['search_key']; $searchValue = $orderParams['search_value']; $operator = $orderParams['operator']; + if(empty($tagParams)){ + $tagParams = $orderParams['tag_params']; + } if(empty($searchParams)) { $searchParams = $orderParams['search_params']; } @@ -415,7 +419,7 @@ class Vtiger_List_View extends Vtiger_Index_View { $viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView')); $viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete')); $viewer->assign('SEARCH_DETAILS', $searchParams); - $viewer->assign('TAG_DETAILS', $tagParams); + $viewer->assign('TAG_DETAILS', $tagParams); $viewer->assign('NO_SEARCH_PARAMS_CACHE', $request->get('nolistcache')); $viewer->assign('STAR_FILTER_MODE',$starFilterMode); $viewer->assign('VIEWID', $cvId);