$AppUI->setState('ProjVwTab', $_GET['tab']); } $tab = $AppUI->getState('ProjVwTab') !== NULL ? $AppUI->getState('ProjVwTab') : 0; // check if this record has dependencies to prevent deletion $msg = ''; $obj = new CProject(); // Now check if the proect is editable/viewable. $denied = $obj->getDeniedRecords($AppUI->user_id); if (in_array($project_id, $denied)) { $AppUI->setMsg('Access denied', UI_MSG_ERROR); $AppUI->redirect(); } $obj->load($project_id); $isProjectManager = $AppUI->user_id == $obj->getManager(); $canEdit = $perms->checkModuleItem($m, 'edit', $project_id) && ($AppUI->user_type == SYSADMIN || $isProjectManager); $canEditT = $obj->canCreateTasks(); $canDelete = $obj->canDelete($msg, $project_id) && ($AppUI->user_type == SYSADMIN || $AppUI->user_id == $obj->project_owner); $canViewReport = $isProjectManager || $AppUI->user_type <= MANAGER; // get critical tasks (criteria: task_end_date) $criticalTasks = $project_id > 0 ? $obj->getCriticalTasks($project_id) : NULL; // get ProjectPriority from sysvals $projectPriority = dPgetSysVal('ProjectPriority'); $projectPriorityColor = dPgetSysVal('ProjectPriorityColor'); $working_hours = $dPconfig['daily_working_hours'] ? $dPconfig['daily_working_hours'] : 8; $q = new DBQuery(); //check that project has tasks; otherwise run seperate query $q->addTable('tasks'); $q->addQuery('COUNT(distinct tasks.task_id) AS total_tasks'); $q->addWhere('task_project = ' . $project_id); $hasTasks = $q->loadResult(); $q->clear();