public function deleteAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginUserEmail = $auth->getStorage()->read()->emailaddress; $loginUserName = $auth->getStorage()->read()->userfullname; } $id = $this->_request->getParam('objid'); $messages['message'] = ''; $actionflag = 5; $businessunitid = ''; $leavetypetext = ''; if ($id) { $leaverequestmodel = new Default_Model_Leaverequest(); $usersmodel = new Default_Model_Users(); $employeesmodel = new Default_Model_Employees(); $employeeleavetypesmodel = new Default_Model_Employeeleavetypes(); $loggedInEmployeeDetails = $employeesmodel->getLoggedInEmployeeDetails($loginUserId); if ($loggedInEmployeeDetails[0]['businessunit_id'] != '') { $businessunitid = $loggedInEmployeeDetails[0]['businessunit_id']; } $dataarr = array('leavestatus' => 4, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId); $where = array('id=?' => $id); $Id = $leaverequestmodel->SaveorUpdateLeaveRequest($dataarr, $where); $data = $leaverequestmodel->getsinglePendingLeavesData($id); $data = $data[0]; $appliedleavesdaycount = $data['appliedleavescount']; $to_date = $data['to_date']; $from_date = $data['from_date']; $reason = $data['reason']; $leavetypeid = $data['leavetypeid']; $repmngrnameArr = $usersmodel->getUserDetailsByID($data['rep_mang_id']); $reportingmanageremail = $repmngrnameArr[0]['emailaddress']; $reportingmanagername = $repmngrnameArr[0]['userfullname']; if ($Id == 'update') { $menuID = PENDINGLEAVES; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $id); /** MAILING CODE **/ if ($to_date == '' || $to_date == NULL) { $to_date = $from_date; } /* Mail to Employee */ $options['subject'] = 'Leave request cancelled'; $options['header'] = 'Leave Request'; $options['toEmail'] = $loginUserEmail; $options['toName'] = $loginUserName; $options['message'] = '<div>Hi,</div> <div>The below leave(s) has been cancelled.</div> <div> <table width="100%" cellspacing="0" cellpadding="15" border="0" style="border:3px solid #BBBBBB; font-size:16px; font-family:Arial, Helvetica, sans-serif; margin:30px 0 30px 0;" bgcolor="#ffffff"> <tbody><tr> <td width="28%" style="border-right:2px solid #BBBBBB;">Employee Name</td> <td width="72%">' . $loginUserName . '</td> </tr> <tr bgcolor="#e9f6fc"> <td style="border-right:2px solid #BBBBBB;">No. of Day(s)</td> <td>' . $appliedleavesdaycount . '</td> </tr> <tr> <td style="border-right:2px solid #BBBBBB;">From</td> <td>' . $from_date . '</td> </tr> <tr bgcolor="#e9f6fc"> <td style="border-right:2px solid #BBBBBB;">To</td> <td>' . $to_date . '</td> </tr> <tr bgcolor="#e9f6fc"> <td style="border-right:2px solid #BBBBBB;">Reason for Leave</td> <td>' . $reason . '</td> </tr> </tbody></table> </div> <div style="padding:20px 0 10px 0;">Please <a href="' . BASE_URL . '/index/popup" target="_blank" style="color:#b3512f;">click here</a> to login and check the leave details.</div>'; $result = sapp_Global::_sendEmail($options); /* End */ /* Mail to Reporting Manager */ $options['subject'] = 'Leave request cancelled'; $options['header'] = 'Leave Request'; $options['toEmail'] = $reportingmanageremail; $options['toName'] = $reportingmanagername; $options['message'] = '<div>Hi,</div> <div>The below leave(s) has been cancelled.</div> <div> <table width="100%" cellspacing="0" cellpadding="15" border="0" style="border:3px solid #BBBBBB; font-size:16px; font-family:Arial, Helvetica, sans-serif; margin:30px 0 30px 0;" bgcolor="#ffffff"> <tbody><tr> <td width="28%" style="border-right:2px solid #BBBBBB;">Employee Name</td> <td width="72%">' . $loginUserName . '</td> </tr> <tr bgcolor="#e9f6fc"> <td style="border-right:2px solid #BBBBBB;">No. of Day(s)</td> <td>' . $appliedleavesdaycount . '</td> </tr> <tr> <td style="border-right:2px solid #BBBBBB;">From</td> <td>' . $from_date . '</td> </tr> <tr bgcolor="#e9f6fc"> <td style="border-right:2px solid #BBBBBB;">To</td> <td>' . $to_date . '</td> </tr> <tr bgcolor="#e9f6fc"> <td style="border-right:2px solid #BBBBBB;">Reason for Leave</td> <td>' . $reason . '</td> </tr> </tbody></table> </div> <div style="padding:20px 0 10px 0;">Please <a href="' . BASE_URL . '/index/popup" target="_blank" style="color:#b3512f;">click here</a> to login and check the leave details.</div>'; $result = sapp_Global::_sendEmail($options); /* End */ /* Mail to HR */ if (defined('LV_HR_' . $businessunitid) && $businessunitid != '') { $options['subject'] = 'Leave request cancelled'; $options['header'] = 'Leave Request'; $options['toEmail'] = constant('LV_HR_' . $businessunitid); $options['toName'] = 'Leave management'; $options['message'] = '<div>Hi,</div> <div>The below leave(s) has been cancelled by the Employee.</div> <div> <table width="100%" cellspacing="0" cellpadding="15" border="0" style="border:3px solid #BBBBBB; font-size:16px; font-family:Arial, Helvetica, sans-serif; margin:30px 0 30px 0;" bgcolor="#ffffff"> <tbody><tr> <td width="28%" style="border-right:2px solid #BBBBBB;">Employee Name</td> <td width="72%">' . $loginUserName . '</td> </tr> <tr bgcolor="#e9f6fc"> <td style="border-right:2px solid #BBBBBB;">No. of Day(s)</td> <td>' . $appliedleavesdaycount . '</td> </tr> <tr> <td style="border-right:2px solid #BBBBBB;">From</td> <td>' . $from_date . '</td> </tr> <tr bgcolor="#e9f6fc"> <td style="border-right:2px solid #BBBBBB;">To</td> <td>' . $to_date . '</td> </tr> <tr bgcolor="#e9f6fc"> <td style="border-right:2px solid #BBBBBB;">Reason for Leave</td> <td>' . $reason . '</td> </tr> </tbody></table> </div> <div style="padding:20px 0 10px 0;">Please <a href="' . BASE_URL . '/index/popup" target="_blank" style="color:#b3512f;">click here</a> to login and check the leave details.</div>'; $options['cron'] = 'yes'; $result = sapp_Global::_sendEmail($options); } $messages['message'] = 'Leave request cancelled'; $messages['msgtype'] = 'success'; } else { $messages['message'] = 'Leave request cannot be cancelled'; $messages['msgtype'] = 'error'; } } else { $messages['message'] = 'Leave request cannot be cancelled'; $messages['msgtype'] = 'error'; } $this->_helper->json($messages); }
public function calculatecalendardaysAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $noOfDays = 0; $weekDay = ''; $result['message'] = ''; $result['days'] = ''; $result['from_date_view'] = ''; $result['to_date_view'] = ''; $result['result'] = ''; $employeeDepartmentId = ''; $employeeGroupId = ''; $weekend1 = ''; $weekend2 = ''; $availableleaves = ''; $holidayDatesArr = array(); $fromDatejs = $this->_request->getParam('fromDate'); $fromDate = sapp_Global::change_date($fromDatejs, 'database'); $toDatejs = $this->_request->getParam('toDate'); $toDate = sapp_Global::change_date($toDatejs, 'database'); //Calculating the no of days in b/w from date & to date with out taking weekend & holidays.... $from_obj = new DateTime($fromDatejs); $from_date = $from_obj->format('Y-m-d'); $to_obj = new DateTime($toDatejs); $to_date = $to_obj->format('Y-m-d'); if ($to_date >= $from_date) { $employeesmodel = new Default_Model_Employees(); $leavemanagementmodel = new Default_Model_Leavemanagement(); $holidaydatesmodel = new Default_Model_Holidaydates(); $leaverequestmodel = new Default_Model_Leaverequest(); $loggedInEmployeeDetails = $employeesmodel->getLoggedInEmployeeDetails($loginUserId); $getavailbaleleaves = $leaverequestmodel->getAvailableLeaves($loginUserId); if (!empty($getavailbaleleaves)) { $availableleaves = $getavailbaleleaves[0]['remainingleaves']; } if (!empty($loggedInEmployeeDetails)) { $employeeDepartmentId = $loggedInEmployeeDetails[0]['department_id']; $employeeGroupId = $loggedInEmployeeDetails[0]['holiday_group']; if ($employeeDepartmentId != '' && $employeeDepartmentId != NULL) { $weekendDetailsArr = $leavemanagementmodel->getWeekendNamesDetails($employeeDepartmentId); } if (!empty($weekendDetailsArr)) { if ($weekendDetailsArr[0]['is_skipholidays'] == 1 && isset($employeeGroupId) && $employeeGroupId != '') { $holidayDateslistArr = $holidaydatesmodel->getHolidayDatesListForGroup($employeeGroupId); if (!empty($holidayDateslistArr)) { for ($i = 0; $i < sizeof($holidayDateslistArr); $i++) { $holidayDatesArr[$i] = $holidayDateslistArr[$i]['holidaydate']; } } } $weekend1 = $weekendDetailsArr[0]['daystartname']; $weekend2 = $weekendDetailsArr[0]['dayendname']; } $fromdate_obj = new DateTime($fromDate); $weekDay = $fromdate_obj->format('l'); while ($fromDate <= $toDate) { if (count($holidayDatesArr) > 0) { if ($weekDay != $weekend1 && $weekDay != $weekend2 && !in_array($fromDate, $holidayDatesArr)) { $noOfDays++; } } else { if ($weekDay != $weekend1 && $weekDay != $weekend2) { $noOfDays++; } } $fromdate_obj->add(new DateInterval('P1D')); //Increment from date by one day... $fromDate = $fromdate_obj->format('Y-m-d'); $weekDay = $fromdate_obj->format('l'); } } $result['result'] = 'success'; $result['days'] = $noOfDays; $result['message'] = ''; $result['loginUserId'] = $loginUserId; $result['availableleaves'] = $availableleaves; } $this->_helper->_json($result); }
public function editpopupAction() { //For opening the form in pop up..... Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/"); $leavemanagementmodel = new Default_Model_Leavemanagement(); $employeesmodel = new Default_Model_Employees(); $empMedicalclaimsform = new Default_Form_Medicalclaims(); $empMedicalclaimsModel = new Default_Model_Medicalclaims(); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginUserGroup = $auth->getStorage()->read()->id; } $id = $this->getRequest()->getParam('id'); //Id (PK) from form URL $user_id = $this->getRequest()->getParam('unitId'); //This is User_id taking from URL set to form... if ($user_id) { $loggedInEmployeeDetails = $employeesmodel->getLoggedInEmployeeDetails($user_id); $employeeDepartmentId = $loggedInEmployeeDetails[0]['department_id']; $weekendDatailsArr = $leavemanagementmodel->getWeekendDetails($employeeDepartmentId); $this->view->weekendDatailsArr = $weekendDatailsArr; } $empMedicalclaimsform->removeElement('injuryindicator'); $empMedicalclaimsform->removeElement('type'); if ($id) { $data = $empMedicalclaimsModel->getmedicalclaimsdetails($id); if (!empty($data)) { $empMedicalclaimsform->setDefault("id", $data[0]["id"]); $empMedicalclaimsform->setDefault("user_id", $data[0]["user_id"]); $empMedicalclaimsform->setDefault("injuryindicator", $data[0]["injury_indicator"]); $empMedicalclaimsform->setDefault("type", $data[0]["injury_type"]); $empMedicalclaimsform->setDefault("description", $data[0]["injury_description"]); $empMedicalclaimsform->setDefault("injury_name", $data[0]["injury_name"]); $empMedicalclaimsform->setDefault("injury_severity", $data[0]["injury_severity"]); $empMedicalclaimsform->setDefault("disability_type", $data[0]["disability_type"]); $empMedicalclaimsform->setDefault("other_disability_type", $data[0]["other_disability_type"]); $empMedicalclaimsform->setDefault("insurer_name", $data[0]["medical_insurer_name"]); $empMedicalclaimsform->setDefault("gp_name", $data[0]["concerned_physician_name"]); $empMedicalclaimsform->setDefault("hospital_name", $data[0]["hospital_name"]); $empMedicalclaimsform->setDefault("hospital_addr", $data[0]["hospital_address"]); $empMedicalclaimsform->setDefault("treatment_details", $data[0]["treatment_details"]); $empMedicalclaimsform->setDefault("room_num", $data[0]["room_number"]); $empMedicalclaimsform->setDefault("total_cost", $data[0]["total_cost"]); $empMedicalclaimsform->setDefault("amount_claimed", $data[0]["amount_claimed_for"]); $empMedicalclaimsform->setDefault("amount_approved", $data[0]["amount_approved"]); $empMedicalclaimsform->setDefault("leavebyemp_days", $data[0]["leavebyemployeer_days"]); $empMedicalclaimsform->setDefault("empleave_days", $data[0]["leaveappliedbyemployee_days"]); if ($data[0]["injured_date"] != "" && $data[0]["injured_date"] != 00 - 00 - 00) { $injureddate = sapp_Global::change_date($data[0]["injured_date"], 'view'); $empMedicalclaimsform->setDefault('injured_date', $injureddate); } if ($data[0]["expected_date_join"] != "" && $data[0]["expected_date_join"] != 00 - 00 - 00) { $exp_dateofjoin = sapp_Global::change_date($data[0]["expected_date_join"], 'view'); $empMedicalclaimsform->setDefault('expected_date_join', $exp_dateofjoin); } if ($data[0]["leavebyemployeer_to_date"] != "" && $data[0]["leavebyemployeer_to_date"] != 00 - 00 - 00) { $leavebyemployeer_to_date = sapp_Global::change_date($data[0]["leavebyemployeer_to_date"], 'view'); $empMedicalclaimsform->setDefault("leavebyemp_to_date", $leavebyemployeer_to_date); } if ($data[0]["leavebyemployeer_from_date"] != "" && $data[0]["leavebyemployeer_from_date"] != 00 - 00 - 00) { $leavebyemployeer_from_date = sapp_Global::change_date($data[0]["leavebyemployeer_from_date"], 'view'); $empMedicalclaimsform->setDefault("leavebyemp_from_date", $leavebyemployeer_from_date); } if ($data[0]["leaveappliedbyemployee_to_date"] != "" && $data[0]["leaveappliedbyemployee_to_date"] != 00 - 00 - 00) { $leaveappliedbyemployeetodate = sapp_Global::change_date($data[0]["leaveappliedbyemployee_to_date"], 'view'); $empMedicalclaimsform->setDefault("empleave_to_date", $leaveappliedbyemployeetodate); } if ($data[0]["leaveappliedbyemployee_from_date"] != "" && $data[0]["leaveappliedbyemployee_from_date"] != 00 - 00 - 00) { $leaveappliedbyemployeefromdate = sapp_Global::change_date($data[0]["leaveappliedbyemployee_from_date"], 'view'); $empMedicalclaimsform->setDefault("empleave_from_date", $leaveappliedbyemployeefromdate); } $this->view->data = $data; } $this->view->id = $id; $empMedicalclaimsform->setAttrib('action', DOMAIN . 'medicalclaims/editpopup/unitId/' . $user_id); } $this->view->form = $empMedicalclaimsform; if ($this->getRequest()->getPost()) { $errorResult = $this->medicalclaimsvalidations(); if (empty($errorResult['msgarray'])) { $result = $this->save($empMedicalclaimsform, $user_id); $this->view->msgarray = $result; $this->view->fieldValues = $errorResult['fieldValues']; } else { $this->view->msgarray = $errorResult['msgarray']; $this->view->fieldValues = $errorResult['fieldValues']; } } }
public function save($empholidaysform, $userid) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } if ($empholidaysform->isValid($this->_request->getPost())) { $employeesModel = new Default_Model_Employees(); $holiday_group = $this->_request->getParam('holiday_group'); $user_id = $userid; $date = new Zend_Date(); $menumodel = new Default_Model_Menu(); $actionflag = ''; $tableid = ''; if ($user_id != '') { $data = array('holiday_group' => $holiday_group, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); $where = array('user_id=?' => $user_id, 'isactive' => 1); $actionflag = 2; $Id = $employeesModel->SaveorUpdateEmployees($data, $where); if ($Id == 'update') { $empdetailsArr = $employeesModel->getLoggedInEmployeeDetails($user_id); $tableid = $empdetailsArr[0]['id']; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Employee holiday group updated successfully.")); } else { $tableid = $Id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Employee holiday group added successfully.")); } } $menuidArr = $menumodel->getMenuObjID('/employee'); $menuID = $menuidArr[0]['id']; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $user_id); $this->_redirect('empholidays/edit/userid/' . $user_id); } else { $messages = $empholidaysform->getMessages(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } return $msgarray; } }
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; } }
public function deleteAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginUserEmail = $auth->getStorage()->read()->emailaddress; $loginUserName = $auth->getStorage()->read()->userfullname; } $id = $this->_request->getParam('objid'); $messages['message'] = ''; $actionflag = 5; $businessunitid = ''; $leavetypetext = ''; if ($id) { $leaverequestmodel = new Default_Model_Leaverequest(); $usersmodel = new Default_Model_Users(); $employeesmodel = new Default_Model_Employees(); $menumodel = new Default_Model_Menu(); $employeeleavetypesmodel = new Default_Model_Employeeleavetypes(); $loggedInEmployeeDetails = $employeesmodel->getLoggedInEmployeeDetails($loginUserId); if ($loggedInEmployeeDetails[0]['businessunit_id'] != '') { $businessunitid = $loggedInEmployeeDetails[0]['businessunit_id']; } $dataarr = array('leavestatus' => 4, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId); $where = array('id=?' => $id); $Id = $leaverequestmodel->SaveorUpdateLeaveRequest($dataarr, $where); $data = $leaverequestmodel->getsinglePendingLeavesData($id); $data = $data[0]; $appliedleavesdaycount = $data['appliedleavescount']; $to_date = $data['to_date']; $from_date = $data['from_date']; $reason = $data['reason']; $leavetypeid = $data['leavetypeid']; $repmngrnameArr = $usersmodel->getUserDetailsByID($data['rep_mang_id']); $reportingmanageremail = $repmngrnameArr[0]['emailaddress']; $reportingmanagername = $repmngrnameArr[0]['userfullname']; if ($Id == 'update') { $menuidArr = $menumodel->getMenuObjID('/manageremployeevacations'); $menuID = $menuidArr[0]['id']; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $id); /** MAILING CODE * */ if ($to_date == '' || $to_date == NULL) { $to_date = $from_date; } /* Mail to Employee */ $view = $this->getHelper('ViewRenderer')->view; $base_URL = 'http://' . $this->getRequest()->getHttpHost() . $this->getRequest()->getBaseUrl(); $mailpurpose = "The below leave(s) has been cancelled by your manager."; $this->view->base_url = $base_URL; $this->view->application_name = APPLICATION_NAME; $this->view->type = "New"; $this->view->emp_name = $loginUserName; $this->view->mailpurpose = $mailpurpose; $this->view->requester_name = $loginUserName; $this->view->NoOfDays = $appliedleavesdaycount; $this->view->leave_from = $from_date; $this->view->leave_to = $to_date; $this->view->reason_for_leave = $reason; $this->view->reporting_manager = $reportingmanagername; $options['subject'] = APPLICATION_NAME . ':Leave request cancelled by your manager'; $options['header'] = 'Leave Request'; $options['toEmail'] = $loginUserEmail; $options['toName'] = $loginUserName; $options['message'] = $view->render('mailtemplates/leaves.phtml'); sapp_Global::_sendEmail($options, "new"); /* End */ /* Mail to Reporting Manager */ $view = $this->getHelper('ViewRenderer')->view; $base_URL = 'http://' . $this->getRequest()->getHttpHost() . $this->getRequest()->getBaseUrl(); $mailpurpose = "The below leave(s) has been cancelled by your manager."; $this->view->base_url = $base_URL; $this->view->application_name = APPLICATION_NAME; $this->view->type = "New"; $this->view->emp_name = $reportingmanagername; $this->view->mailpurpose = $mailpurpose; $this->view->requester_name = $loginUserName; $this->view->NoOfDays = $appliedleavesdaycount; $this->view->leave_from = $from_date; $this->view->leave_to = $to_date; $this->view->reason_for_leave = $reason; $this->view->reporting_manager = $reportingmanagername; $options['subject'] = APPLICATION_NAME . ':Leave request cancelled by your manager'; $options['header'] = 'Leave Request'; $options['toEmail'] = $reportingmanageremail; $options['toName'] = $reportingmanagername; $options['message'] = $view->render('mailtemplates/leaves.phtml'); //$options['message'] = '<div>Hi,</div><div>The below leave(s) has been cancelled.</div><div><table ><tbody><tr><td width="28%" >Employee Name</td><td width="72%">' . $loginUserName . '</td></tr><tr ><td >No. of Day(s)</td><td>' . $appliedleavesdaycount . '</td>/tr><tr><td >From</td><td>' . $from_date . '</td></tr><tr ><td >To</td><td>' . $to_date . '</td></tr><tr ><td >Reason for Leave</td><td>' . $reason . '</td></tr></tbody></table></div>'; sapp_Global::_sendEmail($options, "new"); /* End */ /* Mail to HR */ $view = $this->getHelper('ViewRenderer')->view; $base_URL = 'http://' . $this->getRequest()->getHttpHost() . $this->getRequest()->getBaseUrl(); $mailpurpose = "The below leave(s) has been cancelled by your manager."; $this->view->base_url = $base_URL; $this->view->application_name = APPLICATION_NAME; $this->view->type = "New"; $this->view->emp_name = 'Leave management'; $this->view->mailpurpose = $mailpurpose; $this->view->requester_name = $loginUserName; $this->view->NoOfDays = $appliedleavesdaycount; $this->view->leave_from = $from_date; $this->view->leave_to = $to_date; $this->view->reason_for_leave = $reason; $this->view->reporting_manager = $reportingmanagername; $options['subject'] = APPLICATION_NAME . ':Leave request cancelled by your manager'; $options['header'] = 'Leave Request'; $options['toEmail'] = constant('LV_HR_0'); $options['toName'] = 'Leave management'; $options['message'] = $view->render('mailtemplates/leaves.phtml'); sapp_Global::_sendEmail($options, "new"); $messages['message'] = 'Leave request cancelled'; $messages['msgtype'] = 'success'; } else { $messages['message'] = 'Leave request cannot be cancelled'; $messages['msgtype'] = 'error'; } } else { $messages['message'] = 'Leave request cannot be cancelled'; $messages['msgtype'] = 'error'; } $this->_helper->json($messages); $this->_redirect(sapp_Global::_curPageURL()); //$this->_redirect('/manageremployeevacations'); }
function gethalfdaydetailsAction() { $this->_helper->layout->disableLayout(); $result['result'] = ''; $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $employeesmodel = new Default_Model_Employees(); $leavemanagementmodel = new Default_Model_Leavemanagement(); $loggedInEmployeeDetails = $employeesmodel->getLoggedInEmployeeDetails($loginUserId); $ishalf_day = ''; if (!empty($loggedInEmployeeDetails)) { $employeeDepartmentId = $loggedInEmployeeDetails[0]['department_id']; $weekendDatailsArr = $leavemanagementmodel->getWeekendDetails($employeeDepartmentId); if (!empty($weekendDatailsArr)) { $ishalf_day = $weekendDatailsArr[0]['is_halfday']; } else { $ishalf_day = 'error'; } } $result['result'] = $ishalf_day; $this->_helper->_json($result); }
public function weekAction() { $usersModel = new Timemanagement_Model_Users(); $storage = new Zend_Auth_Storage_Session(); $now = new DateTime(); $data = $storage->read(); $selYrMon = $this->_getParam('selYrMon'); $week = $this->_getParam('week') != '' ? $this->_getParam('week') : 1; $calWeek = $this->_getParam('calWeek'); $timeFlag = $this->_getParam('flag'); $selDay = $this->_getParam('day'); if ($data->id == 1) { $this->_redirect('error'); } $selYrMon = $selYrMon != '' ? $selYrMon : $now->format('Y-m'); $yrMon = explode('-', $selYrMon); if ($timeFlag == 'time' && $selYrMon == $now->format('Y-m') && $calWeek == '') { $calWeek = strftime('%U', strtotime($selYrMon . '-' . $now->format('d'))); $startCalWeek = strftime('%U', strtotime($selYrMon . '-01')); $week = $calWeek - $startCalWeek + 1; } $empDoj = $usersModel->getEmployeeDoj($data->id); $selYrMonArray = explode('-', $selYrMon); if ($selDay != '') { $calWeek = strftime('%U', strtotime($selYrMon . '-' . $selDay)); $startCalWeek = strftime('%U', strtotime($selYrMon . '-01')); $week = $calWeek - $startCalWeek + 1; } else { if ($calWeek == '') { $calWeek = strftime('%U', strtotime($selYrMon . '-01')); } } $myTsModel = new Timemanagement_Model_MyTimesheet(); if ($timeFlag == 'time') { $myTsWeekData = $myTsModel->getWeeklyTimesheetData($data->id, $selYrMonArray[0], $selYrMonArray[1], $week); } else { $myTsWeekData = $myTsModel->getWeeklyTimesheetData($data->id, $selYrMonArray[0], $selYrMonArray[1], $week, 'view'); } $empHolidaysWeekendsData = $usersModel->getEmployeeHolidaysNWeekends($data->id, $yrMon[0], $yrMon[1], $calWeek); $startDate = date("Y-m-d", strtotime("{$yrMon[0]}-W{$calWeek}-7")); $endDate = date("Y-m-d", strtotime('next saturday', strtotime($startDate))); $empLeavesData = $usersModel->getEmpLeaves($data->id, $startDate, $endDate, 'all'); $weekNotes = $myTsModel->getWeekNotes($data->id, $selYrMonArray[0], $selYrMonArray[1], $week); $weekDaysStatus = $myTsModel->getWeekDaysStatus($data->id, $selYrMonArray[0], $selYrMonArray[1], $week); $weekDaysProjStatus = $myTsModel->getWeekDaysProjStatus($data->id, $selYrMonArray[0], $selYrMonArray[1], $week); $noOfDaysMonth = date("t", mktime(0, 0, 0, $selYrMonArray[1], 1, $selYrMonArray[0])); $cronStartDay = ""; $cronEndDay = ""; $mon = $yrMon[1] + 1; $yr = $mon == 12 ? $selYrMonArray[0] + 1 : $selYrMonArray[0]; if ($selDay != '') { $this->view->selDay = date("D", strtotime($selYrMon . '-' . $selDay)); } $this->view->empDoj = $empDoj['date_of_joining']; $this->view->selYrMon = $selYrMon; $this->view->selWeek = $week; $this->view->myTsWeekData = $myTsWeekData; $this->view->weekNotesData = $weekNotes; $this->view->empHolidaysWeekends = $empHolidaysWeekendsData[0]; $this->view->leavesData = $empLeavesData; $this->view->weekDaysStatus = $weekDaysStatus; $this->view->weekDaysProjStatus = $weekDaysProjStatus; $this->view->cronStartDay = $cronStartDay; $this->view->cronEndDay = $cronEndDay; //START code to show pending weeks for submit in current month $projmodel = new Timemanagement_Model_Projects(); $prevweeks = $projmodel->getprevmonthweeks(date('Y-m'), date('d')); /*Leave request code starts*/ $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $leaverequestform = new Default_Form_leaverequest(); $leaverequestform->setAttrib('action', BASE_URL . 'leaverequest'); $leaverequestmodel = new Default_Model_Leaverequest(); $employeeleavetypemodel = new Default_Model_Employeeleavetypes(); $leavemanagementmodel = new Default_Model_Leavemanagement(); $usersmodel = new Default_Model_Users(); $employeesmodel = new Default_Model_Employees(); $weekdaysmodel = new Default_Model_Weekdays(); $holidaydatesmodel = new Default_Model_Holidaydates(); $msgarray = array(); $dateofjoiningArr = array(); $holidayDateslistArr = array(); $rMngr = 'No'; $availableleaves = ''; $rep_mang_id = ''; $employeeemail = ''; $reportingManageremail = ''; $week_startday = ''; $week_endday = ''; $ishalf_day = ''; $userfullname = ''; $reportingmanagerName = ''; $businessunitid = ''; $hremailgroup = ''; /* Start Queries to fetch user details,reporting manager details and weekend details from users table and employees table */ if ($loginUserId != '' && $loginUserId != NULL) { $loggedinEmpId = $usersmodel->getUserDetailsByID($loginUserId); $loggedInEmployeeDetails = $employeesmodel->getLoggedInEmployeeDetails($loginUserId); if (!empty($loggedInEmployeeDetails)) { if ($loggedInEmployeeDetails[0]['date_of_joining'] != '') { $date = new DateTime($loggedInEmployeeDetails[0]['date_of_joining']); $datofjoiningtimestamp = $date->getTimestamp(); $dateofjoining = explode("-", $loggedInEmployeeDetails[0]['date_of_joining']); $year = $dateofjoining[0]; $month = $dateofjoining[1]; $day = $dateofjoining[2]; $dateofjoiningArr = array('year' => $year, 'month' => $month, 'day' => $day, 'datetimestamp' => $datofjoiningtimestamp); } $reportingmanagerId = $loggedInEmployeeDetails[0]['reporting_manager']; $employeeDepartmentId = $loggedInEmployeeDetails[0]['department_id']; $employeeEmploymentStatusId = $loggedInEmployeeDetails[0]['emp_status_id']; $employeeHolidayGroupId = $loggedInEmployeeDetails[0]['holiday_group']; $reportingManagerDetails = $usersmodel->getUserDetailsByID($reportingmanagerId); $weekendDatailsArr = $leavemanagementmodel->getWeekendDetails($employeeDepartmentId); $employeeemail = $loggedinEmpId[0]['emailaddress']; $userfullname = $loggedinEmpId[0]['userfullname']; $businessunitid = $loggedInEmployeeDetails[0]['businessunit_id']; if (!empty($reportingManagerDetails)) { $leaverequestform->rep_mang_id->setValue($reportingManagerDetails[0]['userfullname']); $reportingManageremail = $reportingManagerDetails[0]['emailaddress']; $reportingmanagerName = $reportingManagerDetails[0]['userfullname']; $rep_mang_id = $reportingManagerDetails[0]['id']; $rMngr = 'Yes'; } else { $msgarray['rep_mang_id'] = 'Reporting manager is not assigned yet. Please contact your HR.'; } if (!empty($weekendDatailsArr)) { $week_startday = $weekendDatailsArr[0]['weekendstartday']; $week_endday = $weekendDatailsArr[0]['weekendday']; $ishalf_day = $weekendDatailsArr[0]['is_halfday']; $isskip_holidays = $weekendDatailsArr[0]['is_skipholidays']; } else { $msgarray['from_date'] = 'Leave management options are not configured yet.'; $msgarray['to_date'] = 'Leave management options are not configured yet.'; } if ($employeeHolidayGroupId != '' && $employeeHolidayGroupId != NULL) { $holidayDateslistArr = $holidaydatesmodel->getHolidayDatesListForGroup($employeeHolidayGroupId); } if (defined('LV_HR_' . $businessunitid)) { $hremailgroup = 'hremailgroupexists'; } else { $hremailgroup = ''; } /* Search Filters */ $isReportingManagerFlag = 'false'; $searchRepFlag = 'false'; $searchMeFlag = 'true'; $filter = $this->_request->getParam('filter'); if (!empty($filter)) { if (in_array(2, $filter)) { $searchRepFlag = 'true'; } if (in_array(1, $filter)) { $searchMeFlag = 'true'; } else { $searchMeFlag = 'false'; } } if ($searchMeFlag == 'true') { $leaverequestdetails = $leaverequestmodel->getUserApprovedOrPendingLeavesData($loginUserId); } /* Start -For Checking if logged in user is reporting manager */ $isReportingManager = $employeesmodel->CheckIfReportingManager($loginUserId); if (!empty($isReportingManager) && $isReportingManager[0]['count'] > 0) { if ($searchRepFlag == 'true') { $managerrequestdetails = $leaverequestmodel->getManagerApprovedOrPendingLeavesData($loginUserId); } $isReportingManagerFlag = 'true'; } /* End */ $this->view->userfullname = $userfullname; $this->view->loggedinEmpId = $loggedinEmpId; $this->view->weekendDatailsArr = $weekendDatailsArr; $this->view->reportingManagerDetails = $reportingManagerDetails; $this->view->rMngr = $rMngr; $this->view->hremailgroup = $hremailgroup; $this->view->dateofjoiningArr = $dateofjoiningArr; $this->view->leaverequestdetails = !empty($leaverequestdetails) ? $leaverequestdetails : array(); $this->view->holidayDateslistArr = $holidayDateslistArr; $this->view->managerrequestdetails = !empty($managerrequestdetails) ? $managerrequestdetails : array(); $this->view->isReportingManagerFlag = $isReportingManagerFlag; $this->view->searchRepFlag = $searchRepFlag; $this->view->searchMeFlag = $searchMeFlag; } else { $msgarray['rep_mang_id'] = 'Reporting manager is not assigned yet. Please contact your HR.'; $msgarray['from_date'] = 'Leave management options are not configured yet.'; $msgarray['to_date'] = 'Leave management options are not configured yet.'; } } /* End */ /* Start Query to fetch and build multioption for Leavetype dropdown */ $leavetype = $employeeleavetypemodel->getactiveleavetype(); if (!empty($leavetype)) { if (sizeof($leavetype) > 0) { foreach ($leavetype as $leavetyperes) { $leaverequestform->leavetypeid->addMultiOption($leavetyperes['id'] . '!@#' . $leavetyperes['numberofdays'] . '!@#' . utf8_encode($leavetyperes['leavetype']), utf8_encode($leavetyperes['leavetype'])); } } } else { $msgarray['leavetypeid'] = ' Leave types are not configured yet.'; } $this->view->leavetype = $leavetype; /* End */ /* START Query to get the number of available leaves for the employee */ $getavailbaleleaves = $leaverequestmodel->getAvailableLeaves($loginUserId); if (!empty($getavailbaleleaves)) { $leaverequestform->no_of_days->setValue($getavailbaleleaves[0]['remainingleaves']); $availableleaves = $getavailbaleleaves[0]['remainingleaves']; } else { $msgarray['no_of_days'] = 'You have not been allotted leaves for this financial year. Please contact your HR.'; } $this->view->getavailbaleleaves = $getavailbaleleaves; /* END */ $this->view->form = $leaverequestform; $this->view->msgarray = $msgarray; $this->view->loginUserId = $loginUserId; $this->view->messages = $this->_helper->flashMessenger->getMessages(); /*leave request code ends*/ if ($timeFlag != '') { $this->_helper->viewRenderer('entertime'); } }
public function calculatebusinessdays($fromDate, $toDate) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $noOfDays = 0; $weekDay = ''; $employeeDepartmentId = ''; $employeeGroupId = ''; $weekend1 = ''; $weekend2 = ''; $holidayDatesArr = array(); //Calculating the no of days in b/w from date & to date with out taking weekend & holidays.... $employeesmodel = new Default_Model_Employees(); $leavemanagementmodel = new Default_Model_Leavemanagement(); $holidaydatesmodel = new Default_Model_Holidaydates(); $loggedInEmployeeDetails = $employeesmodel->getLoggedInEmployeeDetails($loginUserId); if (!empty($loggedInEmployeeDetails)) { $employeeDepartmentId = $loggedInEmployeeDetails[0]['department_id']; $employeeGroupId = $loggedInEmployeeDetails[0]['holiday_group']; if ($employeeDepartmentId != '' && $employeeDepartmentId != NULL) { $weekendDetailsArr = $leavemanagementmodel->getWeekendNamesDetails($employeeDepartmentId); } if (!empty($weekendDetailsArr)) { if ($weekendDetailsArr[0]['is_skipholidays'] == 1 && isset($employeeGroupId) && $employeeGroupId != '') { $holidayDateslistArr = $holidaydatesmodel->getHolidayDatesListForGroup($employeeGroupId); if (!empty($holidayDateslistArr)) { for ($i = 0; $i < sizeof($holidayDateslistArr); $i++) { $holidayDatesArr[$i] = $holidayDateslistArr[$i]['holidaydate']; } } } $weekend1 = $weekendDetailsArr[0]['daystartname']; $weekend2 = $weekendDetailsArr[0]['dayendname']; } $fromdate_obj = new DateTime($fromDate); $weekDay = $fromdate_obj->format('l'); while ($fromDate <= $toDate) { /* if(($weekDay != 'Saturday'||$weekDay != 'Sunday') && (!empty($holidayDates)) && (!in_array($fromDate,$holidayDates))) */ if (count($holidayDatesArr) > 0) { if ($weekDay != $weekend1 && $weekDay != $weekend2 && !in_array($fromDate, $holidayDatesArr)) { $noOfDays++; } } else { if ($weekDay != $weekend1 && $weekDay != $weekend2) { $noOfDays++; } } $fromdate_obj->add(new DateInterval('P1D')); //Increment from date by one day... $fromDate = $fromdate_obj->format('Y-m-d'); $weekDay = $fromdate_obj->format('l'); } } return $noOfDays; }