Port Eileen's commits from fuzion's repo
authorSeamus Lee <seamuslee001@gmail.com>
Thu, 19 May 2016 06:26:44 +0000 (06:26 +0000)
committerSeamus Lee <seamuslee001@gmail.com>
Thu, 19 May 2016 06:26:44 +0000 (06:26 +0000)
CRM/Contribute/BAO/ContributionRecur.php
CRM/Contribute/Form/UpdateSubscription.php
CRM/Contribute/Page/ContributionRecur.php
templates/CRM/Contribute/Form/UpdateSubscription.tpl

index 8d3ba9723b98f9afc18f20b0abefab7173b3aa18..5845950f9afbf4be76b41e10ba249e381488c066 100644 (file)
@@ -374,7 +374,9 @@ SELECT rec.id                   as recur_id,
        rec.is_test,
        rec.auto_renew,
        rec.currency,
-       con.id                   as contribution_id,
+       rec.campaign_id,
+       rec.financial_type_id,
+       con.id as contribution_id,
        con.contribution_page_id,
        rec.contact_id,
        mp.membership_id";
@@ -408,7 +410,7 @@ INNER JOIN civicrm_contribution       con ON ( con.id = mp.contribution_id )
       return $dao;
     }
     else {
-      return CRM_Core_DAO::$_nullObject;
+      return NULL;
     }
   }
 
index 91eca57624dd0f73a5d32c7b6a0c9952c5ec9998..742ae513f20a007fd8cadda9d53dd4d17030fd14 100644 (file)
@@ -137,6 +137,9 @@ class CRM_Contribute_Form_UpdateSubscription extends CRM_Core_Form {
     $this->_defaults = array();
     $this->_defaults['amount'] = $this->_subscriptionDetails->amount;
     $this->_defaults['installments'] = $this->_subscriptionDetails->installments;
+
+    $this->_defaults['campaign_id'] = $this->_subscriptionDetails->campaign_id;
+    $this->_defaults['financial_type_id'] = $this->_subscriptionDetails->financial_type_id;
     $this->_defaults['is_notify'] = 1;
 
     return $this->_defaults;
@@ -165,7 +168,7 @@ class CRM_Contribute_Form_UpdateSubscription extends CRM_Core_Form {
     }
 
     if (CRM_Core_Permission::check('edit contributions')) {
-      CRM_Campaign_BAO_Campaign::addCampaign($this, $this->_subscriptionDetails->campaign_id);
+      CRM_Campaign_BAO_Campaign::addCampaign($this);
     }
 
     if (CRM_Contribute_BAO_ContributionRecur::supportsFinancialTypeChange($this->_crid)) {
index c0a197265225955b740ae488381759af3f2e5839..632b462942ca700e629e744e17595122b524e2ff 100644 (file)
@@ -67,6 +67,16 @@ class CRM_Contribute_Page_ContributionRecur extends CRM_Core_Page {
         $values['contribution_status'] = CRM_Core_OptionGroup::getLabel('contribution_status', $values['contribution_status_id']);
       }
 
+      $idFields = array('contribution_status_id', 'campaign_id');
+      if (CRM_Contribute_BAO_ContributionRecur::supportsFinancialTypeChange($values['id'])) {
+        $idFields[] = 'financial_type_id';
+      }
+      foreach ($idFields as $idField) {
+        if (!empty($values[$idField])) {
+          $values[substr($idField, 0, -3)] = CRM_Core_PseudoConstant::getLabel('CRM_Contribute_BAO_ContributionRecur', $idField, $values[$idField]);
+        }
+      }
+
       $this->assign('recur', $values);
     }
   }
index 070b5e2e1524ac242618dfb29e9f60bebfbd8cb1..77fa22bb7ef6b4b8628b71e74aa198feed329817 100644 (file)
@@ -39,6 +39,8 @@
           <span class="description">{ts}Total number of payments to be made. Set this to 0 if this is an open-ended commitment i.e. no set end date.{/ts}</span></td></tr>
     {if !$self_service}
     <tr><td class="label">{$form.is_notify.label}</td><td>{$form.is_notify.html}</td></tr>
+    <tr><td class="label">{$form.campaign_id.label}</td><td>{$form.campaign_id.html}</td></tr>
+    <tr><td class="label">{$form.financial_type_id.label}</td><td>{$form.financial_type_id.html}</td></tr>
     {/if}
 
     {* Currently changes to interval, unit and cycle day are not supported. *}