Example #1
0
 /**
  * Test for countEmployeesInActivity() method.
  */
 public function testCountEmployeesInActivity()
 {
     $report = new ProjectReport();
     $activity = $this->activities[1]["Programming"];
     $activityId = $activity->getId();
     $this->assertEquals(0, $report->countEmployeesInActivity(1, $activityId, "2007-07-05", "2007-07-12"));
     $this->_addEvent(1, 1, "Programming", "2007-07-05  09:25", 80);
     $this->_addEvent(1, 1, "Programming", "2007-07-07  08:12", 70);
     $this->_addEvent(1, 1, "Programming", "2007-07-10  09:25", 210);
     $this->assertEquals(1, $report->countEmployeesInActivity(1, $activityId, "2007-07-05", "2007-07-06"));
     $this->assertEquals(1, $report->countEmployeesInActivity(1, $activityId, "2007-07-05", "2007-07-12"));
     $this->_addEvent(1, 2, "Programming", "2007-07-25  09:25", 80);
     $this->assertEquals(1, $report->countEmployeesInActivity(1, $activityId, "2007-07-05", "2007-07-20"));
     $this->assertEquals(2, $report->countEmployeesInActivity(2, $activityId, "2007-07-05", "2007-07-30"));
     // Add some extra employees
     for ($i = 1; $i <= 30; $i++) {
         $id = $i + 3;
         $empId = str_pad($id, 3, "0", STR_PAD_LEFT);
         $this->_addEmployee($id, $empId, "Test Employee {$id}", "First Name {$id}");
         $this->_addEvent(1, $id, "Programming", "2007-07-05  05:50", $id * 10);
         $this->_addEvent(1, $id, "Programming", "2007-07-12  15:25", $id * 5);
     }
     $this->assertEquals(32, $report->countEmployeesInActivity(2, $activityId, "2007-07-05", "2007-07-30"));
 }
Example #2
0
 /**
  * View activity report
  */
 public function viewActivityReport()
 {
     $path = "/templates/time/activityReport.php";
     $timeEventObj = $this->objTime[0];
     $startDate = $this->objTime[1];
     $endDate = $this->objTime[2];
     $pageNo = $this->objTime[3];
     $projectId = $timeEventObj->getProjectId();
     $activityId = $timeEventObj->getActivityId();
     $time = $timeEventObj->getDuration();
     $returnUrl = '?timecode=Time&action=Project_Report_Define';
     if (!$this->authorizeObj->isAdmin() && !$this->authorizeObj->isProjectAdminOf($projectId)) {
         $this->redirect('UNAUTHORIZED_FAILURE', $returnUrl);
     }
     $projectObj = new Projects();
     $project = $projectObj->fetchProject($projectId);
     if (empty($project)) {
         $this->redirect('PROJECT_NOT_FOUND_FAILURE', $returnUrl);
     }
     $activity = ProjectActivity::getActivity($activityId);
     if (empty($activity)) {
         $this->redirect('ACTIVITY_NOT_FOUND_FAILURE', $returnUrl);
     }
     if ($projectId != $activity->getProjectId()) {
         $this->redirect('UNAUTHORIZED_FAILURE', $returnUrl);
     }
     $report = new ProjectReport();
     $count = $report->countEmployeesInActivity($projectId, $activityId, $startDate, $endDate);
     $empTimeArray = $report->getEmployeeActivityTime($projectId, $activityId, $startDate, $endDate, $pageNo);
     $dataArr[0] = $project;
     $dataArr[1] = $activity;
     $dataArr[2] = $startDate;
     $dataArr[3] = $endDate;
     $dataArr[4] = $empTimeArray;
     $dataArr[5] = $count;
     $dataArr[6] = $time;
     $dataArr[7] = $pageNo;
     $template = new TemplateMerger($dataArr, $path);
     $template->display();
 }