From 5ddd6889ec8898fee5d7964d0845d8ffbeeaceb5 Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Wed, 29 Jul 2015 09:21:50 +1200 Subject: [PATCH] CRM-16926 complete recurring transactions when payment_status_id = 1, carefully to grandfather in Conflicts: CRM/Contribute/BAO/Contribution/Utils.php --- api/v3/Contribution.php | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/api/v3/Contribution.php b/api/v3/Contribution.php index 20cc1aedc7..0cf23a94c8 100644 --- a/api/v3/Contribution.php +++ b/api/v3/Contribution.php @@ -419,19 +419,16 @@ function civicrm_api3_contribution_completetransaction(&$params) { if (!$contribution->id == $params['id']) { throw new API_Exception('A valid contribution ID is required', 'invalid_data'); } - try { - if (!$contribution->loadRelatedObjects($input, $ids, FALSE, TRUE)) { - throw new API_Exception('failed to load related objects'); - } - elseif ($contribution->contribution_status_id == CRM_Core_OptionGroup::getValue('contribution_status', 'Completed', 'name')) { - throw new API_Exception(ts('Contribution already completed')); - } - $input['trxn_id'] = !empty($params['trxn_id']) ? $params['trxn_id'] : $contribution->trxn_id; - $params = _ipn_process_transaction($params, $contribution, $input, $ids); + + if (!$contribution->loadRelatedObjects($input, $ids, FALSE, TRUE)) { + throw new API_Exception('failed to load related objects'); } - catch(Exception $e) { - throw new API_Exception('failed to load related objects' . $e->getMessage() . "\n" . $e->getTraceAsString()); + elseif ($contribution->contribution_status_id == CRM_Core_OptionGroup::getValue('contribution_status', 'Completed', 'name')) { + throw new API_Exception(ts('Contribution already completed'), 'contribution_completed'); } + $input['trxn_id'] = !empty($params['trxn_id']) ? $params['trxn_id'] : $contribution->trxn_id; + $params = _ipn_process_transaction($params, $contribution, $input, $ids); + } /** -- 2.25.1