list($this->_contributorDisplayName, $this->_contributorEmail) = CRM_Contact_BAO_Contact_Location::getEmailDetails($this->_contactId);
- if (!$this->_refund) {
- $this->assignProcessors();
- // also check for billing information
- // get the billing location type
- $this->assignBillingType();
- }
+ $this->assignPaymentRelatedVariables();
$this->assign('contributionMode', $this->_mode);
$this->assign('contactId', $this->_contactId);
$this->assign('paymentType', $this->_paymentType);
$this->assign('paymentAmt', abs($paymentAmt));
- $this->_paymentProcessor = array('billing_mode' => 1);
-
- $title = ($this->_refund) ? "Refund for {$this->_contributorDisplayName}" : "Payment from {$this->_contributorDisplayName}";
- if ($title) {
- CRM_Utils_System::setTitle(ts('%1', array(1 => $title)));
- }
+ $this->setPageTitle($this->_refund ? ts('Refund') : ts('Payment'));
}
+ /**
+ * This virtual function is used to set the default values of
+ * various form elements
+ *
+ * access public
+ *
+ * @return array reference to the array of default values
+ *
+ */
+ /**
+ * @return array
+ */
public function setDefaultValues() {
if ($this->_view == 'transaction' && ($this->_action & CRM_Core_Action::BROWSE)) {
return;
$billingDefaults = $this->getProfileDefaults('Billing', $this->_contactId);
$defaults = array_merge($defaults, $billingDefaults);
-
- // now fix all state country selectors, set correct state based on country
- CRM_Core_BAO_Address::fixAllStateSelects($this, $defaults);
}
if (empty($defaults['trxn_date']) && empty($defaults['trxn_date_time'])) {
'id' => $type
);
- if ($type == 'CreditCard') {
- $this->add('hidden', 'hidden_CreditCard', 1);
- CRM_Core_Payment_Form::buildCreditCard($this, TRUE);
- }
- elseif ($type == 'DirectDebit') {
- $this->add('hidden', 'hidden_DirectDebit', 1);
- CRM_Core_Payment_Form::buildDirectDebit($this, TRUE);
- }
+ CRM_Core_Payment_Form::buildPaymentForm($this, $this->_paymentProcessor, FALSE);
+
$qfKey = $this->controller->_key;
$this->assign('qfKey', $qfKey);
$this->assign('allPanes', $allPanes);
);
$this->add('text', 'check_number', ts('Check Number'), $attributes['financial_trxn_check_number']);
- $trxnId = $this->add('text', 'trxn_id', ts('Transaction ID'), $attributes['trxn_id']);
+ $this->add('text', 'trxn_id', ts('Transaction ID'), array('class' => 'twelve') + $attributes['trxn_id']);
//add receipt for offline contribution
$this->addElement('checkbox', 'is_email_receipt', ts('Send Receipt?'));
$this->addFormRule(array('CRM_Contribute_Form_AdditionalPayment', 'formRule'), $this);
}
+ /**
+ * @param $fields
+ * @param $files
+ * @param $self
+ *
+ * @return array
+ */
static function formRule($fields, $files, $self) {
$errors = array();
if ($self->_paymentType == 'owed' && $fields['total_amount'] > $self->_owed) {
}
}
+ /**
+ * @param $submittedValues
+ */
public function processCreditCard($submittedValues) {
$config = CRM_Core_Config::singleton();
$session = CRM_Core_Session::singleton();
//Get the rquire fields value only.
$params = $this->_params = $submittedValues;
- $this->_paymentProcessor = CRM_Financial_BAO_PaymentProcessor::getPayment($this->_params['payment_processor_id'],
- $this->_mode
- );
-
//get the payment processor id as per mode.
+ //@todo unclear relevance of mode - seems like a lot of duplicated params here!
$this->_params['payment_processor'] = $params['payment_processor_id'] =
- $this->_params['payment_processor_id'] = $submittedValues['payment_processor_id'] = $this->_paymentProcessor['id'];
+ $this->_params['payment_processor_id'] = $submittedValues['payment_processor_id'] = $this->_paymentProcessor['id'];
$now = date('YmdHis');
$fields = array();
}
}
+ /**
+ * @param array $params
+ *
+ * @return mixed
+ */
function emailReceipt(&$params) {
// email receipt sending
// send message template