You are here

function allowed_languages_field_widget_language_select_form_alter in Allowed Languages 8

Same name and namespace in other branches
  1. 2.x allowed_languages.module \allowed_languages_field_widget_language_select_form_alter()

Apply a pre-render function to the language select field widget.

Implements hook_field_widget_WIDGET_TYPE_form_alter().

File

./allowed_languages.module, line 56
Contains allowed_languages.module.

Code

function allowed_languages_field_widget_language_select_form_alter(&$element, FormStateInterface $form_state, $context) {
  $form_object = $form_state
    ->getFormObject();

  // We're only interested in altering forms for content entities.
  if (!$form_object instanceof ContentEntityFormInterface) {
    return;
  }

  // We can translate all languages.
  if (\Drupal::currentUser()
    ->hasPermission('translate all languages')) {
    return;
  }
  $entity_type = $form_object
    ->getEntity()
    ->getEntityType();

  // Only alter translatable entity types.
  if (!$entity_type
    ->isTranslatable()) {
    return;
  }
  $element['#pre_render'][] = 'allowed_languages_pre_render_language_select';
}