Example #1
0
 /**
  * 
  * Ajax call to fetch employees for multi departments
  */
 public function getmultiempsAction()
 {
     $ajaxContext = $this->_helper->getHelper('AjaxContext');
     $ajaxContext->addActionContext('getmultiemps', 'html')->initContext();
     $dept_id = $this->_getParam('dept_id', null);
     $options = "";
     if (!empty($dept_id)) {
         $dept_id = implode(',', $dept_id);
         $addemployeeleavesModel = new Default_Model_Addemployeeleaves();
         $emp_data = $addemployeeleavesModel->getMultipleEmployees($dept_id);
     }
     $this->view->empData = !empty($emp_data) ? $emp_data : array();
 }
 public function saveEmployeeLeaves($addEmpLeavesForm, $loginUserId)
 {
     $addemployeeleavesModel = new Default_Model_Addemployeeleaves();
     $employeeleavesModel = new Default_Model_Employeeleaves();
     $leavemanagementModel = new Default_Model_Leavemanagement();
     $usermodel = new Default_Model_Employee();
     $businessunit_id = $this->_getParam('businessunit_id', null);
     $department_id = $this->_getParam('department_id', null);
     $user_ids = $this->_getParam('user_id', null);
     if ($addEmpLeavesForm->isValid($this->_request->getPost())) {
         try {
             $postedArr = array();
             $id = $this->_request->getParam('id');
             $postedArr = $this->_request->getPost();
             $actionflag = 1;
             $tableid = '';
             if (!empty($user_ids)) {
                 foreach ($user_ids as $key => $val) {
                     $leavetransfercount = 0;
                     $isleavetrasnferset = 0;
                     $userId = $key;
                     $emp_leave_limit = $val;
                     $empDetails = $usermodel->getEmp_from_summary($userId);
                     $prevyeardata = $employeeleavesModel->getPreviousYearEmployeeleaveData($userId);
                     if (!empty($empDetails)) {
                         $userDepartment = $empDetails['department_id'];
                         $leavetransferArr = $leavemanagementModel->getWeekendDetails($userDepartment);
                     }
                     if (!empty($leavetransferArr) && $leavetransferArr[0]['is_leavetransfer'] == 1) {
                         $leavetransfercount = !empty($prevyeardata) ? $prevyeardata[0]['remainingleaves'] : 0;
                         $isleavetrasnferset = 1;
                     }
                     $currentyeardata = $employeeleavesModel->getsingleEmployeeleaveData($userId);
                     if (empty($currentyeardata)) {
                         $empLeaveLimit = $emp_leave_limit + $leavetransfercount;
                     } else {
                         $empLeaveLimit = $emp_leave_limit + $currentyeardata[0]['emp_leave_limit'];
                     }
                     /* Save employee leaves in allotted leaves log */
                     $logID = $employeeleavesModel->saveallotedleaves($postedArr, $emp_leave_limit, $userId, $loginUserId);
                     $Id = $employeeleavesModel->SaveorUpdateEmployeeLeaves($userId, $empLeaveLimit, $isleavetrasnferset, $loginUserId);
                     $menuID = EMPLOYEE;
                     $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $userId);
                     $empLeaveLimit = '';
                 }
             }
             $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Employee Leave details added successfully."));
             $this->_redirect('addemployeeleaves');
         } catch (Exception $e) {
             $msgarray['businessunit_id'] = "Something went wrong, please try again.";
             return $msgarray;
         }
     } else {
         $messages = $addEmpLeavesForm->getMessages();
         foreach ($messages as $key => $val) {
             foreach ($val as $key2 => $val2) {
                 $msgarray[$key] = $val2;
                 break;
             }
         }
         if (!empty($businessunit_id)) {
             $bu_id = implode(',', $businessunit_id);
             $dept_model = new Default_Model_Departments();
             $dept_data = $dept_model->getDepartmentWithCodeList_bu($bu_id);
             if (!empty($dept_data)) {
                 foreach ($dept_data as $dept) {
                     $addEmpLeavesForm->department_id->addMultiOption($dept['id'], $dept['unitcode'] . " " . $dept['deptname']);
                 }
             }
         }
         if (!empty($department_id)) {
             $dept_id = implode(',', $department_id);
             $emp_data = $addemployeeleavesModel->getMultipleEmployees($dept_id);
             if (!empty($emp_data)) {
                 foreach ($emp_data as $emp) {
                     $addEmpLeavesForm->user_id->addMultiOption($emp['user_id'] . "-" . $emp['department_id'], $emp['userfullname']);
                 }
             }
         }
         return $msgarray;
     }
 }