Skip to content
Snippets Groups Projects

Add `hook_modules_uninstalled` to remove outdated permissions.

1 file
+ 17
0
Compare changes
  • Side-by-side
  • Inline
+ 17
0
@@ -8,6 +8,7 @@
use Drupal\Core\Render\Element;
use Drupal\block\Entity\Block;
use Drupal\Core\Form\FormStateInterface;
use Drupal\user\Entity\Role;
/**
* Implements hook_form_FORM_ID_alter().
@@ -40,3 +41,19 @@ function block_permissions_form_block_admin_display_form_alter(&$form, FormState
}
}
}
/**
* Implements hook_modules_uninstalled().
*/
function block_permissions_modules_uninstalled($modules, $is_syncing) {
$roles = Role::loadMultiple();
foreach ($modules as $module) {
foreach ($roles as $role) {
if ($role->hasPermission('administer blocks provided by ' . $module)) {
$role->revokePermission('administer blocks provided by ' . $module);
$role->save();
}
}
}
}
Loading