コード例 #1
0
 public function leavesAction()
 {
     if (defined('EMPTABCONFIGS')) {
         $empOrganizationTabs = explode(",", EMPTABCONFIGS);
         if (in_array('emp_leaves', $empOrganizationTabs)) {
             $auth = Zend_Auth::getInstance();
             if ($auth->hasIdentity()) {
                 $loginUserId = $auth->getStorage()->read()->id;
                 $loginUserRole = $auth->getStorage()->read()->emprole;
                 $loginuserGroup = $auth->getStorage()->read()->group_id;
             }
             $id = $loginUserId;
             $call = $this->_getParam('call');
             if ($call == 'ajaxcall') {
                 $this->_helper->layout->disableLayout();
                 $userID = $this->_getParam('unitId') != '' ? $this->_getParam('unitId') : $this->_getParam('userid');
             }
             $Uid = $id ? $id : $userID;
             $employeeleavesModel = new Default_Model_Employeeleaves();
             $leavemanagementModel = new Default_Model_Leavemanagement();
             $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)) {
                         if ($Uid) {
                             $empleavesform = new Default_Form_empleaves();
                             $employeeleavesModal = new Default_Model_Employeeleaves();
                             $currentdata = '';
                             $leavetransferArr = $leavemanagementModel->getWeekendDetails($empdata[0]['department_id']);
                             $prevyeardata = $employeeleavesModal->getPreviousYearEmployeeleaveData($Uid);
                             $currentyeardata = $employeeleavesModal->getsingleEmployeeleaveData($Uid);
                             if (empty($currentyeardata)) {
                                 $currentdata = "empty";
                                 $currentyearleavecount = '';
                             } else {
                                 $currentdata = "notempty";
                                 $currentyearleavecount = $currentyeardata[0]['emp_leave_limit'];
                             }
                             $this->view->currentdata = $currentdata;
                             $leavetransfercount = '';
                             $previousyear = '';
                             $isleavetrasnferset = '';
                             $data = $employeeleavesModal->getsingleEmployeeleaveData($id);
                             $used_leaves = 0;
                             $date = date('Y');
                             if (!empty($data)) {
                                 $empleavesform->populate($data[0]);
                                 $used_leaves = $data[0]['used_leaves'];
                             }
                             $empleavesform->alloted_year->setValue($date);
                             if (!empty($leavetransferArr) && $leavetransferArr[0]['is_leavetransfer'] == 1 && !empty($prevyeardata) && is_numeric($prevyeardata[0]['remainingleaves']) && (int) $prevyeardata[0]['remainingleaves'] > 0 && $prevyeardata[0]['alloted_year'] != '' && empty($currentyeardata)) {
                                 $leavetransfercount = $prevyeardata[0]['remainingleaves'];
                                 $previousyear = $prevyeardata[0]['alloted_year'];
                                 $isleavetrasnferset = 1;
                                 $empleavesform->submitbutton->setAttrib('onClick', 'return showleavealert(' . $leavetransfercount . ',' . $previousyear . ')');
                                 $empleavesform->setAttrib('action', DOMAIN . 'mydetails/leaves/');
                             } else {
                                 $empleavesform->setAttrib('action', DOMAIN . 'mydetails/leaves/');
                             }
                             $this->view->form = $empleavesform;
                             $this->view->data = $data;
                             $this->view->id = $Uid;
                             $this->view->leavetransfercount = $leavetransfercount;
                         }
                         //Post values....
                         if ($this->getRequest()->getPost()) {
                             $result = $this->empaddorremoveleaves($empleavesform, $Uid, $used_leaves, $leavetransfercount, $isleavetrasnferset, $currentyearleavecount);
                             $this->view->msgarray = $result;
                         }
                         $objname = $this->_getParam('objname');
                         $refresh = $this->_getParam('refresh');
                         $data = array();
                         $searchQuery = '';
                         $searchArray = array();
                         $tablecontent = '';
                         if ($refresh == 'refresh') {
                             $sort = 'DESC';
                             $by = 'e.modifieddate';
                             $perPage = 10;
                             $pageNo = 1;
                             $searchData = '';
                         } else {
                             $sort = $this->_getParam('sort') != '' ? $this->_getParam('sort') : 'DESC';
                             $by = $this->_getParam('by') != '' ? $this->_getParam('by') : 'e.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) {
                                     $searchQuery .= " " . $key . " like '%" . $val . "%' AND ";
                                     $searchArray[$key] = $val;
                                 }
                                 $searchQuery = rtrim($searchQuery, " AND");
                             }
                             /** search from grid - END **/
                         }
                         $objName = 'empleaves';
                         $tableFields = array('action' => 'Action', 'emp_leave_limit' => 'Alloted leave limit', 'used_leaves' => 'Used leaves', 'remainingleaves' => 'Leave balance', 'alloted_year' => 'Alloted year');
                         $tablecontent = $employeeleavesModel->getEmpLeavesData($sort, $by, $pageNo, $perPage, $searchQuery, $Uid);
                         $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 Leaves', 'formgrid' => 'true', 'unitId' => $Uid, 'call' => $call, 'context' => 'mydetails');
                         array_push($data, $dataTmp);
                         $permission = sapp_Global::_checkprivileges(EMPLOYEE, $loginuserGroup, $loginUserRole, 'edit');
                         $this->view->dataArray = $data;
                         $this->view->call = $call;
                         $this->view->id = $Uid;
                         $this->view->messages = $this->_helper->flashMessenger->getMessages();
                         $this->view->employeedata = $empdata[0];
                         $this->view->usergroup = $loginuserGroup;
                         $this->view->permission = $permission;
                     }
                     $this->view->empdata = $empdata;
                 }
             } catch (Exception $e) {
                 $this->view->rowexist = "norows";
             }
             $this->view->usergroup = $loginuserGroup;
         } else {
             $this->_redirect('error');
         }
     } else {
         $this->_redirect('error');
     }
 }
