function hide_revision_field_form_alter in Hide Revision Field 8.2
Same name and namespace in other branches
- 8 hide_revision_field.module \hide_revision_field_form_alter()
Implements hook_form_alter().
Ensure that ContentEntityForms don't have an empty Revision Info tab. Also, hide the revision checkbox if the revision log field is hidden or disabled.
File
- ./
hide_revision_field.module, line 132 - Manage hiding revision log field on revisionable entity edit/create forms.
Code
function hide_revision_field_form_alter(&$form, FormStateInterface $form_state, $form_id) {
$form_object = $form_state
->getFormObject();
if (is_a($form_object, ContentEntityForm::class)) {
/** @var \Drupal\Core\Entity\ContentEntityForm $form_object */
/** @var \Drupal\Core\Entity\ContentEntityTypeInterface $entity_type */
$entity_type = $form_object
->getEntity()
->getEntityType();
if ($field = $entity_type
->getRevisionMetadataKey('revision_log_message')) {
if (isset($form[$field]['widget'][0]['value']['#type'])) {
if ($form[$field]['widget'][0]['value']['#type'] === 'hidden') {
unset($form[$field]['#group']);
if (isset($form['revision'])) {
$form['revision']['#type'] = 'hidden';
}
}
}
else {
if (isset($form['revision'])) {
$form['revision']['#type'] = 'hidden';
}
}
}
}
}