Subversion-Projekte lars-tiefland.prado

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?php

class ReportResource extends TPage
{
        protected function getProjects()
        {
                $projectDao = $this->Application->Modules['daos']->getDao('ProjectDao');
                $projects = array();
                foreach($projectDao->getAllProjects() as $project)
                                $projects[$project->ID] = $project->Name;
                return $projects;
        }
        
        protected function getUsers()
        {
                $dao = $this->Application->Modules['daos']->getDao('UserDao');
                $users = array();
                foreach($dao->getAllUsers() as $user)
                {
                        $users[$user->Name] = $user->Name;
                }
                return $users;
        }
        
        public function onLoad($param)
        {
                if(!$this->IsPostBack)
                {
                        $this->projectList->DataSource = $this->getProjects();
                        $this->resourceList->DataSource = $this->getUsers();
                        $this->dataBind();      
                }
        }       
        
        public function generateReport_Clicked($sender, $param)
        {
                if(count($this->projectList->SelectedValues) > 0
                        && count($this->resourceList->SelectedValues) >0)
                {
                        $this->showReport();
                }
        }

        protected function showReport()
        {
                $this->views->ActiveViewIndex = 1;
                $reportDao = $this->Application->Modules['daos']->getDao('ReportDao');
                $projects = $this->projectList->SelectedValues;
                $users = $this->resourceList->SelectedValues;
                $start = $this->dateFrom->TimeStamp;
                $end = $this->dateTo->TimeStamp;
                
                $report = $reportDao->getUserProjectTimeReports($users, $projects, $start, $end);

                $this->resource_report->DataSource = $report;
                $this->resource_report->dataBind();             
        }
        
        public function resource_report_itemCreated($sender, $param)
        {
                $item = $param->Item;
                if($item->ItemType==='Item' || $item->ItemType==='AlternatingItem')
                {
                        if(count($item->DataItem->Projects) > 0 &&
                                $item->DataItem->Projects[0]->ProjectName !== null)
                        $item->time_entries->DataSource = $item->DataItem->Projects;
                }
        }
}

?>