function casetracker_case_access in Case Tracker 7.2
Determines whether the given user has access to a casetracker_case.
Parameters
$op: The operation being performed. One of 'view', 'update', 'create', 'delete' or just 'edit' (being the same as 'create' or 'update').
$case: Optionally a casetracker_case or a casetracker_case type to check access for. If nothing is given, access for all casetracker_cases is determined.
$account: The user to check for. Leave it to NULL to check for the global user.
Return value
boolean Whether access is allowed or not.
2 calls to casetracker_case_access()
- casetracker_case_handler_delete_link_field::render in views/
casetracker_case_handlers.inc - Render the field.
- casetracker_case_handler_edit_link_field::render in views/
casetracker_case_handlers.inc - Render the field.
2 string references to 'casetracker_case_access'
- CaseTrackerCaseUIController::hook_menu in includes/
controller/ ui/ CaseTrackerCaseUIController.inc - Overrides hook_menu() defaults. Main reason for doing this is that parent class hook_menu() is optimized for entity type administration.
- casetracker_entity_info in ./
casetracker.module
File
- ./
casetracker_case.inc, line 25 - This file concentrates all general functionality related to Cases in Case Tracker, leaving to the other files in /admin the stuff related to CRUD and structural configuration
Code
function casetracker_case_access($op, $case = NULL, $account = NULL) {
if (user_access('administer casetracker_cases', $account)) {
return TRUE;
}
if (isset($case) && is_object($case) && ($type_name = $case->type)) {
$op = $op == 'view' ? 'view' : 'edit';
if (user_access("{$op} any {$type_name} casetracker_case", $account)) {
return TRUE;
}
}
return FALSE;
}