function pmpermission_grants_list in Drupal PM (Project Management) 7.2
Helper function for pmpermission_node_grants.
1 call to pmpermission_grants_list()
- pmpermission_node_grants in pmpermission/
pmpermission.module - Implements hook_node_grants().
File
- pmpermission/
pmpermission.module, line 707 - Main module file for the pmpermission module.
Code
function pmpermission_grants_list($account, $op, $type) {
$grants = array();
if (user_access("PM permission {$type}: {$op} all", $account)) {
$grants["pmpermission_{$type}_{$op}_all"] = array(
0,
);
}
if (user_access("PM permission {$type}: {$op} own", $account)) {
$grants["pmpermission_{$type}_{$op}_own"] = array(
$account->uid,
);
}
if (module_exists('pmorganization')) {
if (_pmpermission_get_field_name($type, 'parent') or $type == 'pmorganization') {
$field_name = variable_get("pmpermission_field_org_member_reference", '');
$pmorganization_nids = _pmpermission_get_entity_id_referenced_to_user('node', 'pmorganization', $field_name, $account->uid);
$belonged = 'Organization';
if (user_access("PM permission {$type}: {$op} own {$belonged}", $account) and !empty($pmorganization_nids)) {
$grants["pmpermission_{$type}_{$op}_belonged_{$belonged}"] = $pmorganization_nids;
}
}
}
if (module_exists('pmproject')) {
if (_pmpermission_get_field_name($type, 'pm')) {
$assigned = 'Project Manager';
if (user_access("PM permission {$type}: {$op} if {$assigned}", $account)) {
$grants["pmpermission_{$type}_{$op}_assigned_{$assigned}"] = array(
$account->uid,
);
}
}
}
if (_pmpermission_get_field_name($type, 'assigned')) {
$assigned = 'Assigned';
if (user_access("PM permission {$type}: {$op} if {$assigned}", $account)) {
$grants["pmpermission_{$type}_{$op}_assigned_{$assigned}"] = array(
$account->uid,
);
}
}
return $grants;
}