Use our object/datastream specific access functions to allow our hooked behaviour.
There's a few places in core code which calls Drupal's user_access() where it might more appropriately call one of either islandora_object_access() or islandora_datastream_access() to allow the result to be influenced.
- islandora_solution_pack_collection's child collection ingest form; and,
- islandora_paged_content's manage_page and pages forms.
To permit the override of permissions as evaluated in Islandora's GUI.
Replace user_access() calls with either islandora_object_access() or islandora_datastream_access() calls as seems appropriate.
Primarily, regression test: Things should continue to work as they always have.
Minimal. Our other object/datastream access functions continue to call user_access() eventually, under the hood; however, opens the door for implementations of the relevant hooks to influence the outcomes.
discoverygarden inc. | Managing Digital Content