Example #1
0
    function populate()
    {
        $project = DataObjectFactory::Factory('Project');
        $project->setDefaultDisplayFields(array('name', 'status'));
        $projects_do = new ProjectCollection($project);
        $projects_do->setParams();
        $db = DB::Instance();
        $query = 'SELECT p.id, p.name, p.status ';
        $c_query = 'SELECT count(*)';
        $rest = '	FROM projects p 
				LEFT JOIN project_resources r ON (p.id=r.project_id) 
				LEFT JOIN users u ON (r.person_id=u.person_id) 
				WHERE p.usercompanyid=' . $db->qstr(EGS_COMPANY_ID) . ' AND (
					u.username = '******' OR p.owner=' . $db->qstr(EGS_USERNAME) . ") AND p.status IN ('N', 'A')";
        $query .= $rest;
        $c_query .= $rest;
        $projects_do->load($query, $c_query);
        $projects_do->clickcontroller = 'projects';
        $projects_do->editclickaction = 'view';
        $this->contents = $projects_do;
    }
Example #2
0
 public function getHourTotals()
 {
     $projects = new ProjectCollection(new Project());
     $sh = new SearchHandler($projects, false);
     $projects->getProjectHourTotals($sh, $this->id);
     $projects->load($sh);
     $costs = array('total_hours' => 0, 'total_costs' => 0);
     foreach ($projects as $project) {
         $time = explode(':', $project->total_hours);
         $hours = $time[0] + $time[1] / 60 + $time[2] / 3600;
         $costs['total_hours'] += $hours;
         $costs['total_costs'] += $hours * $project->resource_rate;
     }
     //echo '<pre>'.print_r($costs, true).'</pre><br>';
     return $costs;
 }