towards CRM-15555 set payment processor type on processor object
authorEileen McNaughton <eileen@fuzion.co.nz>
Mon, 3 Nov 2014 09:13:04 +0000 (22:13 +1300)
committerEileen McNaughton <eileen@fuzion.co.nz>
Mon, 3 Nov 2014 09:13:04 +0000 (22:13 +1300)
CRM/Contribute/Form/Contribution.php
CRM/Financial/BAO/PaymentProcessor.php

index 824a556f8f1ef739ab1787f07b79297f7110adfb..a96f9ed22430538094fae5b2d7938fbbfb2ac49c 100644 (file)
@@ -1620,8 +1620,12 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
     );
 
     // add all the additional payment params we need
-    $this->_params["state_province-{$this->_bltID}"] = $this->_params["billing_state_province-{$this->_bltID}"] = CRM_Core_PseudoConstant::stateProvinceAbbreviation($this->_params["billing_state_province_id-{$this->_bltID}"]);
-    $this->_params["country-{$this->_bltID}"] = $this->_params["billing_country-{$this->_bltID}"] = CRM_Core_PseudoConstant::countryIsoCode($this->_params["billing_country_id-{$this->_bltID}"]);
+    if (!empty($this->_params["billing_state_province_id-{$this->_bltID}"])) {
+      $this->_params["state_province-{$this->_bltID}"] = $this->_params["billing_state_province-{$this->_bltID}"] = CRM_Core_PseudoConstant::stateProvinceAbbreviation($this->_params["billing_state_province_id-{$this->_bltID}"]);
+    }
+    if (!empty($this->_params["billing_country_id-{$this->_bltID}"])) {
+      $this->_params["country-{$this->_bltID}"] = $this->_params["billing_country-{$this->_bltID}"] = CRM_Core_PseudoConstant::countryIsoCode($this->_params["billing_country_id-{$this->_bltID}"]);
+    }
     $legacyCreditCardExpiryCheck = FALSE;
     if ($this->_paymentProcessor['payment_type'] & CRM_Core_Payment::PAYMENT_TYPE_CREDIT_CARD && !isset($this->_paymentFields)) {
       $legacyCreditCardExpiryCheck = TRUE;
index c26e03780cc55aebb754f6c198127597e7601578..fb42a37414b098408f11d0adad1a5f93d4b27c16 100644 (file)
@@ -302,13 +302,14 @@ class CRM_Financial_BAO_PaymentProcessor extends CRM_Financial_DAO_PaymentProces
       }
     }
      * */
-    $retrievalParameters = array('is_active' => TRUE, 'options' => array('sort' => 'is_default DESC, name'));
+    $retrievalParameters = array('is_active' => TRUE, 'options' => array('sort' => 'is_default DESC, name'), 'api.payment_processor_type.getsingle' => 1);
     if ($isExcludeTest) {
       $retrievalParameters['is_test'] = 0;
     }
     $processors = civicrm_api3('payment_processor', 'get', $retrievalParameters);
     foreach ($processors['values'] as $processor) {
       $processors['values'][$processor['id']]['object'] = CRM_Core_Payment::singleton(empty($processor['is_test']) ? 'live' : 'test', $processor);
+      $processors['values'][$processor['id']]['payment_processor_type'] = $processors['values'][$processor['id']]['api.payment_processor_type.getsingle']['name'];
     }
     /*
      CRM_Utils_Cache::singleton()->set($cacheKey, $processors);