dev/core#1038 partial - fix checksum url for cancelling recurring with mid in the url
authoreileen <emcnaughton@wikimedia.org>
Mon, 17 Jun 2019 23:34:02 +0000 (19:34 -0400)
committereileen <emcnaughton@wikimedia.org>
Mon, 17 Jun 2019 23:34:02 +0000 (19:34 -0400)
This is a partial fix targetting when the mid is the identifier in this url - eg.
ttp://dmaster.local/civicrm/contribute/unsubscribe?reset=1&mid=35&cs=2eefe06c8d2f07bd644233c525dde0d6_1560813106_168
addressing bugs in checksum handling

CRM/Contribute/Form/CancelSubscription.php
CRM/Contribute/Form/ContributionRecur.php

index 1f32d308bae380b59ebf3193a0ea9a139f963911..d65e8d39478a46ac0d914c6290d005e113e1bc75 100644 (file)
@@ -83,10 +83,6 @@ class CRM_Contribute_Form_CancelSubscription extends CRM_Contribute_Form_Contrib
       $this->_mode = 'auto_renew';
       // CRM-18468: crid is more accurate than mid for getting
       // subscriptionDetails, so don't get them again.
-      if (!$this->_crid) {
-        $this->_paymentProcessorObj = CRM_Financial_BAO_PaymentProcessor::getProcessorForEntity($this->_mid, 'membership', 'obj');
-        $this->_subscriptionDetails = CRM_Contribute_BAO_ContributionRecur::getSubscriptionDetails($this->_mid, 'membership');
-      }
 
       $membershipTypes = CRM_Member_PseudoConstant::membershipType();
       $membershipTypeId = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_Membership', $this->_mid, 'membership_type_id');
@@ -136,7 +132,7 @@ class CRM_Contribute_Form_CancelSubscription extends CRM_Contribute_Form_Contrib
       'cancel_reason' => ['name' => 'cancel_reason'],
     ];
     $this->entityFields['send_cancel_request'] = [
-      'title' => ts('Send cancellation request to %1 ?', [1 => $this->_paymentProcessorObj->_processorName]),
+      'title' => ts('Send cancellation request?'),
       'name' => 'send_cancel_request',
       'not-auto-addable' => TRUE,
     ];
index f5b26ce4e75a80700cc9fa56d4a8610266fbf2de..9e96e10d148319c1dd139a2d5a2e3b28b3d7e9e6 100644 (file)
@@ -162,6 +162,10 @@ class CRM_Contribute_Form_ContributionRecur extends CRM_Core_Form {
       }
       $this->_paymentProcessorObj = $this->_paymentProcessor['object'];
     }
+    elseif ($this->_mid) {
+      $this->_paymentProcessorObj = CRM_Financial_BAO_PaymentProcessor::getProcessorForEntity($this->_mid, 'membership', 'obj');
+      $this->_paymentProcessor = $this->_paymentProcessorObj->getPaymentProcessor();
+    }
   }
 
   /**
@@ -174,6 +178,11 @@ class CRM_Contribute_Form_ContributionRecur extends CRM_Core_Form {
     elseif ($this->_coid) {
       $this->subscriptionDetails = $this->_subscriptionDetails = CRM_Contribute_BAO_ContributionRecur::getSubscriptionDetails($this->_coid, 'contribution');
     }
+    elseif ($this->_mid) {
+      $this->subscriptionDetails = CRM_Contribute_BAO_ContributionRecur::getSubscriptionDetails($this->_mid, 'membership');
+    }
+    // This is being set temporarily - we should eventually just use the getter fn.
+    $this->_subscriptionDetails = $this->subscriptionDetails;
   }
 
   /**