protected function FieldPermissionsTestBase::getCustomPermissionGrid in Field Permissions 8
Same name and namespace in other branches
- 8.2 tests/src/Functional/FieldPermissionsTestBase.php \Drupal\Tests\field_permissions\Functional\FieldPermissionsTestBase::getCustomPermissionGrid()
Fill out a custom permission matrix for a given role.
Parameters
string $role: The role to grant permissions for. Other roles will not have any permissions.
array $field_perm: Permissions to grant the given role.
Return value
array The complete custom permissions matrix, keyed by {OP}_{FIELD_NAME} and then role ID, with a value of TRUE if the permission is granted, FALSE otherwise.
1 call to FieldPermissionsTestBase::getCustomPermissionGrid()
- FieldPermissionsTestBase::grantCustomPermissions in tests/
src/ Functional/ FieldPermissionsTestBase.php - Appends existing permissions grid with new permissions.
File
- tests/
src/ Functional/ FieldPermissionsTestBase.php, line 139
Class
- FieldPermissionsTestBase
- A base class for field permissions web tests to extend.
Namespace
Drupal\Tests\field_permissions\FunctionalCode
protected function getCustomPermissionGrid($role, array $field_perm = []) {
$custom_perm = [];
$permission_list = $this->container
->get('field_permissions.permissions_service')
->getAllPermissions();
$permission_list = array_keys($permission_list);
$permission_role = array_keys(user_roles());
// Set all check to false.
foreach ($permission_role as $rname) {
foreach ($permission_list as $perm) {
$key = 'permissions[' . $perm . '][' . $rname . ']';
$custom_perm[$key] = FALSE;
}
}
// Set perm check to true.
foreach ($field_perm as $perm) {
$key = 'permissions[' . $perm . '][' . $role
->id() . ']';
$custom_perm[$key] = TRUE;
}
return $custom_perm;
}