You are here

function block_region_permissions_form_block_form_alter in Block Region Permissions 8

Implements hook_form_FORM_ID_alter().

File

./block_region_permissions.module, line 94
Block region permissions module.

Code

function block_region_permissions_form_block_form_alter(&$form, FormStateInterface $form_state, $form_id) {

  // Get theme name.
  $theme_key = $form['theme']['#value'];

  // Remove region select field options for regions the user cannot administer.
  $region_options = $form['region']['#options'];
  foreach ($region_options as $region_key => $options) {
    if (!\Drupal::currentUser()
      ->hasPermission("administer {$theme_key} {$region_key}")) {
      unset($form['region']['#options'][$region_key]);
    }
  }
}