diff --git a/layouts/v7/modules/Vtiger/AddCommentForm.tpl b/layouts/v7/modules/Vtiger/AddCommentForm.tpl index 3238c76b185aa870aedeefd0eceedd9a889c8e8d..a3771e2286b142b69af0f26bef23a5fcdf4a4453 100644 --- a/layouts/v7/modules/Vtiger/AddCommentForm.tpl +++ b/layouts/v7/modules/Vtiger/AddCommentForm.tpl @@ -22,6 +22,7 @@ <input type="hidden" name="operator" value="{$OPERATOR}" /> <input type="hidden" name="search_value" value="{$ALPHABET_VALUE}" /> <input type="hidden" name="search_params" value='{Vtiger_Util_Helper::toSafeHTML(ZEND_JSON::encode($SEARCH_PARAMS))}' /> + <input type="hidden" name="tag_params" value={ZEND_JSON::encode($TAG_PARAMS)}> {assign var=HEADER_TITLE value={vtranslate('LBL_ADDING_COMMENT', $MODULE)}} {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE} diff --git a/layouts/v7/modules/Vtiger/MassEditForm.tpl b/layouts/v7/modules/Vtiger/MassEditForm.tpl index 8fc24ee416665a0726c9a591a5186a5da8f4b3ff..0a138c42e10424f3f0f947135fbca47e07cbfcc4 100644 --- a/layouts/v7/modules/Vtiger/MassEditForm.tpl +++ b/layouts/v7/modules/Vtiger/MassEditForm.tpl @@ -17,6 +17,7 @@ <input type="hidden" name="viewname" value="{$CVID}" /> <input type="hidden" name="selected_ids" value={ZEND_JSON::encode($SELECTED_IDS)}> <input type="hidden" name="excluded_ids" value={ZEND_JSON::encode($EXCLUDED_IDS)}> + <input type="hidden" name="tag_params" value={ZEND_JSON::encode($TAG_PARAMS)}> <input type="hidden" name="search_params" value='{Vtiger_Util_Helper::toSafeHTML(ZEND_JSON::encode($SEARCH_PARAMS))}' /> <div> <header class="overlayHeader" style='flex:0 0 auto;'> diff --git a/layouts/v7/modules/Vtiger/SelectEmailFields.tpl b/layouts/v7/modules/Vtiger/SelectEmailFields.tpl index 7094c7793fb1a2efb4dc3c74003fd4d7e96ff5e5..98db34602f502efa8c749165e175a861010df081 100644 --- a/layouts/v7/modules/Vtiger/SelectEmailFields.tpl +++ b/layouts/v7/modules/Vtiger/SelectEmailFields.tpl @@ -23,6 +23,7 @@ <input type="hidden" name="search_key" value= "{$SEARCH_KEY}" /> <input type="hidden" name="operator" value="{$OPERATOR}" /> <input type="hidden" name="search_value" value="{$ALPHABET_VALUE}" /> + <input type="hidden" name="tag_params" value={ZEND_JSON::encode($TAG_PARAMS)}> {if $SEARCH_PARAMS} <input type="hidden" name="search_params" value='{Vtiger_Util_Helper::toSafeHTML(ZEND_JSON::encode($SEARCH_PARAMS))}' /> {/if} diff --git a/layouts/v7/modules/Vtiger/resources/List.js b/layouts/v7/modules/Vtiger/resources/List.js index c73c6fdb09c64b0daae7bef733d50adaa58eb97c..888b5fba8a2f48f935044692c65d5a3305d111c0 100644 --- a/layouts/v7/modules/Vtiger/resources/List.js +++ b/layouts/v7/modules/Vtiger/resources/List.js @@ -119,7 +119,7 @@ Vtiger.Class("Vtiger_List_Js", { var listSelectParams = listInstance.getListSelectAllParams(); if (listSelectParams) { app.helper.showProgress(); - app.request.get({'url': massActionUrl}).then( + app.request.get({'url': massActionUrl,'data': listSelectParams}).then( function (error, data) { app.helper.hideProgress(); if (data) { @@ -1430,11 +1430,15 @@ Vtiger.Class("Vtiger_List_Js", { recordSelectTracker.clearList(); }, getListSelectAllParams: function (jsonDecode) { - var self = this; - var recordSelectTrackerInstance = self.getRecordSelectTrackerInstance(); - var params = recordSelectTrackerInstance.getSelectedAndExcludedIds(jsonDecode); - params.search_params = JSON.stringify(self.getListSearchParams()); - return params; + var self = this; + var recordSelectTrackerInstance = self.getRecordSelectTrackerInstance(); + var params = recordSelectTrackerInstance.getSelectedAndExcludedIds(jsonDecode); + params.search_params = JSON.stringify(self.getListSearchParams()); + var container = self.getListViewContainer(); + params.tag_params = JSON.stringify(self.getListTagParams()); + params.tag = container.find('[name="tag"]').val(); + params.master_search_params = container.find('[name="masterSearchParams"]').val(); + return params; }, registerCheckBoxClickEvent: function () { var self = this; diff --git a/modules/Accounts/actions/TransferOwnership.php b/modules/Accounts/actions/TransferOwnership.php index d5b11d18fbb904d08890491ae8ffdb27bf86cc77..292bdecf07ddbdce7959a4cd5636ff5fe657777e 100644 --- a/modules/Accounts/actions/TransferOwnership.php +++ b/modules/Accounts/actions/TransferOwnership.php @@ -79,18 +79,40 @@ class Accounts_TransferOwnership_Action extends Vtiger_Action_Controller { } } + $tagParams = $request->get('tag_params'); + $tag = $request->get('tag'); + $listViewSessionKey = $module.'_'.$cvId; + + if(!empty($tag)) { + $listViewSessionKey .='_'.$tag; + } + + $orderParams = Vtiger_ListView_Model::getSortParamsSession($listViewSessionKey); + if(!empty($tag) && empty($tagParams)){ + $tagParams = $orderParams['tag_params']; + } + + if(empty($tagParams)){ + $tagParams = array(); + } + + $searchParams = $request->get('search_params'); + if(empty($searchParams) && !is_array($searchParams)){ + $searchParams = array(); + } + $searchAndTagParams = array_merge($searchParams, $tagParams); + if($selectedIds == 'all'){ $customViewModel = CustomView_Record_Model::getInstanceById($cvId); if($customViewModel) { $operator = $request->get('operator'); - $searchParams = $request->get('search_params'); if (!empty($operator)) { $customViewModel->set('operator', $operator); $customViewModel->set('search_key', $request->get('search_key')); $customViewModel->set('search_value', $request->get('search_value')); } - if (!empty($searchParams)) { - $customViewModel->set('search_params', $searchParams); + if (!empty($searchAndTagParams)) { + $customViewModel->set('search_params', $searchAndTagParams); } return $customViewModel->getRecordIds($excludedIds, $module); } diff --git a/modules/Vtiger/actions/Mass.php b/modules/Vtiger/actions/Mass.php index cb2a11c2de69d8c438623a3601b0de68bd10410c..8ca99c3cfd98cbae8cf4925c34f531d9744c6f78 100644 --- a/modules/Vtiger/actions/Mass.php +++ b/modules/Vtiger/actions/Mass.php @@ -32,7 +32,35 @@ abstract class Vtiger_Mass_Action extends Vtiger_Action_Controller { return $selectedIds; } } + $tagParams = $request->get('tag_params'); + $tag = $request->get('tag'); + $listViewSessionKey = $module.'_'.$cvId; + if(!empty($tag)) { + $listViewSessionKey .='_'.$tag; + } + + $orderParams = Vtiger_ListView_Model::getSortParamsSession($listViewSessionKey); + if(!empty($tag) && empty($tagParams)){ + $tagParams = $orderParams['tag_params']; + } + + if(empty($tagParams)){ + $tagParams = array(); + } + + $searchParams = $request->get('search_params'); + if(empty($searchParams) || !is_array($searchParams)){ + $searchParams = array(); + } + $masterSearchParams = $request->get('master_search_params'); + if (!$masterSearchParams || !is_array($masterSearchParams)) { + $masterSearchParams = array(); + } + + $searchAndTagParams = array_merge($searchParams, $tagParams); + $searchAndTagParams = array_merge($masterSearchParams, $searchAndTagParams); + $customViewModel = CustomView_Record_Model::getInstanceById($cvId); if($customViewModel) { $searchKey = $request->get('search_key'); @@ -53,7 +81,7 @@ abstract class Vtiger_Mass_Action extends Vtiger_Action_Controller { $customViewModel->set('folder_value', $request->get('folder_value')); } - $customViewModel->set('search_params',$request->get('search_params')); + $customViewModel->set('search_params',$searchAndTagParams); return $customViewModel->getRecordIds($excludedIds,$module); } } diff --git a/modules/Vtiger/views/ComposeEmail.php b/modules/Vtiger/views/ComposeEmail.php index f06c1375eed8cea67ad1072c4a7f737cbac5c453..5e832f4b60c0cc280e03f96037a472153eb21099 100644 --- a/modules/Vtiger/views/ComposeEmail.php +++ b/modules/Vtiger/views/ComposeEmail.php @@ -273,6 +273,27 @@ class Vtiger_ComposeEmail_View extends Vtiger_Footer_View { $cvId = $request->get('viewname'); $selectedIds = $request->get('selected_ids'); $excludedIds = $request->get('excluded_ids'); + $tagParams = $request->get('tag_params'); + $tag = $request->get('tag'); + $listViewSessionKey = $moduleName.'_'.$cvId; + + if(!empty($tag)) { + $listViewSessionKey .='_'.$tag; + } + + $orderParams = Vtiger_ListView_Model::getSortParamsSession($listViewSessionKey); + if(!empty($tag) && empty($tagParams)){ + $tagParams = $orderParams['tag_params']; + } + + if(empty($tagParams)){ + $tagParams = array(); + } + + if(!is_array($tagParams)) + { + $tagParams = array($tagParams); + } if(!empty($selectedIds) && $selectedIds != 'all') { if(!empty($selectedIds) && count($selectedIds) > 0) { @@ -280,6 +301,11 @@ class Vtiger_ComposeEmail_View extends Vtiger_Footer_View { } } + $searchParams = $request->get('search_params'); + if(empty($searchParams) && !is_array($searchParams)){ + $searchParams = array(); + } + $searchAndTagParams = array_merge($searchParams, $tagParams); $sourceRecord = $request->get('sourceRecord'); $sourceModule = $request->get('sourceModule'); if ($sourceRecord && $sourceModule) { @@ -297,7 +323,7 @@ class Vtiger_ComposeEmail_View extends Vtiger_Footer_View { $customViewModel->set('search_key', $searchKey); $customViewModel->set('search_value', $searchValue); } - $customViewModel->set('search_params', $request->get('search_params')); + $customViewModel->set('search_params', $searchAndTagParams); return $customViewModel->getRecordIds($excludedIds); } return array(); diff --git a/modules/Vtiger/views/MassActionAjax.php b/modules/Vtiger/views/MassActionAjax.php index 9073a7810e802f68974a0f969a3dbd2c97d91ed7..e954da59b85276e5754b6c7d415950a949aa412d 100644 --- a/modules/Vtiger/views/MassActionAjax.php +++ b/modules/Vtiger/views/MassActionAjax.php @@ -71,6 +71,10 @@ class Vtiger_MassActionAjax_View extends Vtiger_IndexAjax_View { $cvId = $request->get('viewname'); $selectedIds = $request->get('selected_ids'); $excludedIds = $request->get('excluded_ids'); + $tagParams = $request->get('tag_params'); + if(empty($tagParams)){ + $tagParams = array(); + } $viewer = $this->getViewer($request); @@ -96,6 +100,7 @@ class Vtiger_MassActionAjax_View extends Vtiger_IndexAjax_View { $viewer->assign('CVID', $cvId); $viewer->assign('SELECTED_IDS', $selectedIds); $viewer->assign('EXCLUDED_IDS', $excludedIds); + $viewer->assign('TAG_PARAMS', $tagParams); $viewer->assign('VIEW_SOURCE','MASSEDIT'); $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); $viewer->assign('MODULE_MODEL',$moduleModel); @@ -129,6 +134,10 @@ class Vtiger_MassActionAjax_View extends Vtiger_IndexAjax_View { $cvId = $request->get('viewname'); $selectedIds = $request->get('selected_ids'); $excludedIds = $request->get('excluded_ids'); + $tagParams = $request->get('tag_params'); + if(empty($tagParams)){ + $tagParams = array(); + } $viewer = $this->getViewer($request); $viewer->assign('SOURCE_MODULE', $sourceModule); @@ -136,6 +145,7 @@ class Vtiger_MassActionAjax_View extends Vtiger_IndexAjax_View { $viewer->assign('CVID', $cvId); $viewer->assign('SELECTED_IDS', $selectedIds); $viewer->assign('EXCLUDED_IDS', $excludedIds); + $viewer->assign('TAG_PARAMS', $tagParams); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $modCommentsModel = Vtiger_Module_Model::getInstance($moduleName); @@ -175,6 +185,10 @@ class Vtiger_MassActionAjax_View extends Vtiger_IndexAjax_View { $excludedIds = $request->get('excluded_ids'); $step = $request->get('step'); $relatedLoad = $request->get('relatedLoad'); + $tagParams = $request->get('tag_params'); + if(empty($tagParams)){ + $tagParams = array(); + } $emailFieldsInfo = $this->getEmailFieldsInfo($request); $viewer = $this->getViewer($request); @@ -184,6 +198,7 @@ class Vtiger_MassActionAjax_View extends Vtiger_IndexAjax_View { $viewer->assign('VIEWNAME', $cvId); $viewer->assign('SELECTED_IDS', $selectedIds); $viewer->assign('EXCLUDED_IDS', $excludedIds); + $viewer->assign('TAG_PARAMS', $tagParams); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('SELECTED_EMAIL_SOURCE_MODULE', $sourceModule); @@ -398,6 +413,27 @@ class Vtiger_MassActionAjax_View extends Vtiger_IndexAjax_View { return $selectedIds; } } + $tagParams = $request->get('tag_params'); + $tag = $request->get('tag'); + $listViewSessionKey = $module.'_'.$cvId; + + if(!empty($tag)) { + $listViewSessionKey .='_'.$tag; + } + + $orderParams = Vtiger_ListView_Model::getSortParamsSession($listViewSessionKey); + if(!empty($tag) && empty($tagParams)){ + $tagParams = $orderParams['tag_params']; + } + + if(empty($tagParams)){ + $tagParams = array(); + } + $searchParams = $request->get('search_params'); + if(empty($searchParams) && !is_array($searchParams)){ + $searchParams = array(); + } + $searchAndTagParams = array_merge($searchParams, $tagParams); $sourceRecord = $request->get('sourceRecord'); $sourceModule = $request->get('sourceModule'); @@ -416,7 +452,7 @@ class Vtiger_MassActionAjax_View extends Vtiger_IndexAjax_View { $customViewModel->set('search_key', $searchKey); $customViewModel->set('search_value', $searchValue); } - $customViewModel->set('search_params', $request->get('search_params')); + $customViewModel->set('search_params', $searchAndTagParams); return $customViewModel->getRecordIds($excludedIds,$module); } }