$obj = new CProject(); // Now check if the project is editable/viewable. $denied = $obj->getDeniedRecords($AppUI->user_id); if (in_array($project_id, $denied)) { $AppUI->redirect('m=public&a=access_denied'); } $canDeleteProject = $obj->canDelete($msg, $project_id); // get critical tasks (criteria: task_end_date) $criticalTasks = $project_id > 0 ? $obj->getCriticalTasks($project_id) : null; // get ProjectPriority from sysvals $projectPriority = w2PgetSysVal('ProjectPriority'); $projectPriorityColor = w2PgetSysVal('ProjectPriorityColor'); $pstatus = w2PgetSysVal('ProjectStatus'); $ptype = w2PgetSysVal('ProjectType'); // load the record data $obj->loadFull(null, $project_id); if (!$obj) { $AppUI->setMsg('Project'); $AppUI->setMsg('invalidID', UI_MSG_ERROR, true); $AppUI->redirect(); } else { $AppUI->savePlace(); } $worked_hours = $obj->project_worked_hours; $total_project_hours = $total_hours = $obj->getTotalProjectHours(); // create Date objects from the datetime fields $start_date = intval($obj->project_start_date) ? new w2p_Utilities_Date($obj->project_start_date) : null; $end_date = intval($obj->project_end_date) ? new w2p_Utilities_Date($obj->project_end_date) : null; $actual_end_date = intval($criticalTasks[0]['task_end_date']) ? new w2p_Utilities_Date($criticalTasks[0]['task_end_date']) : null; $style = $actual_end_date > $end_date && !empty($end_date) ? 'style="color:red; font-weight:bold"' : ''; $style = $obj->project_percent_complete < 99.98999999999999 && $today > $end_date && !empty($end_date) ? 'style="color:red; font-weight:bold"' : $style;
$obj = new CProject(); // Now check if the project is editable/viewable. $denied = $obj->getDeniedRecords($AppUI->user_id); if (in_array($project_id, $denied)) { $AppUI->redirect('m=public&a=access_denied'); } $canDeleteProject = $obj->canDelete($msg, $project_id); // get critical tasks (criteria: task_end_date) $criticalTasks = $project_id > 0 ? $obj->getCriticalTasks($project_id) : null; // get ProjectPriority from sysvals $projectPriority = w2PgetSysVal('ProjectPriority'); $projectPriorityColor = w2PgetSysVal('ProjectPriorityColor'); $pstatus = w2PgetSysVal('ProjectStatus'); $ptype = w2PgetSysVal('ProjectType'); // load the record data $obj->loadFull($AppUI, $project_id); if (!$obj) { $AppUI->setMsg('Project'); $AppUI->setMsg('invalidID', UI_MSG_ERROR, true); $AppUI->redirect(); } else { $AppUI->savePlace(); } $worked_hours = $obj->project_worked_hours; $total_hours = $obj->getTotalHours(); $total_project_hours = $obj->getTotalProjectHours(); // create Date objects from the datetime fields $start_date = intval($obj->project_start_date) ? new CDate($obj->project_start_date) : null; $end_date = intval($obj->project_end_date) ? new CDate($obj->project_end_date) : null; $actual_end_date = intval($criticalTasks[0]['task_end_date']) ? new CDate($criticalTasks[0]['task_end_date']) : null; $today = new CDate();
?> </th> <th width="10px" align="center"><?php echo $AppUI->_('Difference'); ?> </th> </tr> <?php //TODO: rotate the headers by 90 degrees? $activeOnly = $active_projects ? true : false; $projectList = CCompany::getProjects($AppUI, $company_id, $activeOnly); $bcode = new CSystem_Bcode(); $project = new CProject(); if (count($projectList)) { foreach ($projectList as $projectItem) { $project->loadFull(null, $projectItem['project_id']); $criticalTasks = $project->getCriticalTasks($projectItem['project_id']); $costs = $bcode->calculateProjectCost($projectItem['project_id'], $start_date->format(FMT_DATETIME_MYSQL), $end_date->format(FMT_DATETIME_MYSQL)); $pstart = new w2p_Utilities_Date($project->project_start_date); $pend = intval($criticalTasks[0]['task_end_date']) ? new w2p_Utilities_Date($criticalTasks[0]['task_end_date']) : new w2p_Utilities_Date(); $filterStart = $start_date; $filterEnd = $end_date; $workingDaysInSpans = $filterStart->findDaysInRangeOverlap($pstart, $pend, $filterStart, $filterEnd); $workingDaysForProj = $pstart->workingDaysInSpan($pend); $factor = $workingDaysInSpans / $workingDaysForProj; $factor = $factor > 1 ? 1 : $factor; ?> <tr> <td width="10" align="right" style="border: outset #eeeeee 1px;background-color:#<?php echo $project->project_color_identifier; ?>