public function Payment::setPaymentStatuses in Payment 8.2
Sets/replaces all statuses without notifications.
Parameters
\Drupal\payment\Plugin\Payment\Status\PaymentStatusInterface[] $payment_statuses:
Return value
\Drupal\payment\Entity\PaymentInterface
Overrides PaymentInterface::setPaymentStatuses
File
- src/
Entity/ Payment.php, line 219
Class
- Payment
- Defines a payment entity.
Namespace
Drupal\payment\EntityCode
public function setPaymentStatuses(array $payment_statuses) {
$payment_status_list = $this
->get('payment_statuses');
// Remove all existing field items.
foreach ($payment_status_list as $index => $payment_status) {
$payment_status_list
->removeItem($index);
}
// Set each individual new status.
/** @var \Drupal\payment\Plugin\Payment\Status\PaymentStatusInterface[] $payment_statuses */
foreach ($payment_statuses as $payment_status) {
$payment_status
->setPayment($this);
$payment_status_list
->appendItem($payment_status);
}
return $this;
}