function require_on_publish_form_alter in Require on Publish 8
Implements hook_form_alter().
File
- ./
require_on_publish.module, line 208 - Module file for the Require on Publish module.
Code
function require_on_publish_form_alter(&$form, FormStateInterface $form_state, $form_id) {
/** @var \Drupal\Core\Entity\EntityFormInterface $form_object */
$form_object = $form_state
->getFormObject();
if (!$form_object instanceof EntityFormInterface) {
return;
}
$entity = $form_object
->getEntity();
if (!_require_on_publish_entity_is_publishable(get_class($entity))) {
return;
}
foreach ($entity
->getFields() as $field) {
$field_config = $field
->getFieldDefinition();
if (!$field_config instanceof FieldConfigInterface) {
continue;
}
if ($field_config
->getThirdPartySetting('require_on_publish', 'require_on_publish', FALSE)) {
$field_name = $field_config
->getName();
if (!isset($form[$field_name])) {
continue;
}
$form['#attached']['library'][] = 'require_on_publish/require_on_publish';
require_on_publish_add_indicator($form[$field_name]['widget']);
}
}
}