public function viewAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $leaverequestmodel = new Default_Model_Leaverequest();
     $id = $this->getRequest()->getParam('id');
     try {
         $useridArr = $leaverequestmodel->getUserID($id);
         if (!empty($useridArr)) {
             $user_id = $useridArr[0]['user_id'];
             if ($user_id == $loginUserId) {
                 $callval = $this->getRequest()->getParam('call');
                 if ($callval == 'ajaxcall') {
                     $this->_helper->layout->disableLayout();
                 }
                 $objName = 'pendingleaves';
                 $leaverequestform = new Default_Form_leaverequest();
                 $leaverequestform->removeElement("submit");
                 $elements = $leaverequestform->getElements();
                 if (count($elements) > 0) {
                     foreach ($elements as $key => $element) {
                         if ($key != "Cancel" && $key != "Edit" && $key != "Delete" && $key != "Attachments") {
                             $element->setAttrib("disabled", "disabled");
                         }
                     }
                 }
                 $data = $leaverequestmodel->getsinglePendingLeavesData($id);
                 $data = $data[0];
                 $getavailbaleleaves = $leaverequestmodel->getAvailableLeaves($loginUserId);
                 if (!empty($data) && $data['leavestatus'] == 'Approved') {
                     $employeeleavetypemodel = new Default_Model_Employeeleavetypes();
                     $usersmodel = new Default_Model_Users();
                     $employeeleavetypeArr = $employeeleavetypemodel->getsingleEmployeeLeavetypeData($data['leavetypeid']);
                     if ($employeeleavetypeArr != 'norows') {
                         $leaverequestform->leavetypeid->addMultiOption($employeeleavetypeArr[0]['id'], utf8_encode($employeeleavetypeArr[0]['leavetype']));
                     }
                     if ($data['leaveday'] == 1) {
                         $leaverequestform->leaveday->addMultiOption($data['leaveday'], 'Full Day');
                     } else {
                         $leaverequestform->leaveday->addMultiOption($data['leaveday'], 'Half Day');
                     }
                     $repmngrnameArr = $usersmodel->getUserDetailsByID($data['rep_mang_id'], 'all');
                     $leaverequestform->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');
                     $leaverequestform->from_date->setValue($from_date);
                     $leaverequestform->to_date->setValue($to_date);
                     $leaverequestform->createddate->setValue($appliedon);
                     $leaverequestform->appliedleavesdaycount->setValue($data['appliedleavescount']);
                     $leaverequestform->comments->setValue($data['approver_comments']);
                     if (!empty($repmngrnameArr)) {
                         $leaverequestform->rep_mang_id->setValue($repmngrnameArr[0]['userfullname']);
                     } else {
                         $leaverequestform->rep_mang_id->setValue('');
                     }
                     /*	if(!empty($getavailbaleleaves))
                     		 {
                     			$leaverequestform->no_of_days->setValue($getavailbaleleaves[0]['remainingleaves']);
                     		 }  */
                     $this->view->controllername = $objName;
                     $this->view->id = $id;
                     $this->view->form = $leaverequestform;
                     $this->view->data = $data;
                     $leaverequestform->setDefault('leavetypeid', $data['leavetypeid']);
                     $leaverequestform->setDefault('leaveday', $data['leaveday']);
                     $this->view->reportingmanagerStatus = !empty($repmngrnameArr) ? $repmngrnameArr[0]['isactive'] : '';
                 } else {
                     $this->view->rowexist = "rows";
                 }
             } else {
                 $this->view->rowexist = "rows";
             }
         } else {
             $this->view->rowexist = "norows";
         }
     } catch (Exception $e) {
         $this->view->rowexist = "norows";
     }
 }
 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;
     }
 }