Skip to content

Commit

Permalink
MISC-110 Removed explicit create of recur record
Browse files Browse the repository at this point in the history
  • Loading branch information
Edzelopez committed Jun 27, 2016
1 parent 742e476 commit 6dadea5
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 52 deletions.
30 changes: 3 additions & 27 deletions CRM/Contribute/Form/Contribution/Confirm.php
Original file line number Diff line number Diff line change
Expand Up @@ -954,33 +954,6 @@ public static function processFormContribution(

$form->_params['pledge_id'] = $pledge->id;

// Create the recur record.
try {
$recurringPledge = CRM_Pledge_BAO_Pledge::createRecurRecord($pledge, $params);
}
catch (CiviCRM_API3_Exception $e) {
CRM_Core_Error::displaySessionError($recurringPledge);
$urlString = 'civicrm/contribute/transact';
$urlParams = '_qf_Main_display=true';
if (get_class($form) == 'CRM_Contribute_Form_Contribution') {
$urlString = 'civicrm/contact/view/contribution';
$urlParams = "action=add&cid={$form->_contactID}";
if ($form->_mode) {
$urlParams .= "&mode={$form->_mode}";
}
}
CRM_Utils_System::redirect(CRM_Utils_System::url($urlString, $urlParams));
}

if ($recurringPledge['id']) {
$contribParams = array(
'id' => $contribution->id,
'contribution_recur_id' => $recurringPledge['id'],
'contribution_status_id' => 'Pending',
);
civicrm_api3('Contribution', 'create', $contribParams);
}

//send acknowledgment email. only when pledge is created
if ($pledge->id && $isEmailReceipt) {
//build params to send acknowledgment.
Expand Down Expand Up @@ -1969,6 +1942,9 @@ protected function processFormSubmission($contactID) {
if (CRM_Utils_Array::value('start_date', $this->_params) || !CRM_Utils_Array::value('is_pledge_start_date_visible', $pledgeBlock)) {
$pledgeStartDate = CRM_Utils_Array::value('start_date', $this->_params, NULL);
$this->_params['receive_date'] = CRM_Pledge_BAO_Pledge::getPledgeStartDate($pledgeStartDate, $pledgeBlock);
$recurParams = CRM_Pledge_BAO_Pledge::buildRecurParams($this->_params);
$this->_params = array_merge($this->_params, $recurParams);
$this->_values = array_merge($this->_values, $recurParams);
}
}

Expand Down
38 changes: 13 additions & 25 deletions CRM/Pledge/BAO/Pledge.php
Original file line number Diff line number Diff line change
Expand Up @@ -1203,32 +1203,20 @@ protected static function getTransactionalStatus() {
}

/**
* Create recur record for pledge.
*
* Create array for recur record for pledge.
* @return array
* params for recur record
*/
public static function createRecurRecord($pledge, $params) {
$recurParams = array('contact_id' => $pledge->contact_id);
$recurParams['amount'] = $pledge->amount;
$recurParams['auto_renew'] = TRUE;
$recurParams['frequency_unit'] = $pledge->frequency_unit;
$recurParams['frequency_interval'] = $pledge->frequency_interval;
$recurParams['installments'] = $pledge->installments;
$recurParams['financial_type_id'] = $pledge->financial_type_id;
$recurParams['currency'] = $pledge->currency;

if (!empty($pledge->start_date)) {
$recurParams['start_date'] = $pledge->start_date;
}
$recurParams['invoice_id'] = CRM_Utils_Array::value('invoiceID', $params);
$recurParams['contribution_status_id'] = "Pending";
$recurParams['payment_processor_id'] = CRM_Utils_Array::value('payment_processor_id', $params);
$recurParams['is_email_receipt'] = CRM_Utils_Array::value('is_email_receipt', $params);
$recurParams['trxn_id'] = CRM_Utils_Array::value('trxn_id', $params, $params['invoiceID']);
$recurParams['financial_type_id'] = CRM_Utils_Array::value('financial_type_id', $params);
$recurParams['payment_instrument_id'] = CRM_Utils_Array::value('payment_instrument_id', $params);

$recurring = civicrm_api3('ContributionRecur', 'create', $recurParams);
return $recurring;
public static function buildRecurParams($params) {
$recurParams = array(
'is_recur' => TRUE,
'auto_renew' => TRUE,
'frequency_unit' => $params['pledge_frequency_unit'],
'frequency_interval' => $params['pledge_frequency_interval'],
'installments' => $params['pledge_installments'],
'start_date' => $params['receive_date'],
);
return $recurParams;
}

/**
Expand Down

0 comments on commit 6dadea5

Please sign in to comment.