コード例 #2
0
 public function editAction()
 {
     if (defined('EMPTABCONFIGS')) {
         $empOrganizationTabs = explode(",", EMPTABCONFIGS);
         if (in_array('emp_leaves', $empOrganizationTabs)) {
             $userID = "";
             $auth = Zend_Auth::getInstance();
             if ($auth->hasIdentity()) {
                 $loginUserId = $auth->getStorage()->read()->id;
                 $loginuserGroup = $auth->getStorage()->read()->group_id;
                 $loginUserRole = $auth->getStorage()->read()->emprole;
             }
             $conText = "";
             $id = $this->getRequest()->getParam('userid');
             $call = $this->_getParam('call');
             $usersModel = new Default_Model_Users();
             if ($call == 'ajaxcall') {
                 $this->_helper->layout->disableLayout();
                 $userID = $this->_getParam('unitId') != '' ? $this->_getParam('unitId') : $this->_getParam('userid');
                 $conText = $this->_getParam('context') != '' ? $this->_getParam('context') : $this->getRequest()->getParam('context');
             }
             if ($id == '') {
                 $id = $userID;
             }
             $Uid = $id ? $id : $userID;
             if ($Uid != "") {
                 $employeeData = $usersModel->getUserDetailsByIDandFlag($Uid);
             }
             $employeeleavesModel = new Default_Model_Employeeleaves();
             $leavemanagementModel = new Default_Model_Leavemanagement();
             $employeeModal = new Default_Model_Employee();
             try {
                 if ($id && is_numeric($id) && $id > 0 && $id != $loginUserId) {
                     $isrowexist = $employeeModal->getsingleEmployeeData($id);
                     if ($isrowexist == 'norows') {
                         $this->view->rowexist = "norows";
                     } else {
                         $this->view->rowexist = "rows";
                     }
                     $empdata = $employeeModal->getActiveEmployeeData($id);
                     //print_r($empdata); exit;
                     //echo $empdata[0]['date_of_joining'];exit;
                     //echo $currentdate=date("Y/m/d");exit;
                     if (!empty($empdata)) {
                         $call = $this->_getParam('call');
                         if ($id == '') {
                             $id = $loginUserId;
                         }
                         if ($call == 'ajaxcall') {
                             $this->_helper->layout->disableLayout();
                             $userID = $this->_getParam('unitId') != '' ? $this->_getParam('unitId') : $this->_getParam('userid');
                         }
                         if ($id) {
                             $empleavesform = new Default_Form_empleaves();
                             $joiningdate = $empdata[0]['date_of_joining'];
                             $empjoiningdate = strtotime($joiningdate);
                             $empjoiningyear = date("y", $empjoiningdate);
                             $currentyear = date("y");
                             if ($empjoiningyear <= $currentyear) {
                                 $employeeleavesModal = new Default_Model_Employeeleaves();
                                 $currentdata = '';
                                 $leavetransferArr = $leavemanagementModel->getWeekendDetails($empdata[0]['department_id']);
                                 $prevyeardata = $employeeleavesModal->getPreviousYearEmployeeleaveData($id);
                                 $currentyeardata = $employeeleavesModal->getsingleEmployeeleaveData($id);
                                 if (empty($currentyeardata)) {
                                     $currentdata = "empty";
                                     $currentyearleavecount = '';
                                 } else {
                                     $currentdata = "notempty";
                                     $currentyearleavecount = $currentyeardata[0]['emp_leave_limit'];
                                 }
                                 $this->view->currentdata = $currentdata;
                                 $leavetransfercount = '';
                                 $previousyear = '';
                                 $isleavetrasnferset = '';
                                 $data = $employeeleavesModal->getsingleEmployeeleaveData($id);
                                 $used_leaves = 0;
                                 $date = date('Y');
                                 if (!empty($data)) {
                                     $used_leaves = $data[0]['used_leaves'];
                                 }
                                 $empleavesform->alloted_year->setValue($date);
                                 if (!empty($leavetransferArr) && $leavetransferArr[0]['is_leavetransfer'] == 1 && !empty($prevyeardata) && is_numeric($prevyeardata[0]['remainingleaves']) && (int) $prevyeardata[0]['remainingleaves'] > 0 && $prevyeardata[0]['alloted_year'] != '' && empty($currentyeardata)) {
                                     $leavetransfercount = $prevyeardata[0]['remainingleaves'];
                                     $previousyear = $prevyeardata[0]['alloted_year'];
                                     $isleavetrasnferset = 1;
                                     $empleavesform->submitbutton->setAttrib('onClick', 'return showleavealert(' . $leavetransfercount . ',' . $previousyear . ')');
                                     $empleavesform->setAttrib('action', BASE_URL . 'empleaves/edit/userid/' . $id);
                                 } else {
                                     $empleavesform->setAttrib('action', BASE_URL . 'empleaves/edit/userid/' . $id);
                                 }
                                 $this->view->form = $empleavesform;
                                 $this->view->data = $data;
                                 $this->view->id = $id;
                                 $this->view->leavetransfercount = $leavetransfercount;
                                 $this->view->formflag = 'show';
                             } else {
                                 $this->view->form = $empleavesform;
                                 $this->view->formflag = 'hide';
                             }
                         }
                         if ($this->getRequest()->getPost()) {
                             $result = $this->save($empleavesform, $id, $used_leaves, $leavetransfercount, $isleavetrasnferset, $currentyearleavecount);
                             $this->view->msgarray = $result;
                         }
                         $objname = $this->_getParam('objname');
                         $refresh = $this->_getParam('refresh');
                         $dashboardcall = $this->_getParam('dashboardcall', null);
                         $data = array();
                         $searchQuery = '';
                         $searchArray = array();
                         $tablecontent = '';
                         if ($refresh == 'refresh') {
                             if ($dashboardcall == 'Yes') {
                                 $perPage = DASHBOARD_PERPAGE;
                             } else {
                                 $perPage = PERPAGE;
                             }
                             $sort = 'DESC';
                             $by = 'e.modifieddate';
                             $pageNo = 1;
                             $searchData = '';
                             $searchQuery = '';
                             $searchArray = array();
                         } else {
                             $sort = $this->_getParam('sort') != '' ? $this->_getParam('sort') : 'DESC';
                             $by = $this->_getParam('by') != '' ? $this->_getParam('by') : 'e.modifieddate';
                             if ($dashboardcall == 'Yes') {
                                 $perPage = $this->_getParam('per_page', DASHBOARD_PERPAGE);
                             } else {
                                 $perPage = $this->_getParam('per_page', PERPAGE);
                             }
                             $pageNo = $this->_getParam('page', 1);
                             $searchData = $this->_getParam('searchData');
                             $searchData = rtrim($searchData, ',');
                         }
                         $dataTmp = $employeeleavesModel->getGrid($sort, $by, $perPage, $pageNo, $searchData, $call, $dashboardcall, $Uid, $conText);
                         array_push($data, $dataTmp);
                         $permission = sapp_Global::_checkprivileges(EMPLOYEE, $loginuserGroup, $loginUserRole, 'edit');
                         $this->view->dataArray = $data;
                         $this->view->call = $call;
                         $this->view->id = $id;
                         $this->view->messages = $this->_helper->flashMessenger->getMessages();
                         if (!empty($employeeData)) {
                             $this->view->employeedata = $employeeData[0];
                         }
                         $this->view->usergroup = $loginuserGroup;
                         $this->view->permission = $permission;
                     }
                     $this->view->empdata = $empdata;
                 } else {
                     $this->view->rowexist = "norows";
                 }
             } catch (Exception $e) {
                 $this->view->rowexist = "norows";
             }
         } else {
             $this->_redirect('error');
         }
     } else {
         $this->_redirect('error');
     }
 }
