Untitled
unknown
plain_text
a year ago
1.0 kB
7
Indexable
/**
* Implements hook_permission_alter().
*/
function site_manager_permissions_permission_alter(array &$permissions) {
// Optionally, you can define new permissions here if needed.
}
/**
* Implements hook_user_access_alter().
*
* Dynamically alter user permissions based on profile tags.
*/
function site_manager_permissions_user_access_alter(array &$permissions, \Drupal\Core\Session\AccountInterface $account) {
// Only alter permissions for Site Manager role.
if ($account->hasRole('site_manager')) {
// Load the user's profile tag field.
$profile_tag = $account->get('field_profile_tag')->value; // Replace 'field_profile_tag' with the actual field name.
// Check if the profile tag matches "site1".
if ($profile_tag !== 'site1') {
// Remove permissions for editing specific vocabularies.
$permissions = array_diff($permissions, [
'edit terms in vocabulary_name_1',
'delete terms in vocabulary_name_1',
// Add more permissions as needed.
]);
}
}
}
Editor is loading...
Leave a Comment