From 304dc58079bf8339bd1a913501bea65fff02ea22 Mon Sep 17 00:00:00 2001 From: eileen Date: Thu, 20 Dec 2018 12:05:40 +1300 Subject: [PATCH] [REF] genericise function to add pseudoconstant data to fields to process --- CRM/Contribute/BAO/Contribution.php | 9 --------- CRM/Core/BAO/Mapping.php | 2 +- CRM/Core/DAO.php | 18 ++++++++++++++++++ 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/CRM/Contribute/BAO/Contribution.php b/CRM/Contribute/BAO/Contribution.php index bfc3956cca..9440b936b0 100644 --- a/CRM/Contribute/BAO/Contribution.php +++ b/CRM/Contribute/BAO/Contribution.php @@ -786,15 +786,6 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution { return self::$_importableFields; } - /** - * Get exportable fields with pseudoconstants rendered as an extra field. - */ - public static function getExportableFieldsWithPseudoConstants() { - $fields = self::exportableFields(); - CRM_Core_DAO::appendPseudoConstantsToFields($fields); - return $fields; - } - /** * Combine all the exportable fields from the lower level objects. * diff --git a/CRM/Core/BAO/Mapping.php b/CRM/Core/BAO/Mapping.php index ebe3c8c0da..faccc831cb 100644 --- a/CRM/Core/BAO/Mapping.php +++ b/CRM/Core/BAO/Mapping.php @@ -430,7 +430,7 @@ class CRM_Core_BAO_Mapping extends CRM_Core_DAO_Mapping { if (($mappingType == 'Search Builder') || ($exportMode == CRM_Export_Form_Select::CONTRIBUTE_EXPORT)) { if (CRM_Core_Permission::access('CiviContribute')) { - $fields['Contribution'] = CRM_Contribute_BAO_Contribution::getExportableFieldsWithPseudoConstants(); + $fields['Contribution'] = CRM_Core_DAO::getExportableFieldsWithPseudoConstants('CRM_Contribute_BAO_Contribution'); unset($fields['Contribution']['contribution_contact_id']); $compArray['Contribution'] = ts('Contribution'); } diff --git a/CRM/Core/DAO.php b/CRM/Core/DAO.php index b130576df2..0567485e0d 100644 --- a/CRM/Core/DAO.php +++ b/CRM/Core/DAO.php @@ -2812,4 +2812,22 @@ SELECT contact_id } } + /** + * Get exportable fields with pseudoconstants rendered as an extra field. + * + * @param string $baoClass + * + * @return array + */ + public static function getExportableFieldsWithPseudoConstants($baoClass) { + if (method_exists($baoClass, 'exportableFields')) { + $fields = $baoClass::exportableFields(); + } + else { + $fields = $baoClass::export(); + } + CRM_Core_DAO::appendPseudoConstantsToFields($fields); + return $fields; + } + } -- 2.25.1