From ce40afac219b38872fef1d8f052c38d85667db79 Mon Sep 17 00:00:00 2001 From: "deb.monish" Date: Wed, 27 Dec 2017 00:58:54 +0530 Subject: [PATCH] CRM-8140: Not possible to select fields for export when using Custom Searches --- CRM/Export/Form/Select.php | 54 ++++++++++++++++------------ templates/CRM/Export/Form/Select.tpl | 2 +- 2 files changed, 32 insertions(+), 24 deletions(-) diff --git a/CRM/Export/Form/Select.php b/CRM/Export/Form/Select.php index f1575a8b29..fdf563e372 100644 --- a/CRM/Export/Form/Select.php +++ b/CRM/Export/Form/Select.php @@ -70,6 +70,8 @@ class CRM_Export_Form_Select extends CRM_Core_Form { public $_componentTable; + public $_customSearchID; + /** * Build all the data structures needed to build the form. * @@ -81,13 +83,7 @@ class CRM_Export_Form_Select extends CRM_Core_Form { $this->preventAjaxSubmit(); //special case for custom search, directly give option to download csv file - $customSearchID = $this->get('customSearchID'); - if ($customSearchID) { - CRM_Export_BAO_Export::exportCustom($this->get('customSearchClass'), - $this->get('formValues'), - $this->get(CRM_Utils_Sort::SORT_ORDER) - ); - } + $this->_customSearchID = $this->get('customSearchID'); $this->_selectAll = FALSE; $this->_exportMode = self::CONTACT_EXPORT; @@ -99,7 +95,11 @@ class CRM_Export_Form_Select extends CRM_Core_Form { $isStandalone = $formName == 'CRM_Export_StateMachine_Standalone'; // get the submitted values based on search - if ($this->_action == CRM_Core_Action::ADVANCED) { + if ($this->_customSearchID) { + $values = $this->get('formValues'); + $this->assign('exportCustomSearchField', TRUE); + } + elseif ($this->_action == CRM_Core_Action::ADVANCED) { $values = $this->controller->exportValues('Advanced'); } elseif ($this->_action == CRM_Core_Action::PROFILE) { @@ -231,7 +231,7 @@ FROM {$this->_componentTable} $exportOptions = $mergeOptions = $postalMailing = array(); $exportOptions[] = $this->createElement('radio', NULL, NULL, - ts('Export PRIMARY fields'), + ts('Export %1 fields', array(1 => empty($this->_customSearchID) ? 'PRIMARY' : 'custom search')), self::EXPORT_ALL, array('onClick' => 'showMappingOption( );') ); @@ -396,20 +396,28 @@ FROM {$this->_componentTable} } if ($exportOption == self::EXPORT_ALL) { - CRM_Export_BAO_Export::exportComponents($this->_selectAll, - $this->_componentIds, - (array) $this->get('queryParams'), - $this->get(CRM_Utils_Sort::SORT_ORDER), - NULL, - $this->get('returnProperties'), - $this->_exportMode, - $this->_componentClause, - $this->_componentTable, - $mergeSameAddress, - $mergeSameHousehold, - $exportParams, - $this->get('queryOperator') - ); + if ($this->_customSearchID) { + CRM_Export_BAO_Export::exportCustom($this->get('customSearchClass'), + $this->get('formValues'), + $this->get(CRM_Utils_Sort::SORT_ORDER) + ); + } + else { + CRM_Export_BAO_Export::exportComponents($this->_selectAll, + $this->_componentIds, + (array) $this->get('queryParams'), + $this->get(CRM_Utils_Sort::SORT_ORDER), + NULL, + $this->get('returnProperties'), + $this->_exportMode, + $this->_componentClause, + $this->_componentTable, + $mergeSameAddress, + $mergeSameHousehold, + $exportParams, + $this->get('queryOperator') + ); + } } //reset map page diff --git a/templates/CRM/Export/Form/Select.tpl b/templates/CRM/Export/Form/Select.tpl index 9eff03d891..751e4926a7 100644 --- a/templates/CRM/Export/Form/Select.tpl +++ b/templates/CRM/Export/Form/Select.tpl @@ -28,7 +28,7 @@
-

{ts}Export PRIMARY fields provides the most commonly used data values. This includes primary address information, preferred phone and email.{/ts}

+

{ts}Export {if $exportCustomSearchField}custom search{else}PRIMARY{/if} fields provides the most commonly used data values. This includes primary address information, preferred phone and email.{/ts}

{ts}Click Select fields for export and then Continue to choose a subset of fields for export. This option allows you to export multiple specific locations (Home, Work, etc.) as well as custom data. You can also save your selections as a 'field mapping' so you can use it again later.{/ts}

-- 2.25.1