コード例 #1
0
 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;
         }
     }
 }
コード例 #2
0
ファイル: IndexController.php プロジェクト: sura2k/sentrifugo
 /**
  * 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);
 }