コード例 #3
0
 public function update($addEmpLeavesForm, $currentYearData, $loginUserId, $userDepartment)
 {
     if ($addEmpLeavesForm->isValid($this->_request->getPost())) {
         $userId = $this->getRequest()->getParam('user_id');
         $emp_leave_limit = $this->_request->getParam('leave_limit');
         $alloted_year = $this->_request->getParam('alloted_year');
         $addemployeeleavesModel = new Default_Model_Addemployeeleaves();
         $employeeleavesModel = new Default_Model_Employeeleaves();
         $leavemanagementModel = new Default_Model_Leavemanagement();
         $isleavetrasnferset = 0;
         $leavetransfercount = 0;
         if (!empty($userDepartment)) {
             $leavetransferArr = $leavemanagementModel->getWeekendDetails($userDepartment);
         }
         $prevyeardata = $employeeleavesModel->getPreviousYearEmployeeleaveData($userId);
         if (!empty($leavetransferArr) && $leavetransferArr[0]['is_leavetransfer'] == 1 && !empty($prevyeardata)) {
             $leavetransfercount = $prevyeardata[0]['remainingleaves'];
             $isleavetrasnferset = 1;
         }
         if (empty($currentYearData)) {
             $emp_leave_limit = $emp_leave_limit + $leavetransfercount;
             $postedArr = array('leave_limit' => $emp_leave_limit, 'alloted_year' => $alloted_year);
             $logID = $employeeleavesModel->saveallotedleaves($postedArr, $emp_leave_limit, $userId, $loginUserId);
         } else {
             $emp_leave_limit = $emp_leave_limit + $currentYearData[0]['emp_leave_limit'];
         }
         $Id = $employeeleavesModel->SaveorUpdateEmployeeLeaves($userId, $emp_leave_limit, $isleavetrasnferset, $loginUserId);
         $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Employee Leave details updated successfully."));
         $this->_redirect('addemployeeleaves');
     } else {
         $messages = $addEmpLeavesForm->getMessages();
         foreach ($messages as $key => $val) {
             foreach ($val as $key2 => $val2) {
                 $msgarray[$key] = $val2;
                 break;
             }
         }
         $addEmpLeavesForm->alloted_year->setValue(date('Y'));
         return $msgarray;
     }
 }