getJavascripts(); echo $HTML->getStylesheets(); echo ''; echo html_ao('body'); echo html_ao('main', array('id' => 'maindiv')); /* define global vars */ global $pg; $gid = $pg->Group->getID(); $offset = getIntFromRequest('offset'); $_assigned_to = getIntFromRequest('_assigned_to', 0); $_category_id = getIntFromRequest('_category_id'); $_order = getIntFromRequest('_order'); $_resolution = getStringFromRequest('_resolution'); $_status = getIntFromRequest('_status', 100); $_order = getStringFromRequest('_order'); $max_rows = getIntFromRequest('max_rows', 50); $engine = RBACEngine::getInstance(); $techs = $engine->getUsersByAllowedAction('pm', $pg->getID(), 'tech'); $tech_id_arr = array(); $tech_name_arr = array(); $ptf = new ProjectTaskFactory($pg); if (!$ptf || !is_object($ptf)) { exit_error(_('Could Not Get ProjectTaskFactory'), 'pm'); } elseif ($ptf->isError()) { exit_error(_('Error getting PTF: ').$ptf->getErrorMessage(), 'pm'); } $ptf->setup($offset, $_order, $max_rows, 'custom', $_assigned_to, $_status, $_category_id); if ($ptf->isError()) { exit_error(_('Error in PTF: ').$ptf->getErrorMessage(),'pm'); } $pt_arr =& $ptf->getTasks(); if ($ptf->isError()) { exit_error($ptf->getErrorMessage(), 'pm'); } $transformedTechsArr = array(); $transformedRolesArr = array(); foreach ($techs as $tech) { $tech_id_arr[] = $tech->getID(); $tech_name_arr[] = $tech->getRealName(); $transformedTechsArr[] = array('id' => $tech->getID(), 'name' => $tech->getRealName()); $role = $tech->getRole($gid); $transformedRolesArr[] = array('id' => $role->getID(), 'name' => $role->getName()); } $transformedTasksArr = array(); $minstartdate = 99999999999999999999; //$maxstartdate = 0; foreach ($pt_arr as $task) { $duration = ($task->getEndDate() - $task->getStartDate())/(24*60*60); if ($minstartdate > $task->getStartDate()) { $minstartdate = $task->getStartDate(); } // if ($maxstartdate < $task->getEndDate()) { // $maxstartdate = $task->getEndDate(); // } $assignees = array(); $assigneesIdArr = $task->getAssignedTo(); foreach ($assigneesIdArr as $assigneeId) { $assigneeOjbject = user_get_object($assigneeId); $assigneeRole = $assigneeOjbject->getRole($gid); if ($assigneeRole) { $roleId = $assigneeRole->getID(); } else { $roleId = false; } $assignees[] = array( 'resourceId' => $assigneeOjbject->getID(), 'id' => $assigneeOjbject->getID(), 'roleId' => $roleId, 'effort' => 0 ); } $transformedTasksArr[] = array( 'id' => $task->getID(), 'name' => $task->getSummary(), 'code' => $task->getCategoryName(), 'level' => 0, 'status' => 'STATUS_ACTIVE', 'start' => (int)$task->getStartDate()*1000, 'duration' => (int)$duration, 'end' => (int)$task->getEndDate()*1000, 'startIsMilestone' => false, 'endIsMilestone' => false, 'assigs' => $assignees, 'description' => $task->getDetails(), 'progress' => (int)$task->getPercentComplete() ); } for($j =0; $j getDependentOn(); $depends = ''; foreach ($dependentTasksArr as $key => $dependentTask) { if ($key != 100) { for ($i =0; $i getStatuses(), '_status', $_status, false, '', true, _('Any')); $cat_box = html_build_select_box($pg->getCategories(), '_category_id', $_category_id, true, _('None'), true, _('Any')); /* Creating a custom sort box */ $title_arr = array(); $title_arr[] = _('Task Id'); $title_arr[] = _('Task Summary'); $title_arr[] = _('Start Date'); $title_arr[] = _('End Date'); $title_arr[] = _('Percent Complete'); $order_col_arr = array(); $order_col_arr[] = 'project_task_id'; $order_col_arr[] = 'summary'; $order_col_arr[] = 'start_date'; $order_col_arr[] = 'end_date'; $order_col_arr[] = 'percent_complete'; $order_box = html_build_select_box_from_arrays($order_col_arr, $title_arr, '_order', $_order, false); echo $HTML->openForm(array('action' => '/pm/task.php?group_id='.$group_id.'&group_project_id='.$group_project_id.'&func=ganttpage', 'method' => 'post')); echo '
'._('Assignee').'
'. $tech_box .'
'._('Status').'
'. $status_box .'
'._('Category').'
'. $cat_box .'
'._('Sort On').'
'. $order_box .'
'; echo $HTML->closeForm(); echo '
'; ?> footer();