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;