function casetracker_project_access in Case Tracker 7.2
Determines whether the given user has access to a casetracker_project.
Parameters
$op: The operation being performed. One of 'view', 'update', 'create', 'delete' or just 'edit' (being the same as 'create' or 'update').
$project: Optionally a casetracker_project or a casetracker_project type to check access for. If nothing is given, access for all casetracker_projects 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_project_access()
- casetracker_project_handler_delete_link_field::render in views/
casetracker_project_handlers.inc - Render the field.
- casetracker_project_handler_edit_link_field::render in views/
casetracker_project_handlers.inc - Render the field.
2 string references to 'casetracker_project_access'
- CaseTrackerProjectUIController::hook_menu in includes/
controller/ ui/ CaseTrackerProjectUIController.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_project.inc, line 25 - This file concentrates all general functionality related to Projects in Case Tracker, leaving to the other files in /admin the stuff related to CRUD and structural configuration
Code
function casetracker_project_access($op, $project = NULL, $account = NULL) {
if (user_access('administer casetracker_projects', $account)) {
return TRUE;
}
if (isset($project) && is_object($project) && ($type_name = $project->type)) {
$op = $op == 'view' ? 'view' : 'edit';
if (user_access("{$op} any {$type_name} casetracker_project", $account)) {
return TRUE;
}
}
return FALSE;
}