You are here

function allowed_languages_field_widget_language_select_form_alter in Allowed Languages 2.x

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

Implements hook_field_widget_WIDGET_TYPE_form_alter().

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

File

./allowed_languages.module, line 58
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;
  }

  // Only alter translatable entity types.
  $entity = $form_object
    ->getEntity();
  if (!$entity
    ->isTranslatable()) {
    return;
  }
  $element['#pre_render'][] = [
    AllowedLanguagesTrustedCallbacks::class,
    'languageSelectWidgetPreRender',
  ];
}