/** * Overrides _buildObjArr of LeaveQuota * Builds the Leave Summary from the resource * * @param resource $result * @return Array[][] LeaveSummary * @access protected * @author S.H.Mohanjith * */ protected function _buildObjArr($result) { $leaveObj = new Leave(); $leaveObj->setEmployeeId($this->getEmployeeId()); $objArr = null; $leveTypeObj = new LeaveType(); $leaveTypes = $leveTypeObj->fetchLeaveTypes(true); $objLeaveType = new LeaveType(); if (is_array($leaveTypes)) { foreach ($leaveTypes as $leaveType) { $tmpLeaveSummary = new LeaveSummary(); $tmpLeaveSummary->setLeaveTypeId($leaveType->getLeaveTypeId()); $tmpLeaveSummary->setLeaveTypeName($leaveType->getLeaveTypeName()); $tmpLeaveSummary->setNoOfDaysAllotted(0); $taken = $leaveObj->countLeave($tmpLeaveSummary->getLeaveTypeId(), $this->getYear()); $tmpLeaveSummary->setLeaveTaken($taken); $tmpLeaveSummary->setLeaveAvailable(0); $tmpLeaveSummary->setYear($this->getYear()); $tmpLeaveSummary->setLeaveTypeAvailable($leaveType->getLeaveTypeAvailable()); if ($tmpLeaveSummary->getLeaveTypeAvailable() == $objLeaveType->availableStatusFlag || $tmpLeaveSummary->getLeaveTaken() > 0) { $leaveTypeList[$leaveType->getLeaveTypeId()] = $tmpLeaveSummary; } } $objLeaveType = new LeaveType(); while ($row = mysql_fetch_row($result)) { if (isset($leaveTypeList[$row[1]])) { $tmpLeaveSummary = $leaveTypeList[$row[1]]; $leaveTypeAvailable = $tmpLeaveSummary->getLeaveTypeAvailable(); $tmpLeaveSummary->setNoOfDaysAllotted($row[3]); $taken = $tmpLeaveSummary->getLeaveTaken(); $alloted = $tmpLeaveSummary->getNoOfDaysAllotted(); $tmpLeaveSummary->setLeaveAvailable($alloted - $taken); $leaveTypeList[$row[1]] = $tmpLeaveSummary; } } if (isset($leaveTypeList)) { $objArr = $leaveTypeList; sort($objArr); } } return $objArr; }
/** * Display select employee * * @param String $action */ public function viewSelectEmployee($action) { $tmpObj = new Leave(); $this->setObjLeave($tmpObj); $tmpOb[0] = $tmpObj->getLeaveYears(); $authorizeObj = $this->authorize; if ($this->getAuthorize()->isAdmin()) { $empObj = new EmpInfo(); $tmpOb[1] = array(true); $leaveTypeObj = new LeaveType(); $tmpOb[2] = $leaveTypeObj->fetchLeaveTypes(); } else { $repObj = new EmpRepTo(); $tmpOb[1] = $repObj->getEmpSubDetails($_SESSION['empID']); } $roles = array(authorize::AUTHORIZE_ROLE_ADMIN, authorize::AUTHORIZE_ROLE_SUPERVISOR); $role = $authorizeObj->firstRole($roles); $tmpOb[3] = $role; $path = "/templates/leave/leaveSelectEmployeeAndYear.php"; $template = new TemplateMerger($tmpOb, $path); $template->display($action); }