function workflow_access_node_access_records in Workflow 7
Same name and namespace in other branches
- 8 modules/workflow_access/workflow_access.module \workflow_access_node_access_records()
- 5.2 workflow_access.module \workflow_access_node_access_records()
- 5 workflow_access.module \workflow_access_node_access_records()
- 6.2 workflow_access/workflow_access.module \workflow_access_node_access_records()
- 6 workflow_access/workflow_access.module \workflow_access_node_access_records()
- 7.2 workflow_access/workflow_access.module \workflow_access_node_access_records()
Implements hook_node_access_records().
Returns a list of grant records for the passed in node object. @todo: support Workflow Field.
File
- workflow_access/
workflow_access.module, line 43 - Provides node access permissions based on workflow states.
Code
function workflow_access_node_access_records($node) {
$grants = array();
//@todo: read history or field instead of workflow_node, to read current status.
if ($workflow_node = workflow_get_workflow_node_by_nid($node->nid)) {
$sid = $workflow_node->sid;
// @todo: since we only use sid, the next line is superfluous.
$state = WorkflowState::load($workflow_node->sid);
foreach (workflow_access_get_workflow_access_by_sid($sid) as $grant) {
$grants[] = array(
'realm' => $grant->rid == -1 ? 'workflow_access_owner' : 'workflow_access',
'gid' => $grant->rid == -1 ? $node->uid : $grant->rid,
'grant_view' => $grant->grant_view,
'grant_update' => $grant->grant_update,
'grant_delete' => $grant->grant_delete,
'priority' => variable_get('workflow_access_priority', 0),
);
}
}
return $grants;
}