Skip to content

Commit

Permalink
Move code to complete repeatTransation into that function
Browse files Browse the repository at this point in the history
  • Loading branch information
eileenmcnaughton committed Jun 17, 2023
1 parent d4738bb commit 3dc120d
Showing 1 changed file with 7 additions and 10 deletions.
17 changes: 7 additions & 10 deletions CRM/Contribute/BAO/Contribution.php
Original file line number Diff line number Diff line change
Expand Up @@ -2185,6 +2185,7 @@ public static function contributionCount($contactId, $includeSoftCredit = TRUE)
* 4) Use of payment.create still limited - completetransaction is more common.
*/
protected static function repeatTransaction(array $input, array $contributionParams) {
$isCompleted = CRM_Core_PseudoConstant::getName('CRM_Contribute_BAO_Contribution', 'contribution_status_id', $contributionParams['contribution_status_id']) === 'Completed';
$templateContribution = CRM_Contribute_BAO_ContributionRecur::getTemplateContribution(
(int) $contributionParams['contribution_recur_id'],
[
Expand Down Expand Up @@ -2212,6 +2213,10 @@ protected static function repeatTransaction(array $input, array $contributionPar
CRM_Contribute_BAO_ContributionRecur::updateRecurLinkedPledge($createContribution['id'], $contributionParams['contribution_recur_id'],
$contributionParams['status_id'], $contributionParams['total_amount']);

if ($isCompleted) {
// Ideally add deprecation notice here & only accept pending for repeattransaction.
return self::completeOrder($input, NULL, $createContribution['id']);
}
return $createContribution;
}

Expand Down Expand Up @@ -3806,13 +3811,7 @@ public static function completeOrder($input, $recurringContributionID, $contribu
}

if (!$contributionID) {
$contributionResult = self::repeatTransaction($input, $contributionParams);
$contributionID = $contributionResult['id'];
if ($contributionParams['contribution_status_id'] === $completedContributionStatusID) {
// Ideally add deprecation notice here & only accept pending for repeattransaction.
return self::completeOrder($input, NULL, $contributionID);
}
return $contributionResult;
return self::repeatTransaction($input, $contributionParams);
}

if ($contributionParams['contribution_status_id'] === $completedContributionStatusID) {
Expand All @@ -3834,9 +3833,7 @@ public static function completeOrder($input, $recurringContributionID, $contribu
$contributionParams['id'] = $contributionID;
$contributionParams['is_post_payment_create'] = $isPostPaymentCreate;

if (empty($contributionResult)) {
$contributionResult = civicrm_api3('Contribution', 'create', $contributionParams);
}
$contributionResult = civicrm_api3('Contribution', 'create', $contributionParams);

$transaction->commit();
\Civi::log()->info("Contribution {$contributionParams['id']} updated successfully");
Expand Down

0 comments on commit 3dc120d

Please sign in to comment.