$role_machine_name, 'label' => $role_human_readable_name, ), 'user_role'); $role->save(); return $role; } public function getPerms() { $role = entity_load('user_role', $this->rid); $perms = $role->getPermissions(); // $perms = user_role_permissions(array($this->rid => $this->name)); return $perms; } public function getAllModulePerms() { $perms = \Drupal::service('user.permissions')->getPermissions(); return array_keys($perms); } public function getModulePerms($module) { $module_perms = array(); $perms = \Drupal::service('user.permissions')->getPermissions(); foreach ($perms as $name => $perm) { if ($perm['provider'] == $module) { $module_perms[] = $name; } } return $module_perms; } public function delete() { $role = entity_load('user_role', $this->rid); $role->delete(); } public function grant_permissions($perms) { return drush_op('user_role_grant_permissions', $this->rid, $perms); } public function revoke_permissions($perms) { return drush_op('user_role_revoke_permissions', $this->rid, $perms); } }