X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FContribute%2FBAO%2FContribution.php;h=879b2fb356a49f2f86a94401d11b3bdaf876f570;hb=cc71b2ea1f3ac70362b89a09f047a970197255f1;hp=19b82da2da64ea28a29e4be66ba64cc872449b9e;hpb=0fdffe8f51e90bb819e77774c125b5acffa37b20;p=civicrm-core.git diff --git a/CRM/Contribute/BAO/Contribution.php b/CRM/Contribute/BAO/Contribution.php index 19b82da2da..879b2fb356 100644 --- a/CRM/Contribute/BAO/Contribution.php +++ b/CRM/Contribute/BAO/Contribution.php @@ -127,7 +127,7 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution { $contributionStatus = CRM_Core_PseudoConstant::getName('CRM_Contribute_BAO_Contribution', 'contribution_status_id', (int) $params['contribution_status_id']); if (!$contributionID - && CRM_Utils_Array::value('membership_id', $params) + && !empty($params['membership_id']) && Civi::settings()->get('deferred_revenue_enabled') ) { $memberStartDate = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_Membership', $params['membership_id'], 'start_date'); @@ -1290,7 +1290,8 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution { if (empty($resultDAO->payment_processor_id) && CRM_Core_Permission::check('edit contributions')) { $links = [ CRM_Core_Action::UPDATE => [ - 'name' => "", + 'name' => ts('Edit Payment'), + 'icon' => 'fa-pencil', 'url' => 'civicrm/payment/edit', 'class' => 'medium-popup', 'qs' => "reset=1&id=%%id%%&contribution_id=%%contribution_id%%", @@ -2864,6 +2865,11 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac } } + $relatedContact = CRM_Contribute_BAO_Contribution::getOnbehalfIds($this->id); + if (!empty($relatedContact['individual_id'])) { + $ids['related_contact'] = $relatedContact['individual_id']; + } + if ($paymentProcessorID) { $paymentProcessor = CRM_Financial_BAO_PaymentProcessor::getPayment($paymentProcessorID, $this->is_test ? 'test' : 'live' @@ -4528,10 +4534,10 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac if (empty($contribution->_relatedObjects['participant']) && !empty($contribution->_relatedObjects['membership'])) { // @fixme Can we remove this if altogether? - we removed the participant if / else and left relatedObjects['participant'] to ensure behaviour didn't change but it is probably not required. // @todo - use getRelatedMemberships instead - $contribution->contribution_status_id = $contributionParams['contribution_status_id']; $contribution->trxn_id = $input['trxn_id'] ?? NULL; $contribution->receive_date = CRM_Utils_Date::isoToMysql($contribution->receive_date); } + $contribution->contribution_status_id = $contributionParams['contribution_status_id']; CRM_Core_Error::debug_log_message("Contribution record updated successfully"); $transaction->commit();