You are here

protected function SubscriptionForm::actions in Commerce Recurring Framework 8

Returns an array of supported actions for the current entity form.

This function generates a list of Form API elements which represent actions supported by the current entity form.

@todo Consider introducing a 'preview' action here, since it is used by many entity types.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

array An array of supported Form API action elements keyed by name.

Overrides EntityForm::actions

File

src/Form/SubscriptionForm.php, line 146

Class

SubscriptionForm

Namespace

Drupal\commerce_recurring\Form

Code

protected function actions(array $form, FormStateInterface $form_state) {
  $actions = parent::actions($form, $form_state);
  $subscription = $this->entity;
  assert($subscription instanceof SubscriptionInterface);

  // No need for a Cancel button when creating a subscription.
  if (!$subscription
    ->isNew()) {
    $actions['delete']['#weight'] = 50;
    $actions['cancel'] = [
      '#type' => 'submit',
      '#button_type' => 'danger',
      '#value' => t('Cancel subscription'),
      '#submit' => [
        '::cancelSubscription',
      ],
      '#access' => $subscription
        ->getState()
        ->getId() !== 'canceled' && $subscription
        ->access('cancel'),
    ];
  }
  return $actions;
}