X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FContribution.php;h=cd9f8f79d317a59fce43b5878749053889b40660;hb=c974760493c0527ff101a9bed6131714b1fda428;hp=370f8135a7c34ab4d6107be55310f53eda05d682;hpb=35598dc5bbdd980bc0d93e7348d844f519acd504;p=civicrm-core.git diff --git a/api/v3/Contribution.php b/api/v3/Contribution.php index 370f8135a7..cd9f8f79d3 100644 --- a/api/v3/Contribution.php +++ b/api/v3/Contribution.php @@ -83,6 +83,7 @@ function _civicrm_api3_contribution_create_spec(&$params) { $params['contact_id']['api.required'] = 1; $params['total_amount']['api.required'] = 1; $params['payment_instrument_id']['api.aliases'] = array('payment_instrument'); + $params['receive_date']['api.default'] = 'now'; $params['payment_processor'] = array( 'name' => 'payment_processor', 'title' => 'Payment Processor ID', @@ -174,30 +175,9 @@ function _civicrm_api3_contribution_delete_spec(&$params) { */ function civicrm_api3_contribution_get($params) { - $options = _civicrm_api3_get_options_from_params($params, TRUE,'contribution','get'); - $sort = CRM_Utils_Array::value('sort', $options, NULL); - $offset = CRM_Utils_Array::value('offset', $options); - $rowCount = CRM_Utils_Array::value('limit', $options); - $smartGroupCache = CRM_Utils_Array::value('smartGroupCache', $params); - $inputParams = CRM_Utils_Array::value('input_params', $options, array()); - $returnProperties = CRM_Utils_Array::value('return', $options, NULL); - if (empty($returnProperties)) { - $returnProperties = CRM_Contribute_BAO_Query::defaultReturnProperties(CRM_Contact_BAO_Query::MODE_CONTRIBUTE); - } - - $newParams = CRM_Contact_BAO_Query::convertFormValues($inputParams); - $query = new CRM_Contact_BAO_Query($newParams, $returnProperties, NULL, - FALSE, FALSE, CRM_Contact_BAO_Query::MODE_CONTRIBUTE - ); - list($select, $from, $where, $having) = $query->query(); - - $sql = "$select $from $where $having"; - - if (!empty($sort)) { - $sql .= " ORDER BY $sort "; - } - $sql .= " LIMIT $offset, $rowCount "; - $dao = CRM_Core_DAO::executeQuery($sql); + $mode = CRM_Contact_BAO_Query::MODE_CONTRIBUTE; + $entity = 'contribution'; + list($dao, $query) = _civicrm_api3_get_query_object($params, $mode, $entity); $contribution = array(); while ($dao->fetch()) { @@ -400,7 +380,7 @@ function civicrm_api3_contribution_completetransaction(&$params) { $objects['contribution'] = &$contribution; $input['component'] = $contribution->_component; $input['is_test'] = $contribution->is_test; - $input['trxn_id']= $contribution->trxn_id; + $input['trxn_id']= !empty($params['trxn_id']) ? $params['trxn_id'] : $contribution->trxn_id; $input['amount'] = $contribution->total_amount; if(isset($params['is_email_receipt'])){ $input['is_email_receipt'] = $params['is_email_receipt']; @@ -416,5 +396,17 @@ function civicrm_api3_contribution_completetransaction(&$params) { } function _civicrm_api3_contribution_completetransaction(&$params) { - + $params['id'] = array( + 'title' => 'Contribution ID', + 'type' => CRM_Utils_Type::T_INT, + 'api.required' => TRUE, + ); + $params['trxn_id'] = array( + 'title' => 'Transaction ID', + 'type' => CRM_Utils_Type::T_STRING, + ); + $params['is_email_receipt'] = array( + 'title' => 'Send email Receipt?', + 'type' => CRM_Utils_Type::T_BOOLEAN, + ); }