You are here

function taxonomy_access_fix_form_taxonomy_overview_terms_alter in Taxonomy access fix 8.3

Same name and namespace in other branches
  1. 8 taxonomy_access_fix.module \taxonomy_access_fix_form_taxonomy_overview_terms_alter()
  2. 8.2 taxonomy_access_fix.module \taxonomy_access_fix_form_taxonomy_overview_terms_alter()
  3. 7.2 taxonomy_access_fix.module \taxonomy_access_fix_form_taxonomy_overview_terms_alter()
  4. 7 taxonomy_access_fix.module \taxonomy_access_fix_form_taxonomy_overview_terms_alter()

Implements hook_form_FORM_ID_alter() for taxonomy_overview_terms form.

See also

\Drupal\taxonomy\Form\OverviewTerms

File

./taxonomy_access_fix.module, line 42
Hook implementations by Taxonomy Access Fix module.

Code

function taxonomy_access_fix_form_taxonomy_overview_terms_alter(&$form, FormStateInterface &$form_state) {

  // Admin: Don't fix anything.
  if (Drupal::currentUser()
    ->hasPermission('administer taxonomy')) {
    return;
  }
  $vocabulary = $form_state
    ->get([
    'taxonomy',
    'vocabulary',
  ]);
  $can_reorder = $vocabulary
    ->access('reorder_terms');
  foreach (Element::children($form['terms']) as $name) {
    if ($can_reorder) {
      continue;
    }
    unset($form['terms'][$name]['weight']);
  }
  if (!$can_reorder) {

    // Hide Save and Reset buttons.
    $form['actions']['#access'] = FALSE;

    // Remove tableDrag.
    unset($form['terms']['#tabledrag']);

    // Remove Weight column.
    unset($form['terms']['#header'][1]);
  }
}