function commerce_registration_administer_registrations_access in Commerce Registration 7.3
Same name and namespace in other branches
- 7.2 commerce_registration.module \commerce_registration_administer_registrations_access()
Access callback for modifying registration settings for a given product display (node).
1 string reference to 'commerce_registration_administer_registrations_access'
- commerce_registration_menu_alter in ./
commerce_registration.module - Implements hook_menu_alter().
File
- ./
commerce_registration.module, line 79 - Commerce Registration module code.
Code
function commerce_registration_administer_registrations_access($entity_type, $entity) {
// Check if we want to hide the tab initially, if so we don't need to check
// anything else.
if (commerce_registration_hide_tab($entity_type, $entity)) {
return FALSE;
}
// Loop through each product on the node, and if it contains a registration
// type and the user can administer them, then we allow it.
$fields = field_read_fields(array(
'type' => 'commerce_product_reference',
));
foreach ($fields as $field) {
if (isset($entity->{$field['field_name']})) {
foreach ($entity->{$field['field_name']} as $product) {
$product = commerce_product_load($product[0]['product_id']);
if ($type = registration_get_entity_registration_type('commerce_product', $product)) {
if (user_access('administer registration') || user_access("administer {$type} registration")) {
return TRUE;
}
}
}
}
}
return registration_administer_registrations_access($entity_type, $entity);
}