ActionAddForm::buildForm

public ActionAddForm::buildForm(array $form, FormStateInterface $form_state, $action_id = NULL)

Parameters

string $action_id: The hashed version of the action ID.

Overrides ActionFormBase::buildForm

File

core/modules/action/src/ActionAddForm.php, line 53

Class

ActionAddForm
Provides a form for action add forms.

Namespace

Drupal\action

Code

public function buildForm(array $form, FormStateInterface $form_state, $action_id = NULL) {
  // In \Drupal\action\Form\ActionAdminManageForm::buildForm() the action
  // are hashed. Here we have to decrypt it to find the desired action ID.
  foreach ($this->actionManager->getDefinitions() as $id => $definition) {
    $key = Crypt::hashBase64($id);
    if ($key === $action_id) {
      $this->entity->setPlugin($id);
      // Derive the label and type from the action definition.
      $this->entity->set('label', $definition['label']);
      $this->entity->set('type', $definition['type']);
      break;
    }
  }

  return parent::buildForm($form, $form_state);
}
doc_Drupal
2016-10-29 08:43:07
Comments
Leave a Comment

Please login to continue.