public function FormAlter::formAlter in Entity Reference Integrity 8
Implements hook_form_alter().
File
- modules/
entity_reference_integrity_enforce/ src/ FormAlter.php, line 54
Class
- FormAlter
- Alter entity delete forms to provide some warning deletes will fail.
Namespace
Drupal\entity_reference_integrity_enforceCode
public function formAlter(&$form, FormStateInterface $form_state, $form_id) {
/** @var \Drupal\Core\Entity\EntityFormInterface $form_object */
$form_object = $form_state
->getFormObject();
if (!$this
->isDeleteForm($form_object)) {
return;
}
$entity = $form_object
->getEntity();
if (in_array($entity
->getEntityTypeId(), $this->enabledEntityTypeIds, TRUE) && $this->dependencyManager
->hasDependents($entity)) {
$referencing_entities = $this->dependencyManager
->getDependentEntities($entity);
unset($form['actions']['submit']);
unset($form['description']);
$form['referencing_entities_list'] = [
'#weight' => -10,
'explanation' => [
'#prefix' => '<div class="messages messages--error">',
'#markup' => $this
->t('You can not delete this as it is being referenced by another entity.'),
'#suffix' => '</div>',
],
'entities' => $this
->buildReferencingEntitiesList($referencing_entities),
'#suffix' => '<br/>',
];
}
}