コード例 #1
0
 /**
  * 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;
 }
コード例 #2
0
ファイル: LeaveController.php プロジェクト: noikiy/owaspbwa
 /**
  * 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);
 }