X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FEvent%2FForm%2FRegistration%2FConfirm.php;h=e08c82d13592667bbee37708559938829c636f97;hb=632196ea963620d71d5750d580f33a9f1bd45787;hp=28cfda5d4581f163bf9ba306b2782580d65afb7a;hpb=0ffe0fe448a902a981197a29621a1fcc3f5fa59c;p=civicrm-core.git diff --git a/CRM/Event/Form/Registration/Confirm.php b/CRM/Event/Form/Registration/Confirm.php index 28cfda5d45..e08c82d135 100644 --- a/CRM/Event/Form/Registration/Confirm.php +++ b/CRM/Event/Form/Registration/Confirm.php @@ -608,7 +608,7 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration { } //passing contribution id is already registered. - $contribution = self::processContribution($this, $value, $result, $contactID, $pending, $isAdditionalAmount); + $contribution = self::processContribution($this, $value, $result, $contactID, $pending, $isAdditionalAmount, $this->_paymentProcessor); $value['contributionID'] = $contribution->id; $value['contributionTypeID'] = $contribution->financial_type_id; $value['receive_date'] = $contribution->receive_date; @@ -943,7 +943,8 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration { */ public static function processContribution( &$form, $params, $result, $contactID, - $pending = FALSE, $isAdditionalAmount = FALSE + $pending = FALSE, $isAdditionalAmount = FALSE, + $paymentProcessor = NULL ) { $transaction = new CRM_Core_Transaction(); @@ -972,8 +973,8 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration { 'campaign_id' => CRM_Utils_Array::value('campaign_id', $params), ); - if (empty($params['is_pay_later'])) { - $contribParams['payment_instrument_id'] = 1; + if ($paymentProcessor) { + $contribParams['payment_instrument_id'] = $paymentProcessor['payment_instrument_id']; } if (!$pending && $result) { @@ -1277,4 +1278,26 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration { } } + /** + * Submit in test mode. + * + * @param $params + */ + public static function testSubmit($params) { + $form = new CRM_Event_Form_Registration_Confirm(); + // This way the mocked up controller ignores the session stuff. + $_SERVER['REQUEST_METHOD'] = 'GET'; + $_REQUEST['id'] = $form->_eventId = $params['id']; + $form->controller = new CRM_Event_Controller_Registration(); + $form->_params = $params['params']; + $form->set('params', $params['params']); + $form->_values['custom_pre_id'] = array(); + $form->_values['custom_post_id'] = array(); + $form->_contributeMode = $params['contributeMode']; + $eventParams = array('id' => $params['id']); + CRM_Event_BAO_Event::retrieve($eventParams, $form->_values['event']); + $form->set('registerByID', $params['registerByID']); + $form->postProcess(); + } + }