public function editAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $id = $this->getRequest()->getParam('id'); $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } $managerleaverequestform = new Default_Form_managerleaverequest(); try { if ($id && is_numeric($id) && $id > 0) { $leaverequestmodel = new Default_Model_Leaverequest(); $usersmodel = new Default_Model_Users(); $flag = 'true'; $userid = $leaverequestmodel->getUserID($id); $getreportingManagerArr = $leaverequestmodel->getReportingManagerId($id); $reportingManager = $getreportingManagerArr[0]['repmanager']; if ($reportingManager != $loginUserId) { $flag = 'false'; } if (!empty($userid)) { $isactiveuser = $usersmodel->getUserDetailsByID($userid[0]['user_id']); } else { $this->view->rowexist = "rows"; } if (!empty($userid) && !empty($isactiveuser) && $flag == 'true') { $data = $leaverequestmodel->getLeaveRequestDetails($id); if (!empty($data) && $data[0]['leavestatus'] == 'Pending for approval') { $data = $data[0]; $reason = $data['reason']; $appliedleavescount = $data['appliedleavescount']; $employeeid = $data['user_id']; $leavetypeid = $data['leavetypeid']; $employeeleavetypemodel = new Default_Model_Employeeleavetypes(); $usersmodel = new Default_Model_Users(); $employeesmodel = new Default_Model_Employees(); $businessunitid = ''; $loggedInEmployeeDetails = $employeesmodel->getLoggedInEmployeeDetails($employeeid); if ($loggedInEmployeeDetails[0]['businessunit_id'] != '') { $businessunitid = $loggedInEmployeeDetails[0]['businessunit_id']; } $employeeleavetypeArr = $employeeleavetypemodel->getsingleEmployeeLeavetypeData($data['leavetypeid']); if ($employeeleavetypeArr != 'norows') { $managerleaverequestform->leavetypeid->addMultiOption($employeeleavetypeArr[0]['id'], utf8_encode($employeeleavetypeArr[0]['leavetype'])); } if ($data['leaveday'] == 1) { $managerleaverequestform->leaveday->addMultiOption($data['leaveday'], 'Full Day'); } else { $managerleaverequestform->leaveday->addMultiOption($data['leaveday'], 'Half Day'); } $employeenameArr = $usersmodel->getUserDetailsByID($data['user_id']); $employeeemail = $employeenameArr[0]['emailaddress']; $employeename = $employeenameArr[0]['userfullname']; $managerleaverequestform->populate($data); $from_date = sapp_Global::change_date($data['from_date'], 'view'); $to_date = sapp_Global::change_date($data['to_date'], 'view'); $appliedon = sapp_Global::change_date($data['createddate'], 'view'); $managerleaverequestform->from_date->setValue($from_date); $managerleaverequestform->to_date->setValue($to_date); $managerleaverequestform->createddate->setValue($appliedon); $managerleaverequestform->appliedleavesdaycount->setValue($data['appliedleavescount']); $managerleaverequestform->employeename->setValue($employeenameArr[0]['userfullname']); $managerleaverequestform->setDefault('leavetypeid', $data['leavetypeid']); $managerleaverequestform->setDefault('leaveday', $data['leaveday']); $this->view->id = $id; $this->view->form = $managerleaverequestform; $this->view->data = $data; $managerleaverequestform->setAttrib('action', BASE_URL . 'manageremployeevacations/edit/id/' . $id); } else { $this->view->rowexist = "rows"; } } else { $this->view->rowexist = "rows"; } } else { $this->view->rowexist = "rows"; } } catch (Exception $e) { $this->view->rowexist = 'norows'; } if ($this->getRequest()->getPost()) { $result = $this->save($managerleaverequestform, $appliedleavescount, $employeeemail, $employeeid, $employeename, $from_date, $to_date, $reason, $businessunitid, $leavetypeid); $this->view->msgarray = $result; } }