Beispiel #1
0
 private function _getLeaveTypeObjectWithValues()
 {
     $leaveType = new LeaveType();
     $leaveType->setLeaveTypeName('Special');
     $leaveType->setAvailableFlag(1);
     return $leaveType;
 }
 public function getLeavesForMeAndSubordinates($req)
 {
     $map = json_decode('{"employee":["Employee","id","first_name+last_name"],"leave_type":["LeaveType","id","name"]}');
     $employee = $this->baseService->getElement('Employee', $this->getCurrentProfileId(), null, true);
     $employeeLeave = new EmployeeLeave();
     $startDate = date("Y-m-d H:i:s", $req->start);
     $endDate = date("Y-m-d H:i:s", $req->end);
     $list = $employeeLeave->Find("status in ('Approved','Pending') and ((date_start >= ? and date_start <= ? ) or (date_end >= ? and date_end <= ?))", array($startDate, $endDate, $startDate, $endDate));
     if (!$list) {
         LogManager::getInstance()->info($employeeLeave->ErrorMsg());
     }
     if (!empty($map)) {
         $list = $this->baseService->populateMapping($list, $map);
     }
     $data = array();
     $leaveType = new LeaveType();
     $leaveTypesTemp = $leaveType->Find("1=1");
     $leaveTypes = array();
     foreach ($leaveTypesTemp as $leaveType) {
         $leaveTypes[$leaveType->name] = $leaveType;
     }
     foreach ($list as $leave) {
         $data[] = $this->leaveToEvent($leave, $leaveTypes);
     }
     $holiday = new HoliDay();
     $holidays = $holiday->Find("1=1", array());
     foreach ($holidays as $holiday) {
         $data[] = $this->holidayToEvent($holiday);
     }
     echo json_encode($data);
     exit;
 }
 private function _getLeaveTypeObjectWithValues()
 {
     $leaveType = new LeaveType();
     $leaveType->setName('Special');
     $leaveType->setDeleted(0);
     return $leaveType;
 }
 protected function setUp()
 {
     TestDataService::truncateSpecificTables(array('Employee', 'Leave', 'LeaveRequest', 'LeaveType', 'EmployeeLeaveEntitlement', 'LeavePeriod'));
     // Save leave type
     $leaveTypeData = sfYaml::load(sfConfig::get('sf_plugins_dir') . '/orangehrmCoreLeavePlugin/test/fixtures/leaveType.yml');
     $leaveTypeDao = new LeaveTypeDao();
     $leaveType = new LeaveType();
     $leaveType->setLeaveTypeName($leaveTypeData['leaveType']['LT_001']['name']);
     //                $leaveType->setLeaveRules($leaveTypeData['leaveType']['LT_001']['rule']);
     $leaveTypeDao->saveLeaveType($leaveType);
     $this->leaveType = $leaveType;
     $this->leaveTypeId = $leaveType->getLeaveTypeId();
     // Save leave Period
     $leavePeriodData = sfYaml::load(sfConfig::get('sf_plugins_dir') . '/orangehrmCoreLeavePlugin/test/fixtures/leavePeriod.yml');
     $leavePeriodService = new LeavePeriodService();
     $leavePeriodService->setLeavePeriodDao(new LeavePeriodDao());
     $leavePeriod = new LeavePeriod();
     $leavePeriod->setStartDate($leavePeriodData['leavePeriod']['1']['startDate']);
     $leavePeriod->setEndDate($leavePeriodData['leavePeriod']['1']['endDate']);
     $leavePeriodService->saveLeavePeriod($leavePeriod);
     $this->leavePeriod = $leavePeriod;
     $this->leavePeriodId = $leavePeriod->getLeavePeriodId();
     // Save Employee
     $employeeservice = new EmployeeService();
     $this->employee = new Employee();
     $employeeservice->saveEmployee($this->employee);
     $this->empNumber = $this->employee->getEmpNumber();
     // save leave quota
     $this->leaveEntitlement = sfYaml::load(sfConfig::get('sf_plugins_dir') . '/orangehrmCoreLeavePlugin/test/fixtures/leaveEntitlement.yml');
     $this->leaveEntitlementDao = new LeaveEntitlementDao();
 }
 public function parseDeleteData($postArr)
 {
     $objLeave = null;
     for ($i = 0; $i < count($postArr['chkLeaveTypeID']); $i++) {
         $tmpObj = new LeaveType();
         $tmpObj->setLeaveTypeId($postArr['chkLeaveTypeID'][$i]);
         $objLeave[] = $tmpObj;
     }
     return $objLeave;
 }
