function updatestatusAction() { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(TRUE); $formvalues = $this->_getAllParams(); debugMessage($formvalues); $session = SessionWrapper::getInstance(); $this->_translate = Zend_Registry::get("translate"); $formvalues['id'] = $id = $formvalues['id']; $formvalues['dateapproved'] = date("Y-m-d H:i:s", strtotime('now')); $formvalues['approvedbyid'] = $session->getVar('userid'); // debugMessage($formvalues); $leave = new Leave(); $leave->populate($id); $leave->setStatus($formvalues['status']); $leave->setDateApproved(DEFAULT_DATETIME); $leave->setApprovedByID($session->getVar('userid')); if (!isArrayKeyAnEmptyString('reason', $formvalues)) { $leave->setReason("<br/>Rejected with remarks: " . $formvalues['reason']); } try { $leave->save(); $leave->afterApprove($formvalues['status']); $session->setVar(SUCCESS_MESSAGE, $this->_translate->translate($formvalues[SUCCESS_MESSAGE])); } catch (Exception $e) { // debugMessage('error '.$e->getMessage()); $session->setVar(ERROR_MESSAGE, $e->getMessage()); } // exit(); $this->_helper->redirector->gotoUrl(decode($formvalues[URL_SUCCESS])); }
public function testGetLeaveActions() { $loggedInEmpNumber = 4; $leave = new Leave(); $leave->setStatus(Leave::LEAVE_STATUS_LEAVE_PENDING_APPROVAL); $leave->setEmpNumber(5); $approveAction = new WorkflowStateMachine(); $approveAction->fromArray(array('id' => 2, 'workflow' => 'leave', 'state' => 'PENDING APPROVAL', 'role' => 'ADMIN', 'action' => 'APPROVE', 'resulting_state' => 'SCHEDULED', 'roles_to_notify' => '', 'priority' => 0)); $cancelAction = new WorkflowStateMachine(); $cancelAction->fromArray(array('id' => 3, 'workflow' => 'leave', 'state' => 'PENDING APPROVAL', 'role' => 'ADMIN', 'action' => 'CANCEL', 'resulting_state' => 'CANCELLED', 'roles_to_notify' => '', 'priority' => 0)); $rejectAction = new WorkflowStateMachine(); $rejectAction->fromArray(array('id' => 5, 'workflow' => 'leave', 'state' => 'PENDING APPROVAL', 'role' => 'ADMIN', 'action' => 'REJECT', 'resulting_state' => 'REJECTED', 'roles_to_notify' => '', 'priority' => 0)); $actions = array($approveAction, $cancelAction, $rejectAction); $userManager = $this->getMock('BasicUserRoleManager', array('getAllowedActions')); $userManager->expects($this->any())->method('getAllowedActions')->with(WorkflowStateMachine::FLOW_LEAVE, $leave->getTextLeaveStatus(), array(), array())->will($this->returnValue($actions)); $this->leaveRequestService->setUserRoleManager($userManager); $result = $this->leaveRequestService->getLeaveActions($leave, $loggedInEmpNumber); $this->verifyLeaveActions($actions, $result); }
/** * * Get Leave array * @param LeaveParameterObject $leaveAssignmentData * @return array */ public function createLeaveObjectListForAppliedRange(LeaveParameterObject $leaveAssignmentData) { $leaveList = array(); $from = strtotime($leaveAssignmentData->getFromDate()); $to = strtotime($leaveAssignmentData->getToDate()); for ($timeStamp = $from; $timeStamp <= $to; $timeStamp = $this->incDate($timeStamp)) { $leave = new Leave(); $leaveDate = date('Y-m-d', $timeStamp); $isWeekend = $this->isWeekend($leaveDate, $leaveAssignmentData); $isHoliday = $this->isHoliday($leaveDate, $leaveAssignmentData); $isHalfday = $this->isHalfDay($leaveDate, $leaveAssignmentData); $isHalfDayHoliday = $this->isHalfdayHoliday($leaveDate, $leaveAssignmentData); $leave->setDate($leaveDate); //$leave->setComments($leaveAssignmentData->getComment()); $leave->setLengthDays($this->calculateDateDeference($leaveAssignmentData, $isWeekend, $isHoliday, $isHalfday, $isHalfDayHoliday)); $leave->setStartTime($leaveAssignmentData->getFromTime() != '' ? $leaveAssignmentData->getFromTime() : '00:00'); $leave->setEndTime($leaveAssignmentData->getToTime() != '' ? $leaveAssignmentData->getToTime() : '00:00'); $leave->setLengthHours($this->calculateTimeDeference($leaveAssignmentData, $isWeekend, $isHoliday, $isHalfday, $isHalfDayHoliday)); $leave->setStatus($this->getLeaveRequestStatus($isWeekend, $isHoliday, $leaveDate, $leaveAssignmentData)); array_push($leaveList, $leave); } return $leaveList; }
private function _getLeaveRequestData() { $leaveRequest = new LeaveRequest(); $leaveRequest->setLeaveTypeId(1); $leaveRequest->setDateApplied('2010-09-01'); $leaveRequest->setEmpNumber(1); $leaveRequest->setComments("Testing comment i add"); $leave1 = new Leave(); $leave1->setLengthHours(8); $leave1->setLengthDays(1); $leave1->setDate('2010-12-01'); $leave1->setStatus(1); $leave2 = new Leave(); $leave2->setLengthHours(6); $leave2->setLengthDays(0.75); $leave2->setDate('2010-12-02'); $leave2->setStatus(1); return array($leaveRequest, array($leave1, $leave2)); }