$none = false;
 $start_date = intval($row['project_start_date']) ? new w2p_Utilities_Date($row['project_start_date']) : null;
 $end_date = intval($row['project_end_date']) ? new w2p_Utilities_Date($row['project_end_date']) : null;
 $actual_end_date = intval($row['project_actual_end_date']) ? new w2p_Utilities_Date($row['project_actual_end_date']) : null;
 $style = $actual_end_date > $end_date && !empty($end_date) ? 'style="color:red; font-weight:bold"' : '';
 $s = '<tr><td width="65" align="right" style="border: outset #eeeeee 1px;background-color:#' . $row['project_color_identifier'] . '"><font color="' . bestColor($row['project_color_identifier']) . '">' . sprintf('%.1f%%', $row['project_percent_complete']) . '</font></td>';
 $s .= '<td align="center">';
 if ($row['project_priority'] < 0) {
     $s .= '<img src="' . w2PfindImage('icons/priority-' . -$row['project_priority'] . '.gif') . '" width="13" height="16" alt="">';
 } elseif ($row['project_priority'] > 0) {
     $s .= '<img src="' . w2PfindImage('icons/priority+' . $row['project_priority'] . '.gif') . '"  width="13" height="16" alt="">';
 }
 $s .= '</td><td width="40%"><a href="?m=projects&a=view&project_id=' . $row['project_id'] . '" ><span title="' . (nl2br(htmlspecialchars($row['project_description'])) ? htmlspecialchars($row['project_name'], ENT_QUOTES) . '::' . nl2br(htmlspecialchars($row['project_description'])) : '') . '" >' . htmlspecialchars($row['project_name'], ENT_QUOTES) . '</span></a></td>';
 $s .= '<td width="30%"><a href="?m=companies&a=view&company_id=' . $row['project_company'] . '" ><span title="' . (nl2br(htmlspecialchars($row['company_description'])) ? htmlspecialchars($row['company_name'], ENT_QUOTES) . '::' . nl2br(htmlspecialchars($row['company_description'])) : '') . '" >' . htmlspecialchars($row['company_name'], ENT_QUOTES) . '</span></a></td>';
 $s .= '<td nowrap="nowrap" align="center">' . ($start_date ? $start_date->format($df) : '-') . '</td>';
 $s .= '<td nowrap="nowrap" align="right">' . $project->getTotalProjectHours() . $AppUI->_('h') . '</td>';
 $s .= '<td nowrap="nowrap" align="center" nowrap="nowrap" style="background-color:' . $priority[$row['project_priority']]['color'] . '">';
 $s .= $end_date ? $end_date->format($df) : '-';
 $s .= '</td><td nowrap="nowrap" align="center">';
 $s .= $actual_end_date ? '<a href="?m=tasks&a=view&task_id=' . $row['critical_task'] . '">' : '';
 $s .= $actual_end_date ? '<span ' . $style . '>' . $actual_end_date->format($df) . '</span>' : '-';
 $s .= $actual_end_date ? '</a>' : '';
 $s .= '</td><td align="center">';
 $s .= $row['task_log_problem'] ? '<a href="?m=tasks&a=index&f=all&project_id=' . $row['project_id'] . '">' : '';
 $s .= $row['task_log_problem'] ? w2PshowImage('icons/dialog-warning5.png', 16, 16, 'Problem', 'Problem') : '-';
 $s .= $row['task_log_problem'] ? '</a>' : '';
 $s .= '</td><td align="center" nowrap="nowrap">' . htmlspecialchars($row['owner_name'], ENT_QUOTES) . '</td>';
 $s .= '<td align="center" nowrap="nowrap">';
 $s .= $row['project_task_count'];
 $s .= '</td><td align="left" nowrap="nowrap">' . $AppUI->_($pstatus[$row['project_status']]) . '</td></tr>';
 echo $s;
Ejemplo n.º 2
0
 $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();
 $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;
 // setup the title block
 $ttl = 'ProjectDesigner';
 $titleBlock = new CTitleBlock($ttl, 'projectdesigner.png', $m, $m . '.' . $a);
 $titleBlock->addCrumb('?m=projects', 'projects list');
 $titleBlock->addCrumb('?m=' . $m, 'select another project');
 $titleBlock->addCrumb('?m=projects&a=view&bypass=1&project_id=' . $project_id, 'normal view project');
 if ($canAddProject) {
     $titleBlock->addCell();
Ejemplo n.º 3
0
 /**
  *
  * @param CAppUI $AppUI
  * @param CProject $projectId
  *
  * The point of this function is to create/update a task to represent a
  *   subproject.
  *
  */
 public static function storeTokenTask(CAppUI $AppUI, $project_id)
 {
     $subProject = new CProject();
     $subProject->load($project_id);
     if ($subProject->project_id != $subProject->project_parent) {
         $q = new w2p_Database_Query();
         $q->addTable('tasks');
         $q->addQuery('MIN(task_start_date) AS min_task_start_date');
         $q->addQuery('MAX(task_end_date) AS max_task_end_date');
         $q->addWhere('task_project = ' . $subProject->project_id);
         $projectDates = $q->loadList();
         $q->clear();
         $q->addTable('tasks');
         $q->addQuery('task_id');
         $q->addWhere('task_represents_project = ' . $subProject->project_id);
         $task_id = $q->loadResult();
         $task = new CTask();
         if ($task_id) {
             $task->load($task_id);
         } else {
             $task->task_description = $task->task_name;
             $task->task_priority = $subProject->project_priority;
             $task->task_project = $subProject->project_parent;
             $task->task_represents_project = $subProject->project_id;
             $task->task_owner = $AppUI->user_id;
         }
         $task->task_name = $AppUI->_('Subproject') . ': ' . $subProject->project_name;
         $task->task_duration_type = 1;
         $task->task_duration = $subProject->getTotalProjectHours();
         $task->task_start_date = $projectDates[0]['min_task_start_date'];
         $task->task_end_date = $projectDates[0]['max_task_end_date'];
         $task->task_percent_complete = $subProject->project_percent_complete;
         $result = $task->store($AppUI);
         //TODO: we should do something with this store result?
     }
 }
Ejemplo n.º 4
0
$obj = $project;
if (!$project) {
    $AppUI->setMsg('Project');
    $AppUI->setMsg('invalidID', UI_MSG_ERROR, true);
    $AppUI->redirect();
} else {
    $AppUI->savePlace();
}
global $w2Pconfig;
$task = new CTask();
$q = new w2p_Database_Query();
$q->clear();
$hasTasks = $project->project_task_count;
if ($hasTasks) {
    $worked_hours = $project->project_worked_hours;
    $total_project_hours = $project->getTotalProjectHours();
} else {
    //no tasks in project so "fake" project data
    $worked_hours = $total_hours = $total_project_hours = 0.0;
}
global $task_access;
$extra = array(0 => '(none)', 1 => 'Milestone', 2 => 'Dynamic Task', 3 => 'Inactive Task');
//Though we are in suppressHeaders mode, we should properly set the HTML Headers
//For this report.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <meta name="Description" content="web2Project Default Style" />
        <meta name="Version" content="<?php