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 deleteAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $id = $this->_request->getParam('objid'); $messages['message'] = ''; $messages['msgtype'] = ''; $actionflag = 3; if ($id) { $holidaydatesmodel = new Default_Model_Holidaydates(); $menumodel = new Default_Model_Menu(); $data = array('isactive' => 0, 'modifieddate' => gmdate("Y-m-d H:i:s")); $where = array('id=?' => $id); $Id = $holidaydatesmodel->SaveorUpdateHolidayDates($data, $where); if ($Id == 'update') { $menuidArr = $menumodel->getMenuObjID('/holidaydates'); $menuID = $menuidArr[0]['id']; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $id); $messages['message'] = 'Holiday date deleted successfully.'; $messages['msgtype'] = 'success'; } else { $messages['message'] = 'Holiday date cannot be deleted.'; $messages['msgtype'] = 'error'; } } else { $messages['message'] = 'Holiday date cannot be deleted.'; $messages['msgtype'] = 'error'; } $this->_helper->json($messages); }
public function viewAction() { $id = intval($this->getRequest()->getParam('id')); $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } $objName = 'myholidaycalendar'; $holidaydatesform = new Default_Form_holidaydates(); $holidaydatesmodel = new Default_Model_Holidaydates(); $holidaygroupsmodel = new Default_Model_Holidaygroups(); $holidaydatesform->removeElement("submit"); $data = $holidaydatesmodel->getsingleHolidayDatesData($id); $groupdataArr = $holidaygroupsmodel->getAllGroupData(); if (sizeof($groupdataArr) > 0) { foreach ($groupdataArr as $groupdatares) { $holidaydatesform->groupid->addMultiOption($groupdatares['id'], utf8_encode($groupdatares['groupname'])); } } $elements = $holidaydatesform->getElements(); if (count($elements) > 0) { foreach ($elements as $key => $element) { if ($key != "Cancel" && $key != "Edit" && $key != "Delete" && $key != "Attachments") { $element->setAttrib("disabled", "disabled"); } } } if (!empty($data)) { $holidaydatesform->populate($data); $holidaydate = sapp_Global::change_date($data['holidaydate'], 'view'); $holidaydatesform->holidaydate->setValue($holidaydate); $this->view->controllername = $objName; $this->view->id = $id; $this->view->form = $holidaydatesform; $this->view->ermsg = ''; } else { $this->view->ermsg = 'nodata'; } }
public function viewpopupAction() { Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/"); $id = $this->getRequest()->getParam('id'); $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } $objName = 'empholidays'; $holidaydatesform = new Default_Form_holidaydates(); $holidaydatesmodel = new Default_Model_Holidaydates(); $holidaydatesform->removeElement("submit"); $data = $holidaydatesmodel->getsingleHolidayDatesData($id); $elements = $holidaydatesform->getElements(); if (count($elements) > 0) { foreach ($elements as $key => $element) { if ($key != "Cancel" && $key != "Edit" && $key != "Delete" && $key != "Attachments") { $element->setAttrib("disabled", "disabled"); } } } $holidaydatesform->populate($data); $holidaydate = sapp_Global::change_date($data['holidaydate'], 'view'); $holidaydatesform->holidaydate->setValue($holidaydate); $this->view->controllername = $objName; $this->view->id = $id; $this->view->form = $holidaydatesform; }
public function holidaysAction() { if (defined('EMPTABCONFIGS')) { $empOrganizationTabs = explode(",", EMPTABCONFIGS); if (in_array('emp_holidays', $empOrganizationTabs)) { $tabName = "holidays"; $objName = 'empholidays'; $employeeData = array(); $empdata = array(); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $id = $loginUserId; $call = $this->_getParam('call'); if ($call == 'ajaxcall') { $this->_helper->layout->disableLayout(); $userID = $this->_getParam('unitId') != '' ? $this->_getParam('unitId') : $this->_getParam('userid'); } if ($id == '') { $id = $userID; } $Uid = $id ? $id : $userID; $employeeModal = new Default_Model_Employee(); try { $empdata = $employeeModal->getsingleEmployeeData($Uid); if ($empdata == 'norows') { $this->view->rowexist = "norows"; $this->view->empdata = ""; } else { $this->view->rowexist = "rows"; if (!empty($empdata)) { $holidaydatesmodel = new Default_Model_Holidaydates(); $usersModel = new Default_Model_Users(); $call = $this->_getParam('call'); $objname = $this->_getParam('objname'); $refresh = $this->_getParam('refresh'); $data = array(); $searchQuery = ''; $searchArray = array(); $tablecontent = ''; if ($refresh == 'refresh') { $sort = 'DESC'; $by = 'h.modifieddate'; $perPage = 10; $pageNo = 1; $searchData = ''; } else { $sort = $this->_getParam('sort') != '' ? $this->_getParam('sort') : 'DESC'; $by = $this->_getParam('by') != '' ? $this->_getParam('by') : 'h.modifieddate'; $perPage = $this->_getParam('per_page', 10); $pageNo = $this->_getParam('page', 1); $searchData = $this->_getParam('searchData'); $searchData = rtrim($searchData, ','); /** search from grid - START **/ $searchData = $this->_getParam('searchData'); if ($searchData != '' && $searchData != 'undefined') { $searchValues = json_decode($searchData); foreach ($searchValues as $key => $val) { if ($key == 'holidaydate') { $searchQuery .= " " . $key . " like '%" . sapp_Global::change_date($val, 'database') . "%' AND "; } else { $searchQuery .= " " . $key . " like '%" . $val . "%' AND "; } $searchArray[$key] = $val; } $searchQuery = rtrim($searchQuery, " AND"); } /** search from grid - END **/ } $employeesModel = new Default_Model_Employees(); $empholidaydata = $employeesModel->getHolidayGroupForEmployee($id); if (isset($empholidaydata[0]) && $empholidaydata[0]['holiday_group'] != '') { $empGroupId = $empholidaydata[0]['holiday_group']; $tableFields = array('action' => 'Action', 'holidayname' => 'Holiday', 'holidaydate' => 'Date', 'description' => 'Description'); $tablecontent = $holidaydatesmodel->getHolidayDatesData($sort, $by, $pageNo, $perPage, $searchQuery, $empGroupId); $dataTmp = array('userid' => $Uid, 'sort' => $sort, 'by' => $by, 'pageNo' => $pageNo, 'perPage' => $perPage, 'tablecontent' => $tablecontent, 'objectname' => $objName, 'extra' => array(), 'tableheader' => $tableFields, 'jsGridFnName' => 'getEmployeeAjaxgridData', 'jsFillFnName' => '', 'searchArray' => $searchArray, 'add' => 'add', 'menuName' => 'Employee Holidays', 'formgrid' => 'true', 'unitId' => $Uid, 'call' => $call, 'context' => 'mydetails', 'search_filters' => array('holidaydate' => array('type' => 'datepicker'))); array_push($data, $dataTmp); $this->view->dataArray = $data; $this->view->call = $call; } if ($Uid) { if (!empty($empdata)) { $this->view->empdata = $empdata[0]; } else { $this->view->empdata = $empdata; } } $this->view->id = $id; $this->view->messages = $this->_helper->flashMessenger->getMessages(); } $this->view->empdata = $empdata; } } catch (Exception $e) { $this->view->rowexist = "norows"; } } else { $this->_redirect('error'); } } else { $this->_redirect('error'); } }
public function saveholidays($hrWizardData) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } $holidaydatesmodel = new Default_Model_Holidaydates(); $msgarray = array(); $errorflag = 'true'; $groupnameId = $this->_request->getParam('groupname'); $holidayname_arr = $this->_request->getParam('holidayname'); $holidaydate_arr = $this->_request->getParam('holidaydate'); if (!empty($holidayname_arr)) { $holidayArr = array_count_values($holidayname_arr); for ($i = 0; $i < sizeof($holidayname_arr); $i++) { if ($holidayname_arr[$i] == '') { $msgarray['holiday_name'][$i] = 'Please enter holiday.'; $errorflag = 'false'; } else { if (!preg_match('/^[a-zA-Z0-9.\\- ?]+$/', $holidayname_arr[$i])) { $msgarray['holiday_name'][$i] = 'Please enter valid holiday.'; $errorflag = 'false'; } else { if ($i > 0 && $holidayArr[$holidayname_arr[$i]] > 1) { $msgarray['holiday_name'][$i] = 'Please enter different holiday.'; $errorflag = 'false'; } else { if ($groupnameId) { $isduplicateholiday = $holidaydatesmodel->checkholidayname($holidayname_arr[$i], $groupnameId, ''); if (!empty($isduplicateholiday)) { if ($isduplicateholiday[0]['count'] > 0) { $msgarray['holiday_name'][$i] = 'Holiday already exist..'; $msgarray['holiday_group'] = $groupnameId; $errorflag = 'false'; } } } } } } if ($holidaydate_arr[$i] == '') { $msgarray['date_error'][$i] = 'Please enter date.'; $errorflag = 'false'; } if ($groupnameId == '') { $msgarray['groupname'] = 'Please select holiday group.'; $errorflag = 'false'; } } $msgarray['holidayerrorsize'] = sizeof($holidayname_arr); } if ($errorflag == 'true') { try { $actionflag = 1; $tableid = ''; $where = ''; $date = new Zend_Date(); for ($i = 0; $i < sizeof($holidayname_arr); $i++) { $data = array('groupid' => $groupnameId, 'holidayname' => trim($holidayname_arr[$i]), 'holidaydate' => sapp_Global::change_date($holidaydate_arr[$i], 'database'), 'holidayyear' => date('Y', strtotime(sapp_Global::change_date($holidaydate_arr[$i], 'database'))), 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'isactive' => 1); $Id = $holidaydatesmodel->SaveorUpdateHolidayDates($data, $where); $tableid = $Id; $menuID = HOLIDAYDATES; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); } $hrWizardModel = new Default_Model_Hrwizard(); $hrWizardData = $hrWizardModel->getHrwizardData(); $hrwizardarray = array('holidays' => 2, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); if ($hrWizardData['leavetypes'] == 2 && $hrWizardData['perf_appraisal'] == 2) { $hrwizardarray['iscomplete'] = 2; } $hrWizardModel->SaveorUpdateHrWizardData($hrwizardarray, ''); $this->_helper->getHelper("FlashMessenger")->addMessage("Holidays added successfully."); $this->_redirect('hrwizard/configureholidays'); } catch (Exception $e) { $msgarray['category_id'] = "Something went wrong, please try again."; return $msgarray; } } else { return $msgarray; } }
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; }
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 deleteAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $id = $this->_request->getParam('objid'); $messages['message'] = ''; $messages['msgtype'] = ''; $actionflag = 3; if ($id) { $holidaygroupsmodel = new Default_Model_Holidaygroups(); $holidayedatesmodel = new Default_Model_Holidaydates(); $data = array('isactive' => 0, 'modifieddate' => gmdate("Y-m-d H:i:s")); $where = array('id=?' => $id); $Id = $holidaygroupsmodel->SaveorUpdateGroupData($data, $where); /* deleteing dates of the group */ $childdata = array('isactive' => 0); $childwhere = array('groupid=?' => $id); $holidayedatesmodel->SaveorUpdateHolidayDates($childdata, $childwhere); /* END */ if ($Id == 'update') { $menuID = HOLIDAYGROUPS; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $id); $messages['message'] = 'Holiday group deleted successfully.'; $messages['msgtype'] = 'success'; } else { $messages['message'] = 'Holiday group cannot be deleted.'; $messages['msgtype'] = 'error'; } } else { $messages['message'] = 'Holiday group cannot be deleted.'; $messages['msgtype'] = 'error'; } $this->_helper->json($messages); }
public function checkweekdaysdatacron($hidstartweek_date, $hidendweek_date, $hidemp, $emp_dept_id, $employeeGroupId, $empJoiningDate) { $messages = array(); if ($hidemp != '' && $hidstartweek_date != '' && $hidendweek_date != '') { //To get days in the week/month $weekDatesArray = sapp_Global::createDateRangeArray($hidstartweek_date, $hidendweek_date); //echo //End $submittedtsdates = $holDates = $weekendDates = $leaveDates = array(); $startdateObj = DateTime::createFromFormat("Y-m-d", $hidstartweek_date); $loopDate = $hidstartweek_date; $cal_weekArray = array(); $yearCalWeekArray = array(); while (strtotime($loopDate) <= strtotime($hidendweek_date)) { $calWeekVal = strftime('%U', strtotime($loopDate)); $dateYearVal = strftime('%Y', strtotime($loopDate)); if (!in_array($calWeekVal, $cal_weekArray)) { $cal_weekArray[] = $calWeekVal; $yearCalWeekArray[$calWeekVal][] = $dateYearVal; } if (!in_array($dateYearVal, $yearCalWeekArray[$calWeekVal])) { $yearCalWeekArray[$calWeekVal][] = $dateYearVal; } $loopDate = date("Y-m-d", strtotime("+1 day", strtotime($loopDate))); } $startDateYear = $startdateObj->format("Y"); /*submitted and approved status dates in a date range*/ //To get dates of timesheet filled by user of the given duration $tsStatus_model = new Timemanagement_Model_Timesheetstatus(); $resultData = $tsStatus_model->getEachDayTsDateCron($hidemp, $cal_weekArray, $yearCalWeekArray); $ts_filled_dates = array(); if (!empty($resultData)) { foreach ($resultData as $resData) { $ts_week_dates = $resData['ts_week_dates']; $ts_weekArray = explode('$', $ts_week_dates); if (count($ts_weekArray) > 0) { foreach ($ts_weekArray as $ts_day) { $ts_day_Array = explode('#', $ts_day); if (in_array($ts_day_Array[0], $weekDatesArray)) { if ($ts_day_Array[1] == 'submitted' || $ts_day_Array[1] == 'approved') { $submittedtsdates[] = $ts_day_Array[0]; //$ts_day_Array[0] is ts status date } } } } } $submittedtsdates = array_unique($submittedtsdates); } /*End*/ //To get Holidays for the given duration $holidayDatesArr = array(); if (isset($employeeGroupId) && $employeeGroupId != '') { $holidaydatesmodel = new Default_Model_Holidaydates(); $holidayDateslistArr = $holidaydatesmodel->getHolidayDatesListForGroup($employeeGroupId); if (!empty($holidayDateslistArr)) { for ($i = 0; $i < sizeof($holidayDateslistArr); $i++) { $holidayDatesArr[$i] = $holidayDateslistArr[$i]['holidaydate']; } } } //End //To get Leaves applied by user for the given duration $empLeaves = $this->getEmpLeaves($hidemp, $hidstartweek_date, $hidendweek_date); if (!empty($empLeaves)) { $empleaveDatesArray = array(); foreach ($empLeaves as $empLeaveRow) { if ($empLeaveRow['leaveday'] == 1) { $leaveDatesArray = sapp_Global::createDateRangeArray($empLeaveRow['from_date'], $empLeaveRow['to_date']); } $empleaveDatesArray = array_merge($empleaveDatesArray, $leaveDatesArray); } } //End //To get default not working days(saturday and sunday) if ($emp_dept_id != '' && $emp_dept_id != NULL) { $weekendDetailsArr = $this->getWeekend($hidstartweek_date, $hidendweek_date, $emp_dept_id); } //End if (isset($holidayDatesArr) && count($holidayDatesArr) > 0) { foreach ($holidayDatesArr as $holidayDate) { if (in_array($holidayDate, $weekDatesArray)) { $holDates[] = $holidayDate; } } } if (isset($empleaveDatesArray) && count($empleaveDatesArray) > 0) { foreach ($empleaveDatesArray as $empleaveDate) { if (in_array($empleaveDate, $weekDatesArray)) { $leaveDates[] = $empleaveDate; } } } if (isset($weekendDetailsArr) && count($weekendDetailsArr) > 0) { foreach ($weekendDetailsArr as $weekendDate) { if (in_array($weekendDate, $weekDatesArray)) { $weekendDates[] = $weekendDate; } } } $totalDaysArray = array(); $totalDaysArray = array_merge($submittedtsdates, $holDates, $leaveDates, $weekendDates); $emptyDataDatesArray = array(); $emptyDataDatesArray = array_diff($weekDatesArray, $totalDaysArray); if (count($emptyDataDatesArray) > 0) { $newemptyDataDatesArray = array(); foreach ($emptyDataDatesArray as $edate) { if ($edate >= $empJoiningDate) { $newemptyDataDatesArray[] = $edate; } } return $newemptyDataDatesArray; } else { return array(); } } }