X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FContribution.php;h=0b5b5acc2b164a06082acf14b132d08ec3097846;hb=85bb0909cffd925f4cd5c0022a68a1ff74d3ad8e;hp=c1b967838094cf467096623478db35058cf8eddd;hpb=cd061beab4edc81838d526d63d815d2d54320127;p=civicrm-core.git diff --git a/api/v3/Contribution.php b/api/v3/Contribution.php index c1b9678380..0b5b5acc2b 100644 --- a/api/v3/Contribution.php +++ b/api/v3/Contribution.php @@ -384,6 +384,9 @@ function civicrm_api3_contribution_completetransaction(&$params) { 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')); + } $objects = $contribution->_relatedObjects; $objects['contribution'] = &$contribution; $input['component'] = $contribution->_component; @@ -403,6 +406,9 @@ function civicrm_api3_contribution_completetransaction(&$params) { } } +/** + * @param $params + */ function _civicrm_api3_contribution_completetransaction(&$params) { $params['id'] = array( 'title' => 'Contribution ID',