Export: refactor default return properties retrieval to the Processor class
authoreileen <emcnaughton@wikimedia.org>
Wed, 18 Jul 2018 11:47:29 +0000 (23:47 +1200)
committereileen <emcnaughton@wikimedia.org>
Fri, 20 Jul 2018 21:37:16 +0000 (09:37 +1200)
CRM/Export/BAO/Export.php
CRM/Export/BAO/ExportProcessor.php

index 7614d268c43769d4ed87035d19976efb2246e954..4a25bfbee3dd392b00e292ec94bd2af3dbeacd50 100644 (file)
@@ -399,31 +399,7 @@ class CRM_Export_BAO_Export {
       }
     }
     else {
-      $returnProperties = [];
-      $fields = CRM_Contact_BAO_Contact::exportableFields('All', TRUE, TRUE);
-      foreach ($fields as $key => $var) {
-        if ($key && (substr($key, 0, 6) != 'custom')) {
-          //for CRM=952
-          $returnProperties[$key] = 1;
-        }
-      }
-
-      $returnProperties = array_merge($returnProperties, $processor->getAdditionalReturnProperties());
-
-      if ($queryMode != CRM_Contact_BAO_Query::MODE_CONTACTS) {
-        // unset non exportable fields for components
-        $nonExpoFields = array(
-          'groups',
-          'tags',
-          'notes',
-          'contribution_status_id',
-          'pledge_status_id',
-          'pledge_payment_status_id',
-        );
-        foreach ($nonExpoFields as $value) {
-          unset($returnProperties[$value]);
-        }
-      }
+      $returnProperties = $processor->getDefaultReturnProperties();
     }
 
     if ($mergeSameAddress) {
index 449792fdb3ee08f4cd98d33e778fd666bd1f9069..fe9b75fa882fe96f2807f5586e279521e1411d9e 100644 (file)
@@ -234,12 +234,16 @@ class CRM_Export_BAO_ExportProcessor {
     }
     if ($this->getQueryMode() === CRM_Contact_BAO_Query::MODE_PLEDGE) {
       $componentSpecificFields = array_merge($componentSpecificFields, CRM_Pledge_BAO_Query::extraReturnProperties($this->getQueryMode()));
+      unset($componentSpecificFields['contribution_status_id']);
+      unset($componentSpecificFields['pledge_status_id']);
+      unset($componentSpecificFields['pledge_payment_status_id']);
     }
     if ($this->getQueryMode() === CRM_Contact_BAO_Query::MODE_CASE) {
       $componentSpecificFields = array_merge($componentSpecificFields, CRM_Case_BAO_Query::extraReturnProperties($this->getQueryMode()));
     }
     if ($this->getQueryMode() === CRM_Contact_BAO_Query::MODE_CONTRIBUTE) {
       $componentSpecificFields = array_merge($componentSpecificFields, CRM_Contribute_BAO_Query::softCreditReturnProperties(TRUE));
+      unset($componentSpecificFields['contribution_status_id']);
     }
     return array_merge(array_fill_keys($missing, 1), $componentSpecificFields);
   }