function taxonomy_access_fix_form_taxonomy_overview_terms_alter in Taxonomy access fix 8
Same name and namespace in other branches
- 8.3 taxonomy_access_fix.module \taxonomy_access_fix_form_taxonomy_overview_terms_alter()
- 8.2 taxonomy_access_fix.module \taxonomy_access_fix_form_taxonomy_overview_terms_alter()
- 7.2 taxonomy_access_fix.module \taxonomy_access_fix_form_taxonomy_overview_terms_alter()
- 7 taxonomy_access_fix.module \taxonomy_access_fix_form_taxonomy_overview_terms_alter()
Implements hook_form_FORM_ID_alter() for taxonomy_overview_terms().
See also
taxonomy_overview_terms()
File
- ./
taxonomy_access_fix.module, line 23
Code
function taxonomy_access_fix_form_taxonomy_overview_terms_alter(&$form, &$form_state) {
// Admin: don't fix anything.
if (Drupal::currentUser()
->hasPermission('administer taxonomy')) {
return;
}
$vocabulary = $form_state
->get([
'taxonomy',
'vocabulary',
]);
$can_edit = taxonomy_access_fix_access('edit terms', $vocabulary);
$can_delete = taxonomy_access_fix_access('delete terms', $vocabulary);
$can_reorder = taxonomy_access_fix_access('reorder terms', $vocabulary);
// Remove edit/delete links.
foreach (Element::children($form['terms']) as $name) {
if (!$can_edit) {
unset($form['terms'][$name]['operations']['#links']['edit']);
}
if (!$can_delete) {
unset($form['terms'][$name]['operations']['#links']['delete']);
}
if (!$can_reorder) {
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]);
}
}