예제 #1
0
파일: view.php 프로젝트: n2i/xvnkb
    $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();