public function addAction() { $emptyFlag = 0; $report_opt = array(); $popConfigPermission = array(); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } $employeeModel = new Default_Model_Employee(); $currentOrgHead = $employeeModel->getCurrentOrgHead(); if (empty($currentOrgHead)) { $this->addorganisationhead($loginUserId); } else { if (sapp_Global::_checkprivileges(PREFIX, $loginuserGroup, $loginuserRole, 'add') == 'Yes') { array_push($popConfigPermission, 'prefix'); } if (sapp_Global::_checkprivileges(IDENTITYCODES, $loginuserGroup, $loginuserRole, 'edit') == 'Yes') { array_push($popConfigPermission, 'identitycodes'); } if (sapp_Global::_checkprivileges(EMPLOYMENTSTATUS, $loginuserGroup, $loginuserRole, 'add') == 'Yes') { array_push($popConfigPermission, 'empstatus'); } if (sapp_Global::_checkprivileges(JOBTITLES, $loginuserGroup, $loginuserRole, 'add') == 'Yes') { array_push($popConfigPermission, 'jobtitles'); } if (sapp_Global::_checkprivileges(POSITIONS, $loginuserGroup, $loginuserRole, 'add') == 'Yes') { array_push($popConfigPermission, 'position'); } $this->view->popConfigPermission = $popConfigPermission; $employeeform = new Default_Form_employee(); $usersModel = new Default_Model_Users(); $employmentstatusModel = new Default_Model_Employmentstatus(); $busineesUnitModel = new Default_Model_Businessunits(); $user_model = new Default_Model_Usermanagement(); $candidate_model = new Default_Model_Candidatedetails(); $role_model = new Default_Model_Roles(); $jobtitlesModel = new Default_Model_Jobtitles(); $prefixModel = new Default_Model_Prefix(); $msgarray = array(); $identity_code_model = new Default_Model_Identitycodes(); $identity_codes = $identity_code_model->getIdentitycodesRecord(); $emp_identity_code = isset($identity_codes[0]) ? $identity_codes[0]['employee_code'] : ""; if ($emp_identity_code != '') { $emp_id = $emp_identity_code . str_pad($user_model->getMaxEmpId($emp_identity_code), 4, '0', STR_PAD_LEFT); } else { $emp_id = ''; $msgarray['employeeId'] = 'Identity codes are not configured yet.'; } $employeeform->employeeId->setValue($emp_id); $employeeform->modeofentry->setValue('Direct'); $roles_arr = $role_model->getRolesList_EMP(); if (sizeof($roles_arr) > 0) { $employeeform->emprole->addMultiOptions(array('' => 'Select Role') + $roles_arr); } else { $employeeform->emprole->addMultiOptions(array('' => 'Select Role')); $msgarray['emprole'] = 'Roles are not configured yet.'; } $candidate_options = $candidate_model->getCandidatesNamesForUsers(); if (sizeof($candidate_options) > 0) { $employeeform->rccandidatename->addMultiOptions(array('' => 'Select Candidate') + $candidate_options); } else { $msgarray['rccandidatename'] = 'No candidates.'; } $referedby_options = $user_model->getRefferedByForUsers(); if (sizeof($referedby_options) > 0) { $employeeform->candidatereferredby->addMultiOptions(array('' => 'Select referred by') + $referedby_options); } else { $msgarray['candidatereferredby'] = 'Employees are not added yet.'; } $employmentStatusData = $employmentstatusModel->getempstatusActivelist(); $employeeform->emp_status_id->addMultiOption('', 'Select Employment Status'); if (!empty($employmentStatusData)) { foreach ($employmentStatusData as $employmentStatusres) { $employeeform->emp_status_id->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']); } } else { $msgarray['emp_status_id'] = 'Employment status is not configured yet.'; $emptyFlag++; } $businessunitData = $busineesUnitModel->getDeparmentList(); if (!empty($businessunitData)) { $employeeform->businessunit_id->addMultiOption('0', 'No Business Unit'); foreach ($businessunitData as $businessunitres) { $employeeform->businessunit_id->addMultiOption($businessunitres['id'], $businessunitres['unitname']); } $departmentsmodel = new Default_Model_Departments(); $departmentlistArr = $departmentsmodel->getDepartmentList('0'); $totalDeptList = $departmentsmodel->getTotalDepartmentList(); $employeeform->department_id->clearMultiOptions(); $employeeform->department_id->addMultiOption('', 'Select Department'); if (count($departmentlistArr) > 0) { foreach ($departmentlistArr as $departmentlistresult) { $employeeform->department_id->addMultiOption($departmentlistresult['id'], utf8_encode($departmentlistresult['deptname'])); } } if (empty($totalDeptList)) { $msgarray['department_id'] = 'Departments are not added yet.'; } if (isset($department_id) && $department_id != 0 && $department_id != '') { $employeeform->setDefault('department_id', $department_id); } } else { $msgarray['businessunit_id'] = 'Business units are not added yet.'; $emptyFlag++; } $jobtitleData = $jobtitlesModel->getJobTitleList(); $employeeform->jobtitle_id->addMultiOption('', 'Select Job Title'); if (!empty($jobtitleData)) { foreach ($jobtitleData as $jobtitleres) { $employeeform->jobtitle_id->addMultiOption($jobtitleres['id'], $jobtitleres['jobtitlename']); } } else { $msgarray['jobtitle_id'] = 'Job titles are not configured yet.'; $msgarray['position_id'] = 'Positions are not configured yet.'; $emptyFlag++; } $prefixData = $prefixModel->getPrefixList(); $employeeform->prefix_id->addMultiOption('', 'Select Prefix'); if (!empty($prefixData)) { foreach ($prefixData as $prefixres) { $employeeform->prefix_id->addMultiOption($prefixres['id'], $prefixres['prefix']); } } else { $msgarray['prefix_id'] = 'Prefixes are not configured yet.'; $emptyFlag++; } if (isset($_POST['emprole']) && isset($_POST['department_id']) && $_POST['emprole'] != '') { $role_split = preg_split('/_/', $_POST['emprole']); $reportingManagerData = $usersModel->getReportingManagerList_employees($_POST['department_id'], '', $role_split[1]); if (!empty($reportingManagerData)) { $report_opt = $reportingManagerData; if (isset($_POST['reporting_manager']) && $_POST['reporting_manager'] != '') { $employeeform->setDefault('reporting_manager', $_POST['reporting_manager']); } } } $employeeform->setAttrib('action', BASE_URL . 'employee/add'); $this->view->form = $employeeform; $this->view->msgarray = $msgarray; $this->view->report_opt = $report_opt; $this->view->emptyFlag = $emptyFlag++; if ($this->getRequest()->getPost()) { $result = $this->save($employeeform); $this->view->msgarray = $result; $this->view->messages = $result; } } }
/** * This function acts as a service for onchange of mode of employment to get candidates or referers. * @param array $params_arr = array of parameters * @return array Array of options. */ public function modeempOnchange($params_arr) { $result = array(); $status = 0; $message = "Invalid mode of employment."; if (isset($params_arr['role_id']) && $params_arr['role_id'] != '' && isset($params_arr['group_id']) && $params_arr['group_id'] != '' && isset($params_arr['modeofentry']) && $params_arr['modeofentry'] != '' && isset($params_arr['userid']) && $params_arr['userid'] != '') { $role_id = $params_arr['role_id']; $group_id = $params_arr['group_id']; $userid = $params_arr['userid']; $modeofentry = $params_arr['modeofentry']; if ($role_id == SUPERADMINROLE || $group_id == MANAGEMENT_GROUP || $group_id == HR_GROUP) { $privilege_flag = sapp_Global::_checkprivileges(EMPLOYEE, $group_id, $role_id, 'add'); if ($privilege_flag == 'Yes') { if ($modeofentry == "Interview" || $modeofentry == 'Other') { $candidate_model = new Default_Model_Candidatedetails(); $candidate_options = $candidate_model->getCandidatesNamesForUsers(); $candidate_str = sapp_Global::selectOptionBuilder("", "Select Candidate"); //echo "<pre>";print_r($candidate_options);echo "</pre>"; if (!empty($candidate_options)) { $status = 1; $message = "success"; foreach ($candidate_options as $id => $name) { $candidate_str .= sapp_Global::selectOptionBuilder($id, $name); } } else { $status = 0; $message = "No selected candidates."; } $result['candidates'] = $candidate_str; } else { if ($modeofentry == "Reference") { $user_model = new Default_Model_Usermanagement(); $referedby_options = $user_model->getRefferedByForUsers(); $refered_str = sapp_Global::selectOptionBuilder("", "Select Referred By"); //echo "<pre>";print_r($candidate_options);echo "</pre>"; if (!empty($referedby_options)) { $status = 1; $message = "success"; foreach ($referedby_options as $id => $name) { $refered_str .= sapp_Global::selectOptionBuilder($id, $name); } } else { $status = 0; $message = "Employees are not added yet."; } $result['referred_by'] = $refered_str; } } } } } return array('status' => $status, 'message' => $message, 'result' => $result); }