Skip to content

Commit

Permalink
Merge pull request #22977 from eileenmcnaughton/issetit
Browse files Browse the repository at this point in the history
Ensure pay_later_text is always assigned
  • Loading branch information
colemanw authored Apr 7, 2022
2 parents 4319d7d + 3b855c8 commit ac082e0
Showing 1 changed file with 22 additions and 9 deletions.
31 changes: 22 additions & 9 deletions CRM/Contribute/Form/Contribution/Main.php
Original file line number Diff line number Diff line change
Expand Up @@ -352,19 +352,14 @@ public function buildQuickForm() {
$this->addElement('hidden', "email-{$this->_bltID}", 1);
$this->add('text', 'total_amount', ts('Total Amount'), ['readonly' => TRUE], FALSE);
}
$pps = $this->getProcessors();

$this->addPaymentProcessorFieldsToForm();
if (!empty($pps) && count($pps) === 1) {
$ppKeys = array_keys($pps);
$currentPP = array_pop($ppKeys);
if ($currentPP === 0) {
$this->assign('is_pay_later', $this->_values['is_pay_later']);
$this->assign('pay_later_text', $this->getPayLaterLabel());
}
}
$this->assign('is_pay_later', $this->getCurrentPaymentProcessor() === 0 && $this->_values['is_pay_later']);
$this->assign('pay_later_text', $this->getCurrentPaymentProcessor() === 0 ? $this->getPayLaterLabel() : NULL);

if ($contactID === 0) {
$this->addCidZeroOptions();

}

//build pledge block.
Expand Down Expand Up @@ -1560,4 +1555,22 @@ protected function hasSeparateMembershipPaymentAmount($params) {
return $this->_separateMembershipPayment && (int) CRM_Member_BAO_MembershipType::getMembershipType($params['selectMembership'])['minimum_fee'];
}

/**
* Get the loaded payment processor - the default for the form.
*
* If the form is using 'pay later' then the value for the manual
* pay later processor is 0.
*
* @return int|null
*/
protected function getCurrentPaymentProcessor(): ?int {
$pps = $this->getProcessors();
if (!empty($pps) && count($pps) === 1) {
$ppKeys = array_keys($pps);
return array_pop($ppKeys);
}
// It seems like this might be un=reachable as there should always be a processor...
return NULL;
}

}

0 comments on commit ac082e0

Please sign in to comment.