public function leavemanagementreportAction() { $reportsmodel = new Default_Model_Reports(); $departmentsmodel = new Default_Model_Departments(); $monthslistmodel = new Default_Model_Monthslist(); $weekdaysmodel = new Default_Model_Weekdays(); $leavemanagementform = new Default_Form_leavemanagementreport(); $msgarray = array(); $selectColumns = array(); $searchQuery = ''; $department = $this->_request->getParam('department_id'); $cal_startmonth = $this->_request->getParam('cal_startmonth'); $weekend_startday = $this->_request->getParam('weekend_startday'); $weekend_endday = $this->_request->getParam('weekend_endday'); $pageno = $this->_request->getParam('pageno', 1); $perpage = intval($this->_request->getParam('perpage', PERPAGE)); if ($perpage == 0) { $perpage = PERPAGE; } $by = $this->_request->getParam('by', 'Desc'); $sortby = $this->_request->getParam('sortby', 'l.modifieddate'); $columnby = $this->_request->getParam('columnby'); $columnsortby = $this->_request->getParam('columnsortby'); $checkedheaders = $this->_request->getParam('checkedheaders'); $generatereport = $this->_request->getParam('generatereport'); if ($checkedheaders != '') { $selectColumns = explode(',', $checkedheaders); } if ($columnby != '') { $by = $columnby; } if ($columnsortby != '') { $sortby = $columnsortby; } if ($department != '') { $searchQuery .= 'l.department_id = "' . $department . '" AND '; } if ($cal_startmonth != '') { $searchQuery .= 'l.cal_startmonth = ' . $cal_startmonth . ' AND '; } if ($weekend_startday != '') { $searchQuery .= 'l.weekend_startday = ' . $weekend_startday . ' AND '; } if ($weekend_endday != '') { $searchQuery .= 'l.weekend_endday = ' . $weekend_endday . ' AND '; } $searchQuery = rtrim($searchQuery, " AND"); $leavemgmtArr = $reportsmodel->getLeaveManagementSummary($sortby, $by, $pageno, $perpage, $searchQuery); $leavemgmtCount = $reportsmodel->getLeaveManagementCount($searchQuery); $departmentlistArr = $departmentsmodel->getDepartmentWithCodeList(); if (!empty($departmentlistArr)) { foreach ($departmentlistArr as $departmentlistres) { $leavemanagementform->department_id->addMultiOption($departmentlistres['id'], utf8_encode($departmentlistres['unitcode'] . $departmentlistres['deptname'])); } } else { $msgarray['department_id'] = 'Departments are not added yet.'; } $monthslistdata = $monthslistmodel->getMonthlistData(); if (sizeof($monthslistdata) > 0) { foreach ($monthslistdata as $monthslistres) { $leavemanagementform->cal_startmonth->addMultiOption($monthslistres['month_id'], utf8_encode($monthslistres['month_name'])); } } else { $msgarray['cal_startmonth'] = 'Months list is not configured yet.'; } $weekdaysdata = $weekdaysmodel->getWeeklistData(); if (sizeof($weekdaysdata) > 0) { foreach ($weekdaysdata as $weekdaysres) { $leavemanagementform->weekend_startday->addMultiOption($weekdaysres['day_id'], utf8_encode($weekdaysres['day_name'])); $leavemanagementform->weekend_endday->addMultiOption($weekdaysres['day_id'], utf8_encode($weekdaysres['day_name'])); } } else { $msgarray['weekend_startday'] = 'Weekdays are not configured yet.'; $msgarray['weekend_endday'] = 'Weekdays are not configured yet.'; } if ($leavemgmtCount[0]['count'] > 0) { $totalcount = $leavemgmtCount[0]['count']; $lastpage = ceil($totalcount / $perpage); } else { $totalcount = ''; $lastpage = ''; } $selectColumnLabels = array(); $leavesheaderarr = array('cal_startmonthname' => 'Start Month', 'weekend_startday' => 'Week-end 1', 'weekend_endday' => 'Week-end 2', 'department_name' => 'Department', 'hours_day' => 'Hours', 'is_halfday' => 'Halfday', 'is_leavetransfer' => 'Leave Transferable', 'is_skipholidays' => 'Skip Holidays'); if (empty($selectColumns)) { $selectColumns = array('cal_startmonthname', 'weekend_startday', 'weekend_endday', 'department_name', 'hours_day', 'is_halfday', 'is_leavetransfer', 'is_skipholidays'); $selectColumnLabels = $leavesheaderarr; } else { foreach ($leavesheaderarr as $key => $val) { foreach ($selectColumns as $column) { if ($column == $key) { $selectColumnLabels[$key] = $val; } } } } $this->view->selectColumnLabels = $selectColumnLabels; $this->view->leavesheaderarr = $leavesheaderarr; $this->view->leavemgmtArr = $leavemgmtArr; $this->view->totalCount = $totalcount; $this->view->pageno = $pageno; $this->view->perpage = $perpage; $this->view->by = $by; $this->view->sortby = $sortby; $this->view->totalcount = $totalcount; $this->view->lastpage = $lastpage; $this->view->msgarray = $msgarray; $this->view->form = $leavemanagementform; }
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(); } $leavemanagementform = new Default_Form_leavemanagement(); $leavemanagementform->submit->setLabel('Update'); try { if ($id) { if (is_numeric($id) && $id > 0) { $leavemanagementmodel = new Default_Model_Leavemanagement(); $data = $leavemanagementmodel->getActiveleavemanagementId($id); if (!empty($data)) { $data = $data[0]; $monthslistmodel = new Default_Model_Monthslist(); $weekdaysmodel = new Default_Model_Weekdays(); $busineesUnitModel = new Default_Model_Businessunits(); $departmentsmodel = new Default_Model_Departments(); $businessunitData = $busineesUnitModel->getParicularBusinessUnit($data['businessunit_id']); $particulardeptidArr = $departmentsmodel->getParicularDepartmentId($data['department_id']); $monthslistdata = $monthslistmodel->getMonthlistData(); $weekdaysdata = $weekdaysmodel->getWeeklistData(); if (!empty($businessunitData) && !empty($particulardeptidArr)) { if (!empty($businessunitData)) { $leavemanagementform->businessunit->addMultiOption($businessunitData[0]['id'], $businessunitData[0]['unitname']); } if (!empty($particulardeptidArr)) { $leavemanagementform->department_id->addMultiOption($particulardeptidArr[0]['id'], utf8_encode($particulardeptidArr[0]['deptname'])); } if (sizeof($monthslistdata) > 0) { foreach ($monthslistdata as $monthslistres) { $leavemanagementform->cal_startmonth->addMultiOption($monthslistres['month_id'], utf8_encode($monthslistres['month_name'])); } } if (sizeof($weekdaysdata) > 0) { foreach ($weekdaysdata as $weekdaysres) { $leavemanagementform->weekend_startday->addMultiOption($weekdaysres['day_id'], utf8_encode($weekdaysres['day_name'])); $leavemanagementform->weekend_endday->addMultiOption($weekdaysres['day_id'], utf8_encode($weekdaysres['day_name'])); } } $leavemanagementform->populate($data); $leavemanagementform->setDefault('cal_startmonth', $data['cal_startmonth']); $leavemanagementform->setDefault('weekend_startday', $data['weekend_startday']); $leavemanagementform->setDefault('weekend_endday', $data['weekend_endday']); $leavemanagementform->setDefault('businessunit', $data['businessunit_id']); $leavemanagementform->setDefault('department_id', $data['department_id']); $leavemanagementform->setAttrib('action', BASE_URL . 'leavemanagement/edit/id/' . $id); $this->view->form = $leavemanagementform; $this->view->rowexist = ""; } else { $this->view->rowexist = "rows"; } } else { $this->view->rowexist = "norows"; } } else { $this->view->rowexist = "norows"; } } else { $this->view->rowexist = "norows"; } } catch (Exception $e) { $this->view->rowexist = "norows"; } if ($this->getRequest()->getPost()) { $result = $this->save($leavemanagementform); $this->view->msgarray = $result; } }
public function getGrid($sort, $by, $perPage, $pageNo, $searchData, $call, $dashboardcall, $a = '', $b = '', $c = '', $d = '') { $monthslistmodel = new Default_Model_Monthslist(); $weekdaysmodel = new Default_Model_Weekdays(); $searchQuery = ''; $searchArray = array(); $data = array(); if ($searchData != '' && $searchData != 'undefined') { $searchValues = json_decode($searchData); foreach ($searchValues as $key => $val) { if ($key == 'description') { $searchQuery .= " l." . $key . " like '%" . $val . "%' AND "; } else { if ($key == 'daystartname') { $searchQuery .= " w.week_name like '%" . $val . "%' AND "; } else { if ($key == 'dayendname') { $searchQuery .= " wk.week_name like '%" . $val . "%' AND "; } else { $searchQuery .= " " . $key . " like '%" . $val . "%' AND "; } } } $searchArray[$key] = $val; } $searchQuery = rtrim($searchQuery, " AND"); } if ($by == "cal_startmonth") { $by = "m.month_name"; } else { if ($by == "weekend_startday") { $by = "w.week_name"; } else { if ($by == "weekend_endday") { $by = "wk.week_name"; } } } $objName = 'leavemanagement'; $tableFields = array('action' => 'Action', 'm.month_name' => 'Start Month', 'w.week_name' => 'Week-end 1', 'wk.week_name' => 'Week-end 2', 'deptname' => 'Department', 'hours_day' => 'Hours', 'is_halfday' => 'Halfday', 'is_leavetransfer' => 'Leave transferable', 'is_skipholidays' => 'Skip Holidays', 'description' => 'Description'); $tablecontent = $this->getLeaveManagementData($sort, $by, $pageNo, $perPage, $searchQuery); $monthslistdata = $monthslistmodel->getMonthlistData(); $month_opt = array(); if (sizeof($monthslistdata) > 0) { foreach ($monthslistdata as $monthslistres) { $month_opt[$monthslistres['month_id']] = $monthslistres['month_name']; } } $bool_arr = array('' => 'All', 1 => 'Yes', 2 => 'No'); $week_arr = array(); $weekdaysdata = $weekdaysmodel->getWeeklistData(); if (sizeof($weekdaysdata) > 0) { foreach ($weekdaysdata as $weekdaysres) { $week_arr[$weekdaysres['day_id']] = $weekdaysres['day_name']; } } $dataTmp = array('sort' => $sort, 'by' => $by, 'pageNo' => $pageNo, 'perPage' => $perPage, 'tablecontent' => $tablecontent, 'objectname' => $objName, 'extra' => array(), 'tableheader' => $tableFields, 'jsGridFnName' => 'getAjaxgridData', 'jsFillFnName' => '', 'searchArray' => $searchArray, 'add' => 'add', 'call' => $call, 'dashboardcall' => $dashboardcall, 'search_filters' => array('cal_startmonth' => array('type' => 'select', 'filter_data' => array('' => 'All') + $month_opt), 'weekend_startday' => array('type' => 'select', 'filter_data' => array('' => 'All') + $week_arr), 'weekend_endday' => array('type' => 'select', 'filter_data' => array('' => 'All') + $week_arr), 'is_leavetransfer' => array('type' => 'select', 'filter_data' => $bool_arr), 'is_skipholidays' => array('type' => 'select', 'filter_data' => $bool_arr), 'is_halfday' => array('type' => 'select', 'filter_data' => $bool_arr))); return $dataTmp; }