user_not_role
Provides a "User Not Role" condition that acts in the opposite behavior of the Drupal core "User Role" condition. A site builder may add this to their block visibility settings to only display a block for users that do not have a role.
Common scenario: A user has two roles: "shouldshow" and "shouldhide". There is a block that should only display to "shouldshow", but not "shouldhide".
Solution: Configure the block with the "User Role" visibility setting to "shouldshow" and the "User Not Role" visibility setting to "shouldhide".
Result: The block will not be displayed because the user has the "shouldhide" role even though they also have the "shouldshow" role.
Configuration
- Enable the module on the Adminsitration > Extend page.
- Go to the Administration > Structure > Block layout page.
- Press the Configure button for a block.
- Click the "User Not Role" vertical tab.
- Select roles that a user must not have to display the block.
- Press the "Save block" button.
Technical documentation
This takes the intersection of the configured roles and a user account's roles. If there is no intersection between the two, then the user must not have the role and the condition passes.
When negated, the opposite occurs. If there is no intersection, the condition fails.