Skip to content
Snippets Groups Projects

Update Role.php to automatically revoke invalid permissions

1 file
+ 4
1
Compare changes
  • Side-by-side
  • Inline
@@ -206,7 +206,10 @@ public function calculateDependencies() {
$valid_permissions = array_intersect($this->permissions, array_keys($permission_definitions));
$invalid_permissions = array_diff($this->permissions, $valid_permissions);
if (!empty($invalid_permissions)) {
throw new \RuntimeException('Adding non-existent permissions to a role is not allowed. The incorrect permissions are "' . implode('", "', $invalid_permissions) . '".');
foreach ($invalid_permissions as $invalid_permission) {
$this->revokePermission($invalid_permission);
}
\Drupal::logger('role')->error('Automatically revoked the following invalid permissions: "' . implode('", "', $invalid_permissions) . '".');
}
foreach ($valid_permissions as $permission) {
// Depend on the module that is providing this permissions.
Loading