Beispiel #6
0
 /**
  *
  * @param LeaveType $leaveType
  * @return boolean
  */
 public function saveLeaveType(LeaveType $leaveType)
 {
     try {
         $leaveType->save();
         return true;
     } catch (Exception $e) {
         $this->getLogger()->error("Exception in saveLeaveType:" . $e);
         throw new DaoException($e->getMessage());
     }
 }
Beispiel #7
0
 public function getLeaveTypeObject()
 {
     $leaveTypeId = $this->getValue('hdnLeaveTypeId');
     if (!empty($leaveTypeId)) {
         $leaveType = $this->getLeaveTypeService()->readLeaveType($leaveTypeId);
     } else {
         $leaveType = new LeaveType();
         $leaveType->setAvailableFlag(LeaveType::AVAILABLE);
     }
     $leaveType->setLeaveTypeName($this->getValue('txtLeaveTypeName'));
     return $leaveType;
 }
 public function getLeaveTypeObject()
 {
     $leaveTypeId = $this->getValue('hdnLeaveTypeId');
     if (!empty($leaveTypeId)) {
         $leaveType = $this->getLeaveTypeService()->readLeaveType($leaveTypeId);
     } else {
         $leaveType = new LeaveType();
         $leaveType->setDeleted(0);
     }
     $leaveType->setName($this->getValue('txtLeaveTypeName'));
     $leaveType->setExcludeInReportsIfNoEntitlement($this->getValue('excludeIfNoEntitlement'));
     return $leaveType;
 }
