CRM-17718 allow campaign id to be updated from contribution recur form
authoreileenmcnaughton <eileen@fuzion.co.nz>
Wed, 16 Dec 2015 16:14:23 +0000 (16:14 +0000)
committereileen <emcnaughton@wikimedia.org>
Wed, 23 Dec 2015 20:44:05 +0000 (09:44 +1300)
CRM/Contribute/BAO/ContributionRecur.php
CRM/Contribute/Form/UpdateSubscription.php
templates/CRM/Contribute/Form/UpdateSubscription.tpl

index ca7c4009a4eee831881cc1c539c7f81dd81834fc..a5e5add641ea5de1c47677171901d33019749936 100644 (file)
@@ -378,6 +378,7 @@ SELECT rec.id                   as recur_id,
        rec.is_test,
        rec.auto_renew,
        rec.currency,
+       rec.campaign_id,
        con.id                   as contribution_id,
        con.contribution_page_id,
        rec.contact_id,
index 6d926ccf2d133c0d84b30433d5d6e280abe9087d..1ade6eca2204004203e6feb8b3e74c7158054758 100644 (file)
@@ -132,6 +132,7 @@ 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['is_notify'] = 1;
 
     return $this->_defaults;
@@ -157,6 +158,10 @@ class CRM_Contribute_Form_UpdateSubscription extends CRM_Core_Form {
       $this->add('checkbox', 'is_notify', ts('Notify Contributor?'));
     }
 
+    if (CRM_Core_Permission::check('edit contributions')) {
+      $this->addEntityRef('campaign_id', 'Campaign', array('entity' => 'Campaign'));
+    }
+
     $type = 'next';
     if ($this->_selfService) {
       $type = 'submit';
index c43a9a2a98519ebf7971ad1b091b749cb2f99b02..35a7ec926bb99e84df28401eb7d2621a69263bcb 100644 (file)
@@ -39,6 +39,7 @@
           <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>
     {/if}
 
     {* Currently changes to interval, unit and cycle day are not supported. *}