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;
     }
 }