Beispiel #9
0
 /**
  *
  * @param LeaveType $leaveType
  * @return boolean
  */
 public function saveLeaveType(LeaveType $leaveType)
 {
     try {
         if ($leaveType->getLeaveTypeId() == '') {
             $idGenService = new IDGeneratorService();
             $idGenService->setEntity($leaveType);
             $leaveType->setLeaveTypeId($idGenService->getNextID());
         }
         $leaveType->save();
         return true;
     } catch (Exception $e) {
         $this->getLogger()->error("Exception in saveLeaveType:" . $e);
         throw new DaoException($e->getMessage());
     }
 }
 public function getUserLeaveTypes()
 {
     $ele = new LeaveType();
     $empLeaveGroupId = NULL;
     $employeeId = BaseService::getInstance()->getCurrentProfileId();
     $empLeaveGroup = new LeaveGroupEmployee();
     $empLeaveGroup->Load("employee = ?", array($employeeId));
     if ($empLeaveGroup->employee == $employeeId && !empty($empLeaveGroup->id)) {
         $empLeaveGroupId = $empLeaveGroup->leave_group;
     }
     if (empty($empLeaveGroupId)) {
         $list = $ele->Find('leave_group IS NULL', array());
     } else {
         $list = $ele->Find('leave_group IS NULL or leave_group = ?', array($empLeaveGroupId));
     }
     return $list;
 }
 /**
  * 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;
 }
 public function getLeavesForMeAndSubordinates($req)
 {
     $req->start = gmdate("Y-m-d", $req->start);
     $req->end = gmdate("Y-m-d", $req->end);
     $shareCalendar = $this->baseService->settingsManager->getSetting("Leave: Share Calendar to Whole Company");
     $map = json_decode('{"employee":["Employee","id","first_name+last_name"],"leave_type":["LeaveType","id","name"]}');
     $employee = $this->baseService->getElement('Employee', $this->getCurrentProfileId(), null, true);
     if ($shareCalendar != "1") {
         $subordinate = new Employee();
         $subordinates = $subordinate->Find("supervisor = ?", array($employee->id));
         $subordinatesIds = $employee->id;
         foreach ($subordinates as $sub) {
             if ($subordinatesIds != "") {
                 $subordinatesIds .= ",";
             }
             $subordinatesIds .= $sub->id;
         }
         $employeeLeave = new EmployeeLeave();
         $startDate = date("Y-m-d H:i:s", $req->start);
         $endDate = date("Y-m-d H:i:s", $req->end);
         $list = $employeeLeave->Find("employee in (" . $subordinatesIds . ") and status in ('Approved','Pending') and ((date_start >= ? and date_start <= ? ) or (date_end >= ? and date_end <= ?))", array($startDate, $endDate, $startDate, $endDate));
     } else {
         $employeeLeave = new EmployeeLeave();
         $startDate = $req->start;
         $endDate = $req->end;
         $list = $employeeLeave->Find("status in ('Approved','Pending') and ((date_start >= ? and date_start <= ? ) or (date_end >= ? and date_end <= ?))", array($startDate, $endDate, $startDate, $endDate));
     }
     if (!$list) {
         LogManager::getInstance()->info($employeeLeave->ErrorMsg());
     }
     if (!empty($map)) {
         $list = $this->baseService->populateMapping($list, $map);
     }
     $leaveType = new LeaveType();
     $leaveTypesTemp = $leaveType->Find("1=1");
     $leaveTypes = array();
     foreach ($leaveTypesTemp as $leaveType) {
         $leaveTypes[$leaveType->name] = $leaveType;
     }
     $data = array();
     $mode = CalendarTools::getCalendarMode($req->start, $req->end);
     foreach ($list as $leave) {
         $tmpEvents = $this->leaveToEvents($leave, $leaveTypes);
         foreach ($tmpEvents as $event) {
             $data[] = $event;
         }
     }
     /*
             if($mode == CalendarTools::MODE_MONTH){
                 foreach($list as $leave){
                     $data[] = $this->leaveToEvent($leave, $leaveTypes);
                 }
             }else{
                 foreach($list as $leave){
                     $tmpEvents = $this->leaveToEvents($leave, $leaveTypes);
                     foreach($tmpEvents as $event){
                         $data[] =  $event;
                     }
                 }
             }
     */
     $holiday = new HoliDay();
     $holidays = $holiday->Find("1=1", array());
     foreach ($holidays as $holiday) {
         $data[] = $this->holidayToEvent($holiday);
     }
     echo json_encode($data);
     exit;
 }
 private function getLeaveRuleOnly($employee, $leaveType)
 {
     $rule = null;
     $leaveRule = new LeaveRule();
     $leaveTypeObj = new LeaveType();
     $rules = $leaveRule->Find("employee = ? and leave_type = ?", array($employee->id, $leaveType));
     if (count($rules) > 0) {
         return $rules[0];
     }
     //Check whether this employee has a leave group
     $leaveGroupId = $this->getEmployeeLeaveGroup($employee->id);
     if (!empty($leaveGroupId)) {
         $rules = $leaveRule->Find("leave_group = ? and leave_type = ?", array($leaveGroupId, $leaveType));
         if (count($rules) > 0) {
             return $rules[0];
         }
         $rules = $leaveRule->Find("leave_group = ? and job_title = ? and employment_status = ? and leave_type = ? and employee is null", array($leaveGroupId, $employee->job_title, $employee->employment_status, $leaveType));
         if (count($rules) > 0) {
             return $rules[0];
         }
         $rules = $leaveRule->Find("leave_group = ? and job_title = ? and employment_status is null and leave_type = ? and employee is null", array($leaveGroupId, $employee->job_title, $leaveType));
         if (count($rules) > 0) {
             return $rules[0];
         }
         $rules = $leaveRule->Find("leave_group = ? and job_title is null and employment_status = ? and leave_type = ? and employee is null", array($leaveGroupId, $employee->employment_status, $leaveType));
         if (count($rules) > 0) {
             return $rules[0];
         }
         $rules = $leaveTypeObj->Find("leave_group = ? and id = ?", array($leaveGroupId, $leaveType));
         if (count($rules) > 0) {
             return $rules[0];
         }
     }
     $rules = $leaveRule->Find("job_title = ? and employment_status = ? and leave_type = ? and employee is null", array($employee->job_title, $employee->employment_status, $leaveType));
     if (count($rules) > 0) {
         return $rules[0];
     }
     $rules = $leaveRule->Find("job_title = ? and employment_status is null and leave_type = ? and employee is null", array($employee->job_title, $leaveType));
     if (count($rules) > 0) {
         return $rules[0];
     }
     $rules = $leaveRule->Find("job_title is null and employment_status = ? and leave_type = ? and employee is null", array($employee->employment_status, $leaveType));
     if (count($rules) > 0) {
         return $rules[0];
     }
     $rules = $leaveTypeObj->Find("id = ?", array($leaveType));
     if (count($rules) > 0) {
         return $rules[0];
     }
 }
	private function getLeaveRule($employee,$leaveType){
		$rule = null;
		$leaveRule = new LeaveRule();
		$leaveTypeObj = new LeaveType();
		$rules = $leaveRule->Find("employee = ? and leave_type = ?",array($employee->id,$leaveType));
		if(count($rules)>0){
			return $rules[0];
		}

		$rules = $leaveRule->Find("job_title = ? and employment_status = ? and leave_type = ? and employee is null",array($employee->job_title,$employee->employment_status,$leaveType));
		if(count($rules)>0){
			return $rules[0];
		}

		$rules = $leaveRule->Find("job_title = ? and employment_status is null and leave_type = ? and employee is null",array($employee->job_title,$leaveType));
		if(count($rules)>0){
			return $rules[0];
		}

		$rules = $leaveRule->Find("job_title is null and employment_status = ? and leave_type = ? and employee is null",array($employee->employment_status,$leaveType));
		if(count($rules)>0){
			return $rules[0];
		}

		$rules = $leaveTypeObj->Find("id = ?",array($leaveType));
		if(count($rules)>0){
			return $rules[0];
		}

	}
 protected function _buildObjArr($result)
 {
     $objArr = null;
     while ($row = mysql_fetch_row($result)) {
         $tmpLeaveArr = new LeaveType();
         $tmpLeaveArr->setLeaveTypeId($row[0]);
         $tmpLeaveArr->setLeaveTypeName($row[1]);
         if (isset($row[2])) {
             $tmpLeaveArr->setLeaveTypeAvailable($row[2]);
         }
         $objArr[] = $tmpLeaveArr;
     }
     return $objArr;
 }
Beispiel #16
0
 /**
  * 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);
 }
Skill::SetDatabaseAdapter($dbLocal);
Education::SetDatabaseAdapter($dbLocal);
Certification::SetDatabaseAdapter($dbLocal);
Language::SetDatabaseAdapter($dbLocal);
Nationality::SetDatabaseAdapter($dbLocal);
Employee::SetDatabaseAdapter($dbLocal);
User::SetDatabaseAdapter($dbLocal);
EmployeeSkill::SetDatabaseAdapter($dbLocal);
EmployeeEducation::SetDatabaseAdapter($dbLocal);
EmployeeCertification::SetDatabaseAdapter($dbLocal);
EmployeeLanguage::SetDatabaseAdapter($dbLocal);
EmergencyContact::SetDatabaseAdapter($dbLocal);
EmployeeDependent::SetDatabaseAdapter($dbLocal);
EmployeeImmigration::SetDatabaseAdapter($dbLocal);
EmployeeSalary::SetDatabaseAdapter($dbLocal);
LeaveType::SetDatabaseAdapter($dbLocal);
LeavePeriod::SetDatabaseAdapter($dbLocal);
WorkDay::SetDatabaseAdapter($dbLocal);
HoliDay::SetDatabaseAdapter($dbLocal);
LeaveRule::SetDatabaseAdapter($dbLocal);
EmployeeLeave::SetDatabaseAdapter($dbLocal);
EmployeeLeaveDay::SetDatabaseAdapter($dbLocal);
File::SetDatabaseAdapter($dbLocal);
Client::SetDatabaseAdapter($dbLocal);
Project::SetDatabaseAdapter($dbLocal);
EmployeeTimeSheet::SetDatabaseAdapter($dbLocal);
EmployeeTimeEntry::SetDatabaseAdapter($dbLocal);
EmployeeProject::SetDatabaseAdapter($dbLocal);
Document::SetDatabaseAdapter($dbLocal);
EmployeeDocument::SetDatabaseAdapter($dbLocal);
CompanyLoan::SetDatabaseAdapter($dbLocal);
Beispiel #18
0
 public function isLeaveQuotaDeleted()
 {
     $leaveTypeObj = new LeaveType();
     $leaveType = $leaveTypeObj->retriveLeaveType($this->leaveTypeId);
     return $leaveType[0]->getLeaveTypeAvailable() == $leaveType[0]->availableStatusFlag ? false : true;
 }
 function leavecreateAction()
 {
     $session = SessionWrapper::getInstance();
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender(TRUE);
     // parent::createAction();
     $formvalues = $this->_getAllParams();
     // debugMessage($formvalues); exit();
     $formvalues['id'] = $id = decode($formvalues['id']);
     $leave = new LeaveType();
     if (!isArrayKeyAnEmptyString('id', $formvalues)) {
         $leave->populate($id);
         $formvalues['lastupdatedby'] = $session->getVar('userid');
     } else {
         $formvalues['createdby'] = $session->getVar('userid');
     }
     $leave->processPost($formvalues);
     if ($leave->hasError()) {
         /* debugMessage($leave->toArray());
         			 debugMessage('errors are '.$leave->getErrorStackAsString());
         			exit(); */
         $this->_helper->redirector->gotoUrl(decode($this->_getParam(URL_FAILURE)));
     }
     try {
         $leave->save();
         //debugMessage($leave->toArray());
         $session->setVar(SUCCESS_MESSAGE, $this->_getParam('successmessage'));
         $this->_helper->redirector->gotoUrl(decode($this->_getParam(URL_SUCCESS)));
     } catch (Exception $e) {
         $session->setVar(ERROR_MESSAGE, $e->getMessage());
         //debugMessage('save error '.$e->getMessage());
         $this->_helper->redirector->gotoUrl(decode($this->_getParam(URL_FAILURE)));
     }
 }