CRM-13965-qa-fixes : activity selector links for Payment, Refund, Change Registration...
authorPratik Joshi <pratik.joshi@webaccess.co.in>
Wed, 5 Mar 2014 08:44:01 +0000 (14:14 +0530)
committerPratik Joshi <pratik.joshi@webaccess.co.in>
Wed, 5 Mar 2014 08:44:01 +0000 (14:14 +0530)
CRM/Activity/Selector/Activity.php
CRM/Contribute/BAO/Contribution.php
CRM/Contribute/Form/AdditionalPayment.php

index e23498a8fd6eeb9aba6832950b4c1ed396bf6959..a3134346d65fec7e9737d7feb4ed7ea46a173a24 100644 (file)
@@ -128,6 +128,7 @@ class CRM_Activity_Selector_Activity extends CRM_Core_Selector_Base implements C
     //when activity type is disabled or no more exists give only delete.
     switch ($activityTypeName) {
       case 'Event Registration':
+      case 'Change Registration':
         $url = 'civicrm/contact/view/participant';
         $qsView = "action=view&reset=1&id={$sourceRecordId}&cid=%%cid%%&context=%%cxt%%{$extraParams}";
         break;
@@ -137,6 +138,15 @@ class CRM_Activity_Selector_Activity extends CRM_Core_Selector_Base implements C
         $qsView = "action=view&reset=1&id={$sourceRecordId}&cid=%%cid%%&context=%%cxt%%{$extraParams}";
         break;
 
+      case 'Payment':
+      case 'Refund':
+        $participantId = CRM_Core_DAO::getFieldValue('CRM_Event_BAO_ParticipantPayment', $sourceRecordId, 'participant_id', 'contribution_id');
+        if (!empty($participantId)) {
+          $url = 'civicrm/contact/view/participant';
+          $qsView = "action=view&reset=1&id={$participantId}&cid=%%cid%%&context=%%cxt%%{$extraParams}";
+        }
+        break;
+
       case 'Membership Signup':
       case 'Membership Renewal':
       case 'Change Membership Status':
index 9cf0594ef3f3b92ab7b88c03e80911cb118485a1..83b8a79f4110ed1718f854757425399e210c288e 100644 (file)
@@ -3081,28 +3081,20 @@ WHERE eft.financial_trxn_id = {$trxnId}
       }
       $activityType = ($paymentType == 'refund') ? 'Refund' : 'Payment';
 
-      // creation of activity
-      $activity = new CRM_Activity_DAO_Activity();
-      $activity->source_record_id = $financialTrxn->id;
-      $activity->activity_type_id = CRM_Core_OptionGroup::getValue('activity_type',
-        $activityType,
-        'name'
-      );
-      if (!$activity->find(TRUE)) {
-        self::addActivityForPayment($entityObj, $financialTrxn, $activityType, $component);
-      }
+      self::addActivityForPayment($entityObj, $financialTrxn, $activityType, $component, $contributionId);
     }
     return $financialTrxn;
   }
 
-  static function addActivityForPayment($entityObj, $trxnObj, $activityType, $component) {
+  static function addActivityForPayment($entityObj, $trxnObj, $activityType, $component, $contributionId) {
     if ($component == 'event') {
       $date = CRM_Utils_Date::isoToMysql($trxnObj->trxn_date);
       $paymentAmount = CRM_Utils_Money::format($trxnObj->total_amount, $trxnObj->currency);
       $eventTitle = CRM_Core_DAO::getFieldValue('CRM_Event_BAO_Event', $entityObj->event_id, 'title');
       $subject = "{$paymentAmount} - Offline {$activityType} for {$eventTitle}";
       $targetCid = $entityObj->contact_id;
-      $srcRecId = $trxnObj->id;
+      // source record id would be the contribution id
+      $srcRecId = $contributionId;
     }
 
     // activity params
index f8a2bf950b183a04c0d2385c36a14697bc04c8c6..b368ab270857c39e9e8ad852d57b4aaddbc4fa03 100644 (file)
@@ -162,6 +162,7 @@ class CRM_Contribute_Form_AdditionalPayment extends CRM_Contribute_Form_Abstract
     if ($this->_view == 'transaction' && ($this->_action & CRM_Core_Action::BROWSE)) {
       return;
     }
+    $defaults = array( );
     if ($this->_mode) {
       $defaults = $this->_values;