I didn't find a module to answer the following requirements, so I did it and share with you.

Limit display of the list of vocabularies to only those vocabularies a user has access to.

admin/structure/taxonomy

Installation:

1) Install the module
2) Set the permission 'Administer vocabularies and terms' to some roles
3) Set the permissions 'View terms in ...' for these roles

And voilà: only accessible vocabularies are listed.

If anybody wants to create a new project in Drupal, you are welcome (I have no time to do it now).

Comments

rsorokine’s picture

StatusFileSize
new1.96 KB
salvis’s picture

Thank you for raising this issue, rsorokine.

I'm afraid your upload is not getting the attention it deserves because zip files (and other format that are not readable in the browser) are out of sight for most people.

At this point, withholding Taxonomy Permissions "View terms" permissions will effectively override core's "Administer vocabularies and terms" permission, but other aspects of administering a vocabulary remain available (and the user can even add terms that he cannot see afterwards).

Typically, core's Administer permissions are stronger and provide full access to the functionality that they cover. Making the "View terms" permissions override the "Administer vocabularies and terms" permission was an accident rather than a conscious decision on my part.

The question is: is it a feature or a bug?

In the former case we need not only remove the vocabulary from the admin/structure/taxonomy page, but also deny access to all pages under admin/structure/taxonomy/vocabulary_name.

In the latter case, we need to fix it and destroy potentially useful functionality for the sake of consistent behavior. Tough call...