public function save($appraisalconfigform) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $appraisalconfigmodel = new Default_Model_Appraisalconfig(); $departmentsmodel = new Default_Model_Departments(); $businessunitsmodel = new Default_Model_Businessunits(); $msgarray = array(); $resultArr = array(); $arrData = array(); $prevBusinessunit = ''; $errorflag = "true"; $id = $this->_request->getParam('id'); $businessunit_id = $this->_request->getParam('businessunit_id'); $performance_app_flag = $this->_request->getParam('performance_app_flag'); $department_id = $this->_request->getParam('department_id'); $appraisal_mode = $this->_request->getParam('appraisal_mode'); $approval_selection = $this->_request->getParam('approval_selection'); $appraisal_ratings = $this->_request->getParam('appraisal_ratings'); // Validation to check duplicate combinations $arrData = array("business_unit_id" => $businessunit_id, "department_id" => $department_id, "id" => $id); if ($appraisalconfigmodel->combinationExists($arrData)) { $msgarray['businessunit_id'] = 'Business unit or department configuration already exists.'; $errorflag = "false"; } /** Start * Validating selection of department if implementaion is department wise */ if ($performance_app_flag == 0) { if ($department_id == '') { $msgarray['department_id'] = 'Please select department.'; $errorflag = "false"; } } /** End validating selection of department */ /** Start Validating unique service desk department */ if ($businessunit_id != '' && $id == '') { $appraisalconigfArr = $appraisalconfigmodel->checkuniqueAppraisalConfigData($businessunit_id, $performance_app_flag, $department_id); if (!empty($appraisalconigfArr)) { if ($appraisalconigfArr[0]['count'] > 0) { $msgarray['department_id'] = 'Please select a different department.'; $errorflag = "false"; } } } /** End * Validating uniques department */ $db = Zend_Db_Table::getDefaultAdapter(); $db->beginTransaction(); if ($appraisalconfigform->isValid($this->_request->getPost()) && $errorflag == 'true') { try { $menumodel = new Default_Model_Menu(); $actionflag = ''; $tableid = ''; $data = array('businessunit_id' => $businessunit_id, 'department_id' => $department_id != '' ? $department_id : NULL, 'performance_app_flag' => $performance_app_flag, 'appraisal_mode' => $appraisal_mode, 'appraisal_ratings' => $appraisal_ratings, 'module_flag' => 1, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); if ($id != '') { /* for Update record */ $where = array('id=?' => $id); $actionflag = 2; } else { /* for Insert new record */ $data['createdby'] = $loginUserId; $data['createddate'] = gmdate("Y-m-d H:i:s"); $data['isactive'] = 1; $where = ''; $actionflag = 1; } $Id = $appraisalconfigmodel->SaveorUpdateAppraisalConfigData($data, $where); if ($Id == 'update') { $tableid = $id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Appraisal settings updated successfully")); } else { $tableid = $Id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Appraisal settings added successfully")); } $menuidArr = $menumodel->getMenuObjID('/appraisalconfig'); $menuID = $menuidArr[0]['id']; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); /** Start * Sending Mails to employees */ /* if($performance_app_flag == 0) $employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($businessunit_id,$department_id); else $employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($businessunit_id,''); $msg_add_update = ($Id == 'update') ? "updated" : "added" ; //Sending mail to Super admin $options['subject'] = APPLICATION_NAME.': Performance Appraisal Settings '.ucfirst($msg_add_update); $options['header'] = 'Performance Appraisal Configuration'; $options['toEmail'] = SUPERADMIN_EMAIL; $options['toName'] = 'Super Admin'; $options['message'] = 'Dear Super Admin, performance appraisal configuration '.$msg_add_update; // $mail_id = sapp_Global::_sendEmail($options); //sending mail to others if(!empty($employeeDetailsArr)) { foreach($employeeDetailsArr as $emp) { $options['subject'] = APPLICATION_NAME.': Performance Appraisal Settings Added.'; $options['header'] = 'Performance Appraisal Configuration'; $options['toEmail'] = $emp['emailaddress']; $options['toName'] = $emp['userfullname']; $options['message'] = 'Dear '.$emp['userfullname'].', performance appraisal configuration '.$msg_add_update; // $mail_id = sapp_Global::_sendEmail($options); } } /** * End */ $db->commit(); $this->_redirect('appraisalconfig'); throw new Exception("Some error message"); } catch (Exception $e) { $db->rollBack(); echo $e->getMessage(); echo $e->getTraceAsString(); return $msgarray; } } else { $messages = $appraisalconfigform->getMessages(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } if (isset($businessunit_id) && $businessunit_id != '') { if ($performance_app_flag == 0) { $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id); if (!empty($departmentlistArr)) { foreach ($departmentlistArr as $departmentlist) { $appraisalconfigform->department_id->addMultiOption($departmentlist['id'], utf8_encode($departmentlist['deptname'])); } } } if (isset($department_id) && $department_id != 0 && $department_id != '') { $appraisalconfigform->setDefault('department_id', $department_id); } } return $msgarray; } }
public function savedepartments() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } $appraisalquestionsmodel = new Default_Model_Appraisalquestions(); $deptModel = new Default_Model_Departments(); $msgarray = array(); $errorflag = 'true'; $bunit_id = $this->_request->getParam('bunit_id'); $department_arr = $this->_request->getParam('department'); $address_arr = $this->_request->getParam('address'); if (!empty($department_arr)) { $departmentArr = array_count_values($department_arr); for ($i = 0; $i < sizeof($department_arr); $i++) { if ($department_arr[$i] == '') { $msgarray['dept_name'][$i] = 'Please enter department.'; $errorflag = 'false'; } else { if (!preg_match('/^[a-zA-Z0-9.\\- ?]+$/', $department_arr[$i])) { $msgarray['dept_name'][$i] = 'Please enter valid department.'; $errorflag = 'false'; } else { if ($i > 0 && $departmentArr[$department_arr[$i]] > 1) { $msgarray['dept_name'][$i] = 'Please enter different department.'; $errorflag = 'false'; } else { $isDeptExist = $deptModel->checkDuplicateDeptName($department_arr[$i]); if ($isDeptExist[0]['count'] > 0) { $msgarray['dept_name'][$i] = ' Department name already exists.'; $msgarray['bunit_id'] = $bunit_id; $errorflag = 'false'; } } } } if ($address_arr[$i] == '') { $msgarray['address_name'][$i] = 'Please enter street address.'; $errorflag = 'false'; } } $msgarray['deptsize'] = sizeof($department_arr); } if ($errorflag == 'true') { try { $menumodel = new Default_Model_Menu(); $orgInfoModel = new Default_Model_Organisationinfo(); $systempreferencemodel = new Default_Model_Sitepreference(); $organisationData = $orgInfoModel->getOrganisationInfo(); $sitePreferenceData = $systempreferencemodel->SitePreferanceData(); $deptModel = new Default_Model_Departments(); $actionflag = 1; $tableid = ''; $where = ''; $date = new Zend_Date(); for ($i = 0; $i < sizeof($department_arr); $i++) { if (strlen(trim($department_arr[$i])) > 3) { $deptCode = strtoupper(substr(trim($department_arr[$i]), 0, 4)); } else { $deptCode = strtoupper(trim($department_arr[$i])); } $data = array('deptname' => trim($department_arr[$i]), 'deptcode' => $deptCode, 'startdate' => NULL, 'country' => !empty($organisationData) ? $organisationData[0]['country'] : NULL, 'state' => !empty($organisationData) ? $organisationData[0]['state'] : NULL, 'city' => !empty($organisationData) ? $organisationData[0]['city'] : NULL, 'address1' => $address_arr[$i], 'timezone' => !empty($sitePreferenceData) ? $sitePreferenceData[0]['timezoneid'] : NULL, 'unitid' => $bunit_id, 'createdby' => $loginUserId, 'createddate' => $date->get('yyyy-MM-dd HH:mm:ss'), 'modifiedby' => $loginUserId, 'modifieddate' => $date->get('yyyy-MM-dd HH:mm:ss')); $Id = $deptModel->SaveorUpdateDepartmentsUnits($data, $where); $tableid = $Id; $menuID = DEPARTMENTS; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); } $wizard_model = new Default_Model_Wizard(); $wizardData = $wizard_model->getWizardData(); $wizardarray = array('departments' => 2, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); if ($wizardData['site_config'] == 2 && $wizardData['org_details'] == 2 && $wizardData['servicerequest'] == 2) { $wizardarray['iscomplete'] = 2; } $wizard_model->SaveorUpdateWizardData($wizardarray, ''); $this->_helper->getHelper("FlashMessenger")->addMessage("Departments added successfully."); $this->_redirect('wizard/configureunitsanddepartments'); } catch (Exception $e) { $msgarray['pa_category_id'] = "Something went wrong, please try again."; return $msgarray; } } else { return $msgarray; } }
public function addemppopupAction() { $flag = 'true'; $controllername = 'employee'; $msgarray = array(); $emptyFlag = 0; Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/"); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $deptidforhead = $this->_getParam('deptidforhead', null); $report_opt = array(); $emp_form = new Default_Form_employee(); $user_model = new Default_Model_Usermanagement(); $role_model = new Default_Model_Roles(); $prefixModel = new Default_Model_Prefix(); $identity_code_model = new Default_Model_Identitycodes(); $jobtitlesModel = new Default_Model_Jobtitles(); $deptModel = new Default_Model_Departments(); $positionsmodel = new Default_Model_Positions(); $employeeModal = new Default_Model_Employee(); $usersModel2 = new Default_Model_Users(); $employmentstatusModel = new Default_Model_Employmentstatus(); $emp_form->setAction(BASE_URL . 'employee/addemppopup/deptidforhead/' . $deptidforhead); $emp_form->removeElement('department_id'); $emp_form->removeElement('modeofentry'); $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.'; $flag = 'false'; } $emp_form->employeeId->setValue($emp_id); $role_data = $role_model->getRolesList_Dept(); $emp_form->emprole->addMultiOptions(array('' => 'Select Role') + $role_data); if (empty($role_data)) { $msgarray['emprole'] = 'Roles are not configured yet.'; $flag = 'false'; } $prefixData = $prefixModel->getPrefixList(); $emp_form->prefix_id->addMultiOption('', 'Select Prefix'); if (!empty($prefixData)) { foreach ($prefixData as $prefixres) { $emp_form->prefix_id->addMultiOption($prefixres['id'], $prefixres['prefix']); } } else { $msgarray['prefix_id'] = 'Prefixes are not configured yet.'; //$flag = 'false'; } $jobtitleData = $jobtitlesModel->getJobTitleList(); if (!empty($jobtitleData)) { foreach ($jobtitleData as $jobtitleres) { $emp_form->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.'; //$flag = 'false'; } if (isset($_POST['jobtitle_id']) && $_POST['jobtitle_id'] != '') { $positionlistArr = $positionsmodel->getPositionList($_POST['jobtitle_id']); if (sizeof($positionlistArr) > 0) { $emp_form->position_id->addMultiOption('', 'Select Position'); foreach ($positionlistArr as $positionlistres) { $emp_form->position_id->addMultiOption($positionlistres['id'], $positionlistres['positionname']); } } } $employmentStatusData = $employmentstatusModel->getempstatusActivelist(); $emp_form->emp_status_id->addMultiOption('', 'Select Employment Status'); if (!empty($employmentStatusData)) { foreach ($employmentStatusData as $employmentStatusres) { $emp_form->emp_status_id->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']); } } else { $msgarray['emp_status_id'] = 'Employment status is not configured yet.'; $emptyFlag++; } $reportingManagerData = $usersModel2->getReportingManagerList_employees('', '', MANAGEMENT_GROUP); if (!empty($reportingManagerData)) { $report_opt = $reportingManagerData; if (isset($_POST['reporting_manager']) && $_POST['reporting_manager'] != '') { $emp_form->setDefault('reporting_manager', $_POST['reporting_manager']); } } else { $msgarray['reporting_manager'] = 'Reporting managers are not added yet.'; $flag = 'false'; } if ($this->getRequest()->getPost()) { if ($emp_form->isValid($this->_request->getPost()) && $flag == 'true') { $jobtitle_id = $this->_request->getParam('jobtitle_id', null); $position_id = $this->_request->getParam('position_id', null); $date_of_joining = sapp_Global::change_date($this->_request->getParam('date_of_joining', null), 'database'); $date_of_leaving = $this->_request->getParam('date_of_leaving', null); $date_of_leaving = sapp_Global::change_date($date_of_leaving, 'database'); $employeeId = $this->_getParam('employeeId', null); $emprole = $this->_getParam('emprole', null); $reporting_manager = $this->_getParam('reporting_manager', null); $emailaddress = $this->_getParam('emailaddress', null); $emppassword = sapp_Global::generatePassword(); $firstname = trim($this->_getParam('firstname', null)); $lastname = trim($this->_getParam('lastname', null)); $userfullname = $firstname . ' ' . $lastname; //$userfullname = trim($this->_request->getParam('userfullname',null)); $prefix_id = $this->_getParam('prefix_id', null); $user_id = $this->_getParam('user_id', null); $emp_status_id = $this->_getParam('emp_status_id', null); $user_data = array('emprole' => $emprole, 'firstname' => $firstname != '' ? $firstname : NULL, 'lastname' => $lastname != '' ? $lastname : NULL, 'userfullname' => $userfullname, 'emailaddress' => $emailaddress, 'jobtitle_id' => $jobtitle_id, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'emppassword' => md5($emppassword), 'employeeId' => $employeeId, 'modeofentry' => 'Direct', 'selecteddate' => $date_of_joining, 'userstatus' => 'old'); $emp_data = array('user_id' => $user_id, 'jobtitle_id' => $jobtitle_id, 'position_id' => $position_id, 'prefix_id' => $prefix_id, 'department_id' => $deptidforhead, 'reporting_manager' => $reporting_manager, 'date_of_joining' => $date_of_joining, 'date_of_leaving' => $date_of_leaving != '' ? $date_of_leaving : NULL, 'emp_status_id' => $emp_status_id, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); $user_data['createdby'] = $loginUserId; $user_data['createddate'] = gmdate("Y-m-d H:i:s"); $user_data['isactive'] = 1; 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 = ''; } $user_data['employeeId'] = $emp_id; $user_id = $user_model->SaveorUpdateUserData($user_data, ''); $emp_data['user_id'] = $user_id; $emp_data['createdby'] = $loginUserId; $emp_data['createddate'] = gmdate("Y-m-d H:i:s"); $emp_data['isactive'] = 1; $employeeModal->SaveorUpdateEmployeeData($emp_data, ''); //end of saving into employee table. $tableid = $user_id; $actionflag = 1; $menuID = ORGANISATIONINFO; try { $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); } catch (Exception $e) { } $managementUsersData = $deptModel->getDeptHeads(); $opt = ''; foreach ($managementUsersData as $record) { $opt .= sapp_Global::selectOptionBuilder($record['id'], $record['userfullname']); } $this->view->managementUsersData = $opt; /* Send Mail to the user */ $base_url = 'http://' . $this->getRequest()->getHttpHost() . $this->getRequest()->getBaseUrl(); $view = $this->getHelper('ViewRenderer')->view; $this->view->emp_name = $userfullname; $this->view->password = $emppassword; $this->view->emp_id = $employeeId; $this->view->base_url = $base_url; $text = $view->render('mailtemplates/newpassword.phtml'); $options['subject'] = APPLICATION_NAME . ' login Credentials'; $options['header'] = 'Greetings from Sentrifugo'; $options['toEmail'] = $emailaddress; $options['toName'] = $this->view->emp_name; $options['message'] = $text; $result = sapp_Global::_sendEmail($options); /* END */ $this->view->eventact = 'added'; $close = 'close'; $this->view->popup = $close; } else { $messages = $emp_form->getMessages(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } $this->view->msgarray = $msgarray; } } $this->view->msgarray = $msgarray; $this->view->report_opt = $report_opt; $this->view->controllername = $controllername; $this->view->emp_form = $emp_form; }
public function closeappraisal($appraisalid, $status, $enablestepflag, $buid, $perfflag, $deptid) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; $loginuserArr = array('loginuserid' => $loginUserId, 'loginuserrole' => $loginuserRole, 'loginusergroup' => $loginuserGroup); } $appraisalinitmodel = new Default_Model_Appraisalinit(); $appraisalqsmodel = new Default_Model_Appraisalqsmain(); $appraisalempratingsmodel = new Default_Model_Appraisalemployeeratings(); $usersmodel = new Default_Model_Users(); $departmentsmodel = new Default_Model_Departments(); $announcementsModel = new Default_Model_Announcements(); $deptids = ''; $title = 'Performance Appraisal'; $description = 'Performance appraisal initialized'; $result = array(); $employeeidArr = array(); if ($status == 2) { $statustext = 'Closed'; } else { $statustext = 'Forcefully Closed'; } if ($appraisalid) { $trDb = Zend_Db_Table::getDefaultAdapter(); $trDb->beginTransaction(); try { /** Start * Updating initialization table */ $init_Arr = array('status' => $status, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s")); $where = array('id=?' => $appraisalid); $Id = $appraisalinitmodel->SaveorUpdateAppraisalInitData($init_Arr, $where); /** End */ /** Start * Sending Mails to employees */ if ($enablestepflag == 1) { $employeeidArr = $appraisalqsmodel->getemployeeIDs($appraisalid); } else { $employeeidArr = $appraisalempratingsmodel->getEmployeeIds($appraisalid); } if (!empty($employeeidArr)) { foreach ($employeeidArr as $emp) { $employeeDetailsArr = $usersmodel->getUserDetailsByID($emp['employee_id'], ''); if (!empty($employeeDetailsArr)) { $options['subject'] = APPLICATION_NAME . ': Performance Appraisal ' . $statustext; $options['header'] = 'Performance Appraisal ' . $statustext; $options['toEmail'] = $employeeDetailsArr[0]['emailaddress']; $options['toName'] = $employeeDetailsArr[0]['userfullname']; $options['message'] = 'Dear ' . $employeeDetailsArr[0]['userfullname'] . ', performance appraisal ' . $statustext; $options['cron'] = 'yes'; // sapp_Global::_sendEmail($options); } } } /** * End */ /** * Mail to performance Appraisal Group */ if (defined('PER_APPRAISAL_' . $buid) && $buid != '') { $options['subject'] = APPLICATION_NAME . ': Performance Appraisal ' . $statustext; $options['header'] = 'Performance Appraisal'; $options['toEmail'] = constant('PER_APPRAISAL_' . $buid); $options['toName'] = 'Performance Appraisal'; $options['message'] = 'Performance appraisal initiated ' . $statustext; $options['cron'] = 'yes'; // sapp_Global::_sendEmail($options); } /** * End */ /** Start * Announecements */ if ($perfflag == 1) { $deptArr = $departmentsmodel->getAllDeptsForUnit($buid); if (!empty($deptArr)) { foreach ($deptArr as $dept) { $deptids .= $dept['id'] . ','; } $deptids = rtrim($deptids, ','); } } else { $deptids = $deptid; } /* $announcement_arr = array( 'businessunit_id' => $buid!=''?$buid:NULL, 'department_id' => $deptids!=''?$deptids:NULL, 'title' => $title, 'description' => $description, 'attachments' => NULL, 'status' => 2, 'isactive' => 1, 'createdby' => $loginUserId, 'createdby_role'=>$loginuserRole, 'createdby_group'=>$loginuserGroup, 'modifiedby' => $loginUserId, 'modifiedby_role'=>$loginuserRole, 'modifiedby_group'=>$loginuserGroup, 'createddate'=>gmdate("Y-m-d H:i:s"), 'modifieddate'=>gmdate("Y-m-d H:i:s") ); $Id = $announcementsModel->SaveorUpdateAnnouncementsData($announcement_arr, ''); */ /** * End */ $trDb->commit(); $result['msg'] = 'Performance Appraisal ' . $statustext; $result['result'] = 'success'; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Performance Appraisal " . $statustext)); } catch (Exception $e) { $trDb->rollBack(); $result['msg'] = $e->getMessage(); $result['result'] = 'error'; } } return $result; }
public function save($appraisalconfigform) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $appraisalconfigmodel = new Default_Model_Appraisalconfig(); $departmentsmodel = new Default_Model_Departments(); $businessunitsmodel = new Default_Model_Businessunits(); $msgarray = array(); $resultArr = array(); //$empstring = ''; //$prevBusinessunit = ''; $errorflag = "true"; $id = $this->_request->getParam('id'); $businessunit_id = $this->_request->getParam('businessunit_id'); $performance_app_flag = $this->_request->getParam('performance_app_flag'); $department_id = $this->_request->getParam('department_id'); $appraisal_mode = $this->_request->getParam('appraisal_mode'); $approval_selection = $this->_request->getParam('approval_selection'); $appraisal_ratings = $this->_request->getParam('appraisal_ratings'); /** Start * Validating selection of department if implementaion is department wise */ if ($performance_app_flag == 0) { if ($department_id == '') { $msgarray['department_id'] = 'Please select department.'; $errorflag = "false"; } } /** End validating selection of department */ /** * End Approver level selection */ /** Start Validating unique service desk department */ if ($businessunit_id != '' && $id == '') { $appraisalconigfArr = $appraisalconfigmodel->checkuniqueAppraisalConfigData($businessunit_id, $performance_app_flag, $department_id); if (!empty($appraisalconigfArr)) { if ($appraisalconigfArr[0]['count'] > 0) { $msgarray['department_id'] = 'Please select a different department.'; $errorflag = "false"; } } } /** End * Validating uniques service desk department */ /** * Validating if pending requests are there when changing the implementation */ if ($businessunit_id != '') { $implementationdata = $businessunitsmodel->getSingleUnitData($businessunit_id); //echo "<pre>"; print_r($implementationdata);echo "</pre>"; die; if (!empty($implementationdata)) { $prevBusinessunit = $implementationdata['service_desk_flag']; } if ($performance_app_flag != '') { if ($prevBusinessunit != $performance_app_flag) { $pendingRequestdata = $appraisalconfigmodel->getPendingAppraisalConfigData($businessunit_id); if (!empty($pendingRequestdata)) { if ($pendingRequestdata[0]['count'] > 0) { $msgarray['performance_app_flag'] = 'Applicability cannot be changed as requests are in pending state.'; $errorflag = "false"; } } } } } /** * End validating pending request checking */ $db = Zend_Db_Table::getDefaultAdapter(); $db->beginTransaction(); if ($appraisalconfigform->isValid($this->_request->getPost()) && $errorflag == 'true') { try { $menumodel = new Default_Model_Menu(); $actionflag = ''; $tableid = ''; $data = array('businessunit_id' => $businessunit_id, 'department_id' => $department_id != '' ? $department_id : NULL, 'performance_app_flag' => $performance_app_flag, 'appraisal_mode' => $appraisal_mode, 'approval_selection' => $approval_selection, 'appraisal_ratings' => $appraisal_ratings, 'module_flag' => 1, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); if ($id != '') { /* for Update record */ $where = array('id=?' => $id); $actionflag = 2; } else { /* for Insert new record */ $data['createdby'] = $loginUserId; $data['createddate'] = gmdate("Y-m-d H:i:s"); $data['isactive'] = 1; $where = ''; $actionflag = 1; } $Id = $appraisalconfigmodel->SaveorUpdateAppraisalConfigData($data, $where); if ($Id == 'update') { $tableid = $id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Configuration updated successfully.")); } else { $tableid = $Id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Configuration added successfully.")); } $menuidArr = $menumodel->getMenuObjID('/appraisalconfig'); $menuID = $menuidArr[0]['id']; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); $db->commit(); $this->_redirect('appraisalconfig'); //throw new Exception("Some error message"); } catch (Exception $e) { $db->rollBack(); //echo $e->getMessage(); // echo $e->getTraceAsString(); //$msgarray['service_desk_id'] = "Something went wrong, please try again."; return $msgarray; } } else { $messages = $appraisalconfigform->getMessages(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } if (isset($businessunit_id) && $businessunit_id != '') { if ($performance_app_flag == 0) { $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id); if (!empty($departmentlistArr)) { //echo "<pre>";print_r($departmentlistArr); echo "</pre>"; foreach ($departmentlistArr as $departmentlist) { $appraisalconfigform->department_id->addMultiOption($departmentlist['id'], utf8_encode($departmentlist['deptname'])); } } } // $department_id = $departmentlist['deptname']; //echo "dept:".$department_id; die; //echo $performance_app_flag; die; if (isset($department_id) && $department_id != 0 && $department_id != '') { $appraisalconfigform->setDefault('department_id', $department_id); } } //echo "<pre>";print_r($msgarray);echo "</pre>"; die; return $msgarray; } }
public function deleteAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $id = $this->_request->getParam('objid'); $messages['message'] = ''; $actionflag = 3; if ($id) { $departmentsmodel = new Default_Model_Departments(); $checkemployees = $departmentsmodel->checkemployeestodepartment($id); if ($checkemployees == 0) { $data = array('isactive' => 0); $where = array('id=?' => $id); $Id = $departmentsmodel->SaveorUpdateDepartmentsUnits($data, $where); if ($Id == 'update') { $menuID = DEPARTMENTS; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $id); $messages['message'] = 'Department deleted successfully.'; $messages['msgtype'] = 'success'; } else { $messages['message'] = 'Department cannot be deleted.'; $messages['msgtype'] = 'error'; } } else { $messages['message'] = 'Please re-assign the employees to another department'; $messages['msgtype'] = 'error'; } } else { $messages['message'] = 'Department cannot be deleted.'; $messages['msgtype'] = 'error'; } $this->_helper->json($messages); }
public function getdepartmentsAction() { $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('getdepartments', 'html')->initContext(); $businessunit_id = $this->_request->getParam('business_id'); $con = $this->_request->getParam('con'); $employeeform = new Default_Form_employee(); $leavemanagementform = new Default_Form_leavemanagement(); $flag = ''; $departmentsmodel = new Default_Model_Departments(); $appraisalconfigmodel = new Default_Model_Appraisalconfig(); if ($con == 'leavemanagement') { $leavemanagementmodel = new Default_Model_Leavemanagement(); $departmentidsArr = $leavemanagementmodel->getActiveDepartmentIds(); $depatrmentidstr = ''; $newarr = array(); if (!empty($departmentidsArr)) { $where = ''; for ($i = 0; $i < sizeof($departmentidsArr); $i++) { $newarr1[] = array_push($newarr, $departmentidsArr[$i]['deptid']); } $depatrmentidstr = implode(",", $newarr); foreach ($newarr as $deparr) { $where .= " id!= {$deparr} AND "; } $where = trim($where, " AND"); $querystring = "Select d.id,d.deptname from main_departments as d where d.unitid={$businessunit_id} and d.isactive=1 and {$where} "; $querystring .= " order by d.deptname"; $uniquedepartmentids = $departmentsmodel->getUniqueDepartments($querystring); if (empty($uniquedepartmentids)) { $flag = 'true'; } $this->view->uniquedepartmentids = $uniquedepartmentids; } else { $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id); if (empty($departmentlistArr)) { $flag = 'true'; } $this->view->departmentlistArr = $departmentlistArr; } } else { if ($con == 'appraisal_config') { $departmentlistArr = $appraisalconfigmodel->getExistDepartments($businessunit_id); $dept_arr = array(); foreach ($departmentlistArr as $dept) { $deptid = $dept['department_id']; array_push($dept_arr, $deptid); } $dept_arr = array_filter($dept_arr); $dept_arr = array_unique($dept_arr); $dept_list = implode(',', $dept_arr); $departmentlistArr = $appraisalconfigmodel->getDepartments($businessunit_id, $dept_list); if (empty($departmentlistArr)) { $flag = 'true'; } $this->view->departmentlistArr = $departmentlistArr; } else { $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id); if (empty($departmentlistArr)) { $flag = 'true'; } $this->view->departmentlistArr = $departmentlistArr; } } $this->view->employeeform = $employeeform; $this->view->leavemanagementform = $leavemanagementform; $this->view->flag = $flag; if ($con != '') { $this->view->con = $con; } }
public function viewAction() { $orgInfoModel = new Default_Model_Organisationinfo(); $getorgData = $orgInfoModel->getorgrecords(); if (!empty($getorgData)) { $orgdata = ''; $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } $permission = 'No'; $id = $this->getRequest()->getParam('id'); if (is_numeric($id) && $id > 0) { $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } $objName = 'businessunits'; $businessunitsform = new Default_Form_businessunits(); $deptModel = new Default_Model_Departments(); $businessunitsform->removeElement("submit"); $elements = $businessunitsform->getElements(); if (count($elements) > 0) { foreach ($elements as $key => $element) { if ($key != "Cancel" && $key != "Edit" && $key != "Delete" && $key != "Attachments") { $element->setAttrib("disabled", "disabled"); } } } $businessunitsmodel = new Default_Model_Businessunits(); $data = $businessunitsmodel->getSingleUnitData($id); if (!empty($data)) { $businessunitsform->populate($data); $countryId = $data['country']; $stateId = $data['state']; $cityId = $data['city']; if ($countryId && $stateId) { $statesmodel = new Default_Model_States(); $citiesmodel = new Default_Model_Cities(); $statesData = $statesmodel->getBasicStatesList($countryId); $citiesData = $citiesmodel->getBasicCitiesList($stateId); foreach ($statesData as $res) { $businessunitsform->state->addMultiOption($res['state_id_org'], utf8_encode($res['state'])); } foreach ($citiesData as $res) { $businessunitsform->city->addMultiOption($res['city_org_id'], utf8_encode($res['city'])); } $businessunitsform->setDefault('country', $countryId); $businessunitsform->setDefault('state', $stateId); $businessunitsform->setDefault('city', $cityId); } $st_date = sapp_Global::change_date($data["startdate"], 'view'); $businessunitsform->setDefault('start_date', $st_date); $permission = sapp_Global::_checkprivileges(BUSINESSUNITS, $loginuserGroup, $loginuserRole, 'edit'); $deptData = $deptModel->getAllDeptsForUnit($id); $this->view->deptData = sizeof($deptData); $this->view->dataArray = $this->departmentGrid($id); $this->view->ermsg = ''; } else { $this->view->ermsg = 'nodata'; } $this->view->editpermission = $permission; $this->view->controllername = $objName; $this->view->id = $id; $this->view->form = $businessunitsform; $this->view->role = $loginuserRole; } else { $this->view->ermsg = 'nodata'; } } else { $orgdata = 'noorgdata'; $this->view->orgdata = $orgdata; } }
/** * * Ajax call to fetch depts for multi business units */ public function getmultideptsAction() { $bu_id = $this->_getParam('bu_id', null); $options = ""; if (!empty($bu_id)) { $bu_id = implode(',', $bu_id); $dept_model = new Default_Model_Departments(); $dept_data = $dept_model->getDepartmentWithCodeList_bu($bu_id); if (!empty($dept_data)) { foreach ($dept_data as $dept) { $options .= "<option value='" . $dept['id'] . "'>" . $dept['unitcode'] . " " . $dept['deptname'] . "</option>"; } } } $this->_helper->json(array('options' => $options)); }
public function save($servicedeskconfform) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $servicedeskconfmodel = new Default_Model_Servicedeskconf(); $employeemodel = new Default_Model_Employee(); $departmentsmodel = new Default_Model_Departments(); $businessunitsmodel = new Default_Model_Businessunits(); $msgarray = array(); $resultArr = array(); $empstring = ''; $prevBusinessunit = ''; $errorflag = "true"; $id = $this->_request->getParam('id'); $businessunit_id = $this->_request->getParam('businessunit_id'); $service_desk_flag = $this->_request->getParam('service_desk_flag'); $department_id = $this->_request->getParam('department_id'); $service_desk_id = $this->_request->getParam('service_desk_id'); $request_recievers = $this->_request->getParam('request_recievers'); $approvingauthority = $this->_request->getParam('approvingauthority'); $approver_1 = $this->_request->getParam('approver_1'); $approver_2 = $this->_request->getParam('approver_2'); $approver_3 = $this->_request->getParam('approver_3'); $cc_mail_recievers = $this->_request->getParam('cc_mail_recievers'); $attachment = $this->_request->getParam('attachment'); $description = trim($this->_request->getParam('description')); /** Start * Validating Request reciever and CC reciever * If both have same values then throwing an error */ if (!empty($request_recievers)) { if (!empty($cc_mail_recievers)) { $resultArr = array_intersect($request_recievers, $cc_mail_recievers); } } if (!empty($resultArr)) { $msgarray['cc_mail_recievers'] = 'Executors and request viewers cannot be same.'; $errorflag = "false"; } /** End validating Request reciever and CC reciever */ /** Start * Validating selection of department if implementaion is department wise */ if ($service_desk_flag == 0) { if ($department_id == '') { $msgarray['department_id'] = 'Please select department.'; $errorflag = "false"; } } /** End validating selection of department */ /** Start * Validating approver level selection. */ if ($approvingauthority != '') { if ($approvingauthority == 1) { if ($approver_1 == '') { $msgarray['approver_1'] = 'Please select approver 1.'; $errorflag = "false"; } } else { if ($approvingauthority == 2) { if ($approver_1 == '') { $msgarray['approver_1'] = 'Please select approver 1.'; $errorflag = "false"; } if ($approver_2 == '') { $msgarray['approver_2'] = 'Please select approver 2.'; $errorflag = "false"; } } else { if ($approver_1 == '') { $msgarray['approver_1'] = 'Please select approver 1.'; $errorflag = "false"; } if ($approver_2 == '') { $msgarray['approver_2'] = 'Please select approver 2.'; $errorflag = "false"; } if ($approver_3 == '') { $msgarray['approver_3'] = 'Please select approver 3.'; $errorflag = "false"; } } } } /** * End Approver level selection */ /** Start Validating unique service desk department */ if ($businessunit_id != '' && $service_desk_id != '' && $id == '') { $serviceconfArr = $servicedeskconfmodel->checkuniqueServiceConfData($businessunit_id, $service_desk_flag, $service_desk_id, $department_id); if (!empty($serviceconfArr)) { if ($serviceconfArr[0]['count'] > 0) { $msgarray['service_desk_id'] = 'Please select a different department.'; $errorflag = "false"; } } } /** End * Validating uniques service desk department */ /** * Validating if pending requests are there when changing the implementation */ if ($businessunit_id != '') { $implementationdata = $businessunitsmodel->getSingleUnitData($businessunit_id); if (!empty($implementationdata)) { $prevBusinessunit = $implementationdata['service_desk_flag']; } if ($service_desk_flag != '') { if ($prevBusinessunit != $service_desk_flag) { $pendingRequestdata = $servicedeskconfmodel->getPendingServiceReqData($businessunit_id); if (!empty($pendingRequestdata)) { if ($pendingRequestdata[0]['count'] > 0) { $msgarray['service_desk_flag'] = 'Applicability cannot be changed as requests are in pending state.'; $errorflag = "false"; } } } } } /** * End validating pending request checking */ $db = Zend_Db_Table::getDefaultAdapter(); $db->beginTransaction(); if ($servicedeskconfform->isValid($this->_request->getPost()) && $errorflag == 'true') { try { $menumodel = new Default_Model_Menu(); $actionflag = ''; $tableid = ''; $req_rec_string = ''; $cc_string = ''; $req_rec_string = implode(',', $request_recievers); if (!empty($cc_mail_recievers)) { $cc_string = implode(',', $cc_mail_recievers); } $data = array('businessunit_id' => $businessunit_id, 'department_id' => $department_id != '' ? $department_id : NULL, 'service_desk_flag' => $service_desk_flag, 'service_desk_id' => $service_desk_id, 'request_recievers' => $req_rec_string, 'cc_mail_recievers' => $cc_string != '' ? $cc_string : NULL, 'approver_1' => $approver_1 != '' ? $approver_1 : NULL, 'approver_2' => $approver_2 != '' ? $approver_2 : NULL, 'approver_3' => $approver_3 != '' ? $approver_3 : NULL, 'attachment' => $attachment != '' ? $attachment : NULL, 'description' => $description != '' ? $description : NULL, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); if ($id != '') { $where = array('id=?' => $id); $actionflag = 2; } else { $data['createdby'] = $loginUserId; $data['createddate'] = gmdate("Y-m-d H:i:s"); $data['isactive'] = 1; $where = ''; $actionflag = 1; } $budata = array('service_desk_flag' => $service_desk_flag, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); $buwhere = array('id=?' => $businessunit_id); /* If implementation wise is changed then all the previous records are inactivated and new record is inserted * Else normal update - insert will take place. */ if ($prevBusinessunit != $service_desk_flag) { $prevBUData = array('isactive' => 0, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); $prevBUwhere = array('businessunit_id=?' => $businessunit_id); /* Inactivating previous records */ $prevBUId = $servicedeskconfmodel->SaveorUpdateServiceConfData($prevBUData, $prevBUwhere); $data['createdby'] = $loginUserId; $data['createddate'] = gmdate("Y-m-d H:i:s"); $data['isactive'] = 1; $where = ''; $actionflag = 1; /* Inserting new record */ $Id = $servicedeskconfmodel->SaveorUpdateServiceConfData($data, $where); } else { /* Insert or update based on action */ $Id = $servicedeskconfmodel->SaveorUpdateServiceConfData($data, $where); } /* Updating service desk flag in business unit table */ $BId = $businessunitsmodel->SaveorUpdateBusinessUnits($budata, $buwhere); if ($Id == 'update') { $tableid = $id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Setting updated successfully.")); } else { $tableid = $Id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Setting added successfully.")); } $menuidArr = $menumodel->getMenuObjID('/servicedeskconf'); $menuID = $menuidArr[0]['id']; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); $db->commit(); $this->_redirect('servicedeskconf'); } catch (Exception $e) { $db->rollBack(); $msgarray['service_desk_id'] = "Something went wrong, please try again."; return $msgarray; } } else { $messages = $servicedeskconfform->getMessages(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } if (isset($businessunit_id) && $businessunit_id != '') { $employeeData = $employeemodel->getEmployeesForServiceDesk($businessunit_id, $department_id); $servicedeskData = $servicedeskconfmodel->getActiveServiceDepartments($businessunit_id, $department_id); if ($id == '') { $servicedeskconfform->service_desk_id->clearMultiOptions(); } $servicedeskconfform->request_recievers->clearMultiOptions(); $servicedeskconfform->cc_mail_recievers->clearMultiOptions(); if (!empty($employeeData)) { $servicedeskconfform->request_recievers->addMultiOption('', 'Select executor'); $servicedeskconfform->cc_mail_recievers->addMultiOption('', 'Select request viewer'); foreach ($employeeData as $empres) { $servicedeskconfform->request_recievers->addMultiOption($empres['user_id'], utf8_encode($empres['userfullname'])); $servicedeskconfform->cc_mail_recievers->addMultiOption($empres['user_id'], utf8_encode($empres['userfullname'])); } } if ($id == '') { if (!empty($servicedeskData)) { $servicedeskconfform->service_desk_id->addMultiOption('', 'Select category'); foreach ($servicedeskData as $servicedeskres) { $servicedeskconfform->service_desk_id->addMultiOption($servicedeskres['id'], utf8_encode($servicedeskres['service_desk_name'])); } } } if ($service_desk_flag == 0) { $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id); if (!empty($departmentlistArr)) { foreach ($departmentlistArr as $departmentlist) { $servicedeskconfform->department_id->addMultiOption($departmentlist['id'], utf8_encode($departmentlist['deptname'])); } } } if (isset($service_desk_id) && $service_desk_id != 0 && $service_desk_id != '' && $id == '') { $servicedeskconfform->setDefault('service_desk_id', $service_desk_id); } if (isset($department_id) && $department_id != 0 && $department_id != '') { $servicedeskconfform->setDefault('department_id', $department_id); } } if (isset($approvingauthority) && $approvingauthority != '') { if ($approvingauthority == 1) { $approver1Data = $employeemodel->getApproverForServiceDesk($businessunit_id, $department_id, $empstring); if (!empty($approver1Data)) { foreach ($approver1Data as $app1res) { $servicedeskconfform->approver_1->addMultiOption($app1res['user_id'], utf8_encode($app1res['userfullname'])); } } } else { if ($approvingauthority == 2) { $approver1Data = $employeemodel->getApproverForServiceDesk($businessunit_id, $department_id, $empstring); if (!empty($approver1Data)) { foreach ($approver1Data as $app1res) { $servicedeskconfform->approver_1->addMultiOption($app1res['user_id'], utf8_encode($app1res['userfullname'])); } } if (isset($approver_1) && $approver_1 != '') { $empstring = $approver_1; $approver2Data = $employeemodel->getApproverForServiceDesk($businessunit_id, $department_id, $empstring); if (!empty($approver2Data)) { foreach ($approver2Data as $app2res) { $servicedeskconfform->approver_2->addMultiOption($app2res['user_id'], utf8_encode($app2res['userfullname'])); } } } } else { $approver1Data = $employeemodel->getApproverForServiceDesk($businessunit_id, $department_id, $empstring); if (!empty($approver1Data)) { foreach ($approver1Data as $app1res) { $servicedeskconfform->approver_1->addMultiOption($app1res['user_id'], utf8_encode($app1res['userfullname'])); } } if (isset($approver_1) && $approver_1 != '') { $empstring = $approver_1; $approver2Data = $employeemodel->getApproverForServiceDesk($businessunit_id, $department_id, $empstring); if (!empty($approver2Data)) { foreach ($approver2Data as $app2res) { $servicedeskconfform->approver_2->addMultiOption($app2res['user_id'], utf8_encode($app2res['userfullname'])); } } } if (isset($approver_2) && $approver_2 != '') { $empstring = $empstring . ',' . $approver_2; $approver3Data = $employeemodel->getApproverForServiceDesk($businessunit_id, $department_id, $empstring); if (!empty($approver3Data)) { foreach ($approver3Data as $app3res) { $servicedeskconfform->approver_3->addMultiOption($app3res['user_id'], utf8_encode($app3res['userfullname'])); } } } } } if (isset($approver_1) && $approver_1 != 0 && $approver_1 != '') { $servicedeskconfform->setDefault('approver_1', $approver_1); } if (isset($approver_2) && $approver_2 != 0 && $approver_2 != '') { $servicedeskconfform->setDefault('approver_2', $approver_2); } if (isset($approver_3) && $approver_3 != 0 && $approver_3 != '') { $servicedeskconfform->setDefault('approver_3', $approver_3); } } return $msgarray; } }
/** * This function is used for ajax call to get departments based on * business unit id. * @parameters * @param {Integer} bunitid = id of business unit. * * @return Array of departments in json format. */ public function getdepartmentsAction() { $bunit_id = $this->_getParam('bunitid', null); $dept_model = new Default_Model_Departments(); $options_data = ""; $options_data .= sapp_Global::selectOptionBuilder('', 'Select Department'); if ($bunit_id != '') { $dept_data = $dept_model->getAllDeptsForUnit($bunit_id); foreach ($dept_data as $dept) { $options_data .= sapp_Global::selectOptionBuilder($dept['id'], $dept['deptname']); } } $this->_helper->json(array('options' => $options_data)); }
public function editpopupAction() { Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/"); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $id = $this->getRequest()->getParam('id'); $userid = $this->getRequest()->getParam('unitId'); if ($id == '') { $id = $loginUserId; } // For open the form in popup... $empjobhistoryform = new Default_Form_empjobhistory(); $empjobhistoryModel = new Default_Model_Empjobhistory(); $employeeModel = new Default_Model_Employee(); $positionModel = new Default_Model_Positions(); $departmentModel = new Default_Model_Departments(); $jobtitleModel = new Default_Model_Jobtitles(); $clientsModel = new Timemanagement_Model_Clients(); if ($id) { $employeeArr = $employeeModel->getActiveEmployeeData($userid); if (!empty($employeeArr)) { if (isset($employeeArr[0]['businessunit_id']) && $employeeArr[0]['businessunit_id'] != '') { $departmentArr = $departmentModel->getDepartmentList($employeeArr[0]['businessunit_id']); if (!empty($departmentArr)) { $empjobhistoryform->department->addMultiOption('', 'Select Department'); foreach ($departmentArr as $departmentres) { $empjobhistoryform->department->addMultiOption($departmentres['id'], $departmentres['deptname']); } } } else { $departmentArr = $departmentModel->getTotalDepartmentList(); if (!empty($departmentArr)) { $empjobhistoryform->department->addMultiOption('', 'Select Department'); foreach ($departmentArr as $departmentres) { $empjobhistoryform->department->addMultiOption($departmentres['id'], $departmentres['deptname']); } } } } $positionArr = $positionModel->getTotalPositionList(); if (!empty($positionArr)) { $empjobhistoryform->positionheld->addMultiOption('', 'Select Position'); foreach ($positionArr as $positionres) { $empjobhistoryform->positionheld->addMultiOption($positionres['id'], $positionres['positionname']); } } $jobtitleArr = $jobtitleModel->getJobTitleList(); if (!empty($jobtitleArr)) { $empjobhistoryform->jobtitleid->addMultiOption('', 'Select Job Title'); foreach ($jobtitleArr as $jobtitleres) { $empjobhistoryform->jobtitleid->addMultiOption($jobtitleres['id'], $jobtitleres['jobtitlename']); } } $clientsArr = $clientsModel->getActiveClientsData(); if (!empty($clientsArr)) { $empjobhistoryform->client->addMultiOption('', 'Select a Client'); foreach ($clientsArr as $clientsres) { $empjobhistoryform->client->addMultiOption($clientsres['id'], $clientsres['client_name']); } } $data = $empjobhistoryModel->getsingleEmpJobHistoryData($id); if (!empty($data)) { $empjobhistoryform->populate($data[0]); $empjobhistoryform->setDefault('department', $data[0]['department']); $empjobhistoryform->setDefault('positionheld', $data[0]['positionheld']); $empjobhistoryform->setDefault('jobtitleid', $data[0]['jobtitleid']); $empjobhistoryform->setDefault('client', $data[0]['client_id']); if (isset($data[0]['start_date']) && $data[0]['start_date'] != '') { $start_date = sapp_Global::change_date($data[0]['start_date'], 'view'); $empjobhistoryform->start_date->setValue($start_date); } if (isset($data[0]['end_date']) && $data[0]['end_date'] != '') { $end_date = sapp_Global::change_date($data[0]['end_date'], 'view'); $empjobhistoryform->end_date->setValue($end_date); } } } $empjobhistoryform->setAttrib('action', BASE_URL . 'empjobhistory/editpopup/unitId/' . $userid); $this->view->form = $empjobhistoryform; $this->view->controllername = 'empjobhistory'; if ($this->getRequest()->getPost()) { $result = $this->save($empjobhistoryform, $userid); $this->view->msgarray = $result; } }
public function editAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $businessunit_id = $auth->getStorage()->read()->businessunit_id; $department_id = $auth->getStorage()->read()->department_id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } $this->view->loginuserRole = $loginuserRole; $this->view->loginuserGroup = $loginuserGroup; $id = $this->getRequest()->getParam('id'); $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } $appraisalinitform = new Default_Form_Appraisalinit(); $app_rating_model = new Default_Model_Appraisalratings(); $appraisalinitform->submit->setLabel('Update'); $disable_arr = array(); $ratings = ''; $eligibilityvalue = ''; $ratingsflag = 'false'; $data = array(); try { if ($id != '') { if (is_numeric($id) && $id > 0) { $appraisalinitmodel = new Default_Model_Appraisalinit(); $checkRatingsExists = $app_rating_model->getAppraisalRatingsbyInitId($id); if (!empty($checkRatingsExists)) { $ratingsflag = 'true'; } $this->view->ratingsflag = $ratingsflag; $data = $appraisalinitmodel->getConfigData($id); if (!empty($data)) { $data = $data[0]; $performance_app_flag = isset($data['performance_app_flag']) ? $data['performance_app_flag'] : ''; $this->view->performance_app_flag = $performance_app_flag; $app_rating_type = isset($data['appraisal_ratings']) ? $data['appraisal_ratings'] : 0; $this->view->init_id = $id; if ($data['initialize_status'] == 1) { $this->appraisalinitialized($data); } else { if ($loginuserRole != SUPERADMINROLE && $loginuserGroup != MANAGEMENT_GROUP) { // $appImpleData = sapp_PerformanceHelper::check_per_implmentation($businessunit_id, $department_id); $empSummaryModel = new Default_Model_Employee(); $empData = $empSummaryModel->getEmp_from_summary($loginUserId); $appraisalinitform->businessunit_name->setValue($empData['businessunit_name']); if ($performance_app_flag == 0) { $appraisalinitform->department_name->setValue($empData['department_name']); } else { $appraisalinitform->removeElement("department_name"); } } else { // $appImpleData = sapp_PerformanceHelper::check_per_implmentation($data['businessunit_id'], $data['department_id']); $businessunits = $appraisalinitmodel->getbusinnessunits_admin($data['businessunit_id']); $this->view->businessunits = $businessunits; $dept_model = new Default_Model_Departments(); if ($performance_app_flag == 0) { $dept_data = $dept_model->getParicularDepartmentId($data['department_id']); if (count($dept_data) > 0) { $dept_data = $dept_data[0]; $appraisalinitform->department_id->addMultiOption($dept_data['id'], $dept_data['deptname']); } } } // $this->view->imple_data = $appImpleData; $employmentstatusModel = new Default_Model_Employmentstatus(); $employmentStatusData = $employmentstatusModel->getempstatusActivelist(); if (!empty($employmentStatusData)) { foreach ($employmentStatusData as $employmentStatusres) { $appraisalinitform->eligibility->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']); $appraisalinitform->eligibility_hidden->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']); $eligibilityvalue .= $employmentStatusres['workcodename'] . ','; } $eligibilityvalue = rtrim($eligibilityvalue, ','); } $category_model = new Default_Model_Appraisalcategory(); $category_data = $category_model->getAppraisalCategorysData(); foreach ($category_data as $cdata) { $appraisalinitform->category_id->addMultiOption($cdata['id'], $cdata['category_name']); } // Set default values for 'To Year' field $following_year = $data["from_year"] + 1; $appraisalinitform->to_year->addMultiOptions(array($data["from_year"] => $data["from_year"], $following_year => $following_year)); $appraisalinitform->populate($data); // if($appImpleData['appraisal_ratings'] == 1) // if($app_rating_type == 1) // $ratings = '1-5'; // else // $ratings = '1-10'; $appraisalinitform->appraisal_ratings->setValue($app_rating_type); if ($eligibilityvalue != '') { $appraisalinitform->eligibility_value->setValue($eligibilityvalue); } $appraisalinitform->setAttrib('action', BASE_URL . 'appraisalinit/edit/id/' . $id); $appraisalinitform->eligibilityflag->setValue('1'); $appraisalinitform->eligibility_hidden->setAttrib("disabled", "disabled"); /*$cnt = $appraisalinitmodel->check_delete($id); if($cnt > 0) { $disable_arr[] = "management_appraisal"; }*/ if ($data['enable_step'] == 2) { $appraisalinitform->enable_step->removeMultiOption(1); } $this->view->period_disp = $this->period_helper($data['appraisal_mode'], $data['appraisal_period']); $this->view->data = $data; $this->view->category_id_value = $data['category_id']; $this->view->businessunit_id = $businessunit_id; $this->view->employmentStatusData = $employmentStatusData; $this->view->eligibilityvalue = $eligibilityvalue; } } else { $this->view->ermsg = 'norecord'; } } else { $this->view->ermsg = 'norecord'; } } else { $this->view->ermsg = ''; } } catch (Exception $e) { $this->view->ermsg = 'nodata'; } $this->view->eligibility_value = isset($data['eligibility']) ? $data['eligibility'] : ''; $this->view->form = $appraisalinitform; if ($this->getRequest()->getPost()) { $result = $this->save($appraisalinitform, $is_edit = 1); $this->view->msgarray = $result; } //$this->view->disable_arr = $disable_arr; if (!empty($data) && $data['initialize_status'] == 1) { $this->render('edit'); } else { $this->render('form'); } }
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; } }
public function updateempdetails($employeeform) { $emproleStr = ''; $roleArr = array(); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $usersModel = new Default_Model_Usermanagement(); $employeeModal = new Default_Model_Employee(); $businessunit_id = $this->_request->getParam('businessunit_id', null); $department_id = $this->_request->getParam('department_id', null); $reporting_manager = $this->_request->getParam('reporting_manager', null); $jobtitle_id = $this->_request->getParam('jobtitle_id', null); $position_id = $this->_request->getParam('position_id', null); $user_id = $this->_getParam('user_id', null); $prefix_id = $this->_getParam('prefix_id', null); $extension_number = $this->_getParam('extension_number', null); if ($employeeform->isValid($this->_request->getPost())) { $id = $this->_request->getParam('id'); $emp_status_id = $this->_request->getParam('emp_status_id', null); $date_of_joining = $this->_request->getParam('date_of_joining', null); $date_of_joining = sapp_Global::change_date($date_of_joining, 'database'); $date_of_leaving = $this->_request->getParam('date_of_leaving', null); $date_of_leaving = sapp_Global::change_date($date_of_leaving, 'database'); $years_exp = $this->_request->getParam('years_exp'); //FOR USER table $employeeId = $this->_getParam('employeeId', null); $modeofentry = $this->_getParam('modeofentry', null); $hid_modeofentry = $this->_getParam('hid_modeofentry', null); $other_modeofentry = $this->_getParam('other_modeofentry', null); $userfullname = $this->_getParam('userfullname', null); $candidatereferredby = $this->_getParam('candidatereferredby', null); $rccandidatename = $this->_getParam('rccandidatename', null); $emprole = $this->_getParam('emprole', null); //roleid_group_id if ($emprole != "") { $roleArr = explode('_', $emprole); if (!empty($roleArr)) { $emproleStr = $roleArr[0]; } } $emailaddress = $this->_getParam('emailaddress', null); $tmp_name = $this->_request->getParam('tmp_emp_name', null); $act_inact = $this->_request->getParam("act_inact", null); //end of user table $date = new Zend_Date(); $menumodel = new Default_Model_Menu(); $empstatusarray = array(8, 9, 10); $actionflag = ''; $tableid = ''; if ($modeofentry == 'Direct' || $hid_modeofentry == 'Direct') { $candidate_key = 'userfullname'; $candidate_value = $userfullname; $emp_name = $userfullname; $candidate_flag = 'no'; } else { $candidate_key = 'rccandidatename'; $candidate_value = $rccandidatename; $emp_name = $tmp_name; $candidate_flag = 'yes'; } $trDb = Zend_Db_Table::getDefaultAdapter(); // starting transaction $trDb->beginTransaction(); try { $emppassword = sapp_Global::generatePassword(); $user_data = array('emprole' => $emproleStr, $candidate_key => $candidate_value, 'emailaddress' => $emailaddress, 'modifiedby' => $loginUserId, 'modifieddate' => Zend_Registry::get('currentdate'), 'emppassword' => md5($emppassword), 'employeeId' => $employeeId, 'modeofentry' => $id == '' ? $modeofentry : "", 'selecteddate' => $date_of_joining, 'candidatereferredby' => $candidatereferredby, 'userstatus' => 'old', 'other_modeofentry' => $other_modeofentry); if ($id != '') { $where = array('user_id=?' => $user_id); $actionflag = 2; $user_where = "id = " . $user_id; unset($user_data['candidatereferredby']); unset($user_data['userstatus']); unset($user_data['emppassword']); unset($user_data['employeeId']); unset($user_data['modeofentry']); unset($user_data['other_modeofentry']); } else { $data['createdby'] = $loginUserId; $data['createddate'] = gmdate("Y-m-d H:i:s"); $data['isactive'] = 1; $user_data['createdby'] = $loginUserId; $user_data['createddate'] = gmdate("Y-m-d H:i:s"); $user_data['isactive'] = 1; if ($modeofentry != 'Direct') { $user_data['userfullname'] = $emp_name; } $where = ''; $actionflag = 1; $user_where = ''; } $user_status = $usersModel->SaveorUpdateUserData($user_data, $user_where); if ($id == '') { $user_id = $user_status; } $data = array('user_id' => $user_id, 'reporting_manager' => $reporting_manager, 'emp_status_id' => $emp_status_id, 'businessunit_id' => $businessunit_id, 'department_id' => $department_id, 'jobtitle_id' => $jobtitle_id, 'position_id' => $position_id, 'prefix_id' => $prefix_id, 'extension_number' => $extension_number, 'date_of_joining' => $date_of_joining, 'date_of_leaving' => $date_of_leaving != '' ? $date_of_leaving : NULL, 'years_exp' => $years_exp == '' ? null : $years_exp, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); $Id = $employeeModal->SaveorUpdateEmployeeData($data, $where); $statuswhere = array('id=?' => $user_id); if (in_array($emp_status_id, $empstatusarray)) { $isactivestatus = ''; if ($emp_status_id == 8) { $isactivestatus = 2; } else { if ($emp_status_id == 9) { $isactivestatus = 3; } else { if ($emp_status_id == 10) { $isactivestatus = 4; } } } $statusdata = array('isactive' => $isactivestatus); $empstatusId = $usersModel->SaveorUpdateUserData($statusdata, $statuswhere); } else { $statusdata = array('isactive' => 1); $empstatusId = $usersModel->SaveorUpdateUserData($statusdata, $statuswhere); } if ($Id == 'update') { $tableid = $id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Employee details updated successfully.")); } else { //start of mailing $base_url = 'http://' . $this->getRequest()->getHttpHost() . $this->getRequest()->getBaseUrl(); $view = $this->getHelper('ViewRenderer')->view; $this->view->emp_name = $emp_name; $this->view->password = $emppassword; $this->view->emp_id = $employeeId; $this->view->base_url = $base_url; $text = $view->render('mailtemplates/newpassword.phtml'); $options['subject'] = APPLICATION_NAME . ' login credentials'; $options['header'] = 'Greetings from Sentrifugo'; $options['toEmail'] = $emailaddress; $options['toName'] = $this->view->emp_name; $options['message'] = $text; $result = sapp_Global::_sendEmail($options); //end of mailing $tableid = $Id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Employee details added successfully.")); } $menuidArr = $menumodel->getMenuObjID('/employee'); $menuID = $menuidArr[0]['id']; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); $menuidArr = $menumodel->getMenuObjID('/usermanagement'); $menuID_user = $menuidArr[0]['id']; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $user_id); if ($act_inact == 1) { if ($user_data['isactive'] == 1) { $act_str = array("Activated" => Zend_Registry::get('currentdate')); } else { $act_str = array("Inactivated" => Zend_Registry::get('currentdate')); } $result = sapp_Global::logManager($menuID_user, 4, $loginUserId, $user_id, '', $act_str); } $trDb->commit(); $this->_redirect('employee/edit/id/' . $user_id); } catch (Exception $e) { $trDb->rollBack(); $msgarray['employeeId'] = "Something went wrong,please try again later."; return $msgarray; } } else { $messages = $employeeform->getMessages(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } $usersModel = new Default_Model_Users(); if (isset($businessunit_id) && $businessunit_id != 0 && $businessunit_id != '') { $departmentsmodel = new Default_Model_Departments(); $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id); $employeeform->department_id->clearMultiOptions(); $employeeform->reporting_manager->clearMultiOptions(); $employeeform->department_id->addMultiOption('', 'Select Department'); foreach ($departmentlistArr as $departmentlistresult) { $employeeform->department_id->addMultiOption($departmentlistresult['id'], utf8_encode($departmentlistresult['deptname'])); } if (isset($department_id) && $department_id != 0 && $department_id != '') { $employeeform->setDefault('department_id', $department_id); } } if (isset($department_id) && $department_id != 0 && $department_id != '') { $reportingManagerArr = $usersModel->getReportingManagerList($department_id, $user_id); $employeeform->reporting_manager->addMultiOption('', 'Select Reporting Manager'); foreach ($reportingManagerArr as $reportingManagerresult) { $employeeform->reporting_manager->addMultiOption($reportingManagerresult['id'], utf8_encode($reportingManagerresult['userfullname'])); } if (isset($reporting_manager) && $reporting_manager != 0 && $reporting_manager != '') { $employeeform->setDefault('reporting_manager', $reporting_manager); } } if (isset($jobtitle_id) && $jobtitle_id != 0 && $jobtitle_id != '') { $positionsmodel = new Default_Model_Positions(); $positionlistArr = $positionsmodel->getPositionList($jobtitle_id); $employeeform->position_id->clearMultiOptions(); $employeeform->position_id->addMultiOption('', 'Select Position'); foreach ($positionlistArr as $positionlistRes) { $employeeform->position_id->addMultiOption($positionlistRes['id'], utf8_encode($positionlistRes['positionname'])); } if (isset($position_id) && $position_id != 0 && $position_id != '') { $employeeform->setDefault('position_id', $position_id); } } return $msgarray; } }
public function buildoptions($businessUnitId, $departmentId, $performanceappflag) { $businessunitmodel = new Default_Model_Businessunits(); $deptmodel = new Default_Model_Departments(); $deptOptions = ''; $buDataArr = $businessunitmodel->getSingleUnitData($businessUnitId); if (!empty($buDataArr)) { $buOptions = "<option value=" . $buDataArr['id'] . ">" . utf8_encode($buDataArr['unitname']) . "</option>"; } if ($performanceappflag == 0) { if ($departmentId != '') { $deptArr = $deptmodel->getSingleDepartmentData($departmentId); } } if (!empty($deptArr)) { $deptOptions = "<option value=" . $deptArr['id'] . ">" . utf8_encode($deptArr['deptname']) . "</option>"; } return array('buoptions' => $buOptions, 'deptoptions' => $deptOptions); }
public static function getbudeptname($appraisalid) { $appInitModel = new Default_Model_Appraisalinit(); $businessunitmodel = new Default_Model_Businessunits(); $deptmodel = new Default_Model_Departments(); $buname = ''; $deptname = ''; $perf_impl_flag = ''; $appraisaldataArr = array(); if ($appraisalid) { $appraisaldataArr = $appInitModel->getAppDataById($appraisalid); if (!empty($appraisaldataArr)) { if ($appraisaldataArr['businessunit_id'] != '') { $buDataArr = $businessunitmodel->getSingleUnitData($appraisaldataArr['businessunit_id']); // $perfimplementation = $appInitModel->check_performance_implmentation($appraisaldataArr['businessunit_id']); if (!empty($buDataArr)) { $buname = $buDataArr['unitname']; } /*if(!empty($perfimplementation)) { $perf_impl_flag = $perfimplementation['performance_app_flag']; }*/ $perf_impl_flag = isset($appraisaldataArr['performance_app_flag']) ? $appraisaldataArr['performance_app_flag'] : 1; } if ($perf_impl_flag == 0) { if ($appraisaldataArr['department_id'] != '') { $deptArr = $deptmodel->getSingleDepartmentData($appraisaldataArr['department_id']); } if (!empty($deptArr)) { $deptname = $deptArr['deptname']; } } } } return array('buname' => $buname, 'deptname' => $deptname, 'perf_app_flag' => $perf_impl_flag, 'appdata' => $appraisaldataArr); }
public function createLeaveHistoryReportFinalArray($dataArray, $columnArray) { $empleavetypesArray = array(); $usersArray = array(); $repmanagerArray = array(); $departmentArray = array(); $reportsModel = new Default_Model_Reports(); $departmentsmodel = new Default_Model_Departments(); if (!empty($dataArray)) { foreach ($dataArray as $key => $curr) { if (isset($curr['leavetypeid'])) { if (!in_array($curr['leavetypeid'], $empleavetypesArray)) { array_push($empleavetypesArray, $curr['leavetypeid']); } } if (isset($curr['user_id'])) { if (!in_array($curr['user_id'], $usersArray)) { array_push($usersArray, $curr['user_id']); } } if (isset($curr['rep_mang_id'])) { if (!in_array($curr['rep_mang_id'], $repmanagerArray)) { array_push($repmanagerArray, $curr['rep_mang_id']); } } if (isset($curr['departmentid'])) { if (!in_array($curr['departmentid'], $departmentArray)) { array_push($departmentArray, $curr['departmentid']); } } } } if (!empty($empleavetypesArray)) { $empleavetypesArray = $reportsModel->getEmpLeaveNamesByIds($empleavetypesArray); } if (!empty($usersArray)) { $userNameArray = $reportsModel->getUserNamesByIds($usersArray); } if (!empty($repmanagerArray)) { $repManagerNameArray = $reportsModel->getRepManagerNamesByIds($repmanagerArray); } if (!empty($departmentArray)) { $departmentnamesArr = $departmentsmodel->getDepartmentNameFromDeptString($departmentArray); } $finalArray = array(); if (!empty($dataArray)) { foreach ($dataArray as $key => $curr) { if (array_search('employeename', $columnArray) !== false) { $finalArray[$key]['employeename'] = isset($userNameArray[$curr['user_id']]) ? $userNameArray[$curr['user_id']] : ''; } if (array_search("reportingmanagername", $columnArray) !== false) { $finalArray[$key]['reportingmanagername'] = isset($repManagerNameArray[$curr['rep_mang_id']]) ? $repManagerNameArray[$curr['rep_mang_id']] : ''; } if (array_search("leavetype", $columnArray) !== false) { $finalArray[$key]['leavetype'] = isset($empleavetypesArray[$curr['leavetypeid']]) ? $empleavetypesArray[$curr['leavetypeid']] : ''; } if (array_search("deptname", $columnArray) !== false) { $finalArray[$key]['deptname'] = isset($departmentnamesArr[$curr['departmentid']]) ? $departmentnamesArr[$curr['departmentid']] : ''; } if (array_search("leaveday", $columnArray) !== false) { $finalArray[$key]['leaveday'] = $curr['leaveday']; } if (array_search("leavestatus", $columnArray) !== false) { $finalArray[$key]['leavestatus'] = $curr['leavestatus']; } if (array_search("from_date", $columnArray) !== false) { $finalArray[$key]['from_date'] = $curr['from_date']; } if (array_search("to_date", $columnArray) !== false) { $finalArray[$key]['to_date'] = $curr['to_date']; } if (array_search("reason", $columnArray) !== false) { $finalArray[$key]['reason'] = $curr['reason']; } if (array_search("appliedleavescount", $columnArray) !== false) { $finalArray[$key]['appliedleavescount'] = $curr['appliedleavescount']; } if (array_search("applieddate", $columnArray) !== false) { $finalArray[$key]['applieddate'] = $curr['applieddate']; } } } return $finalArray; }
public function getuniqueDepartment($businessunit_id) { $leavemanagementmodel = new Default_Model_Leavemanagement(); $departmentidsArr = $leavemanagementmodel->getActiveDepartmentIds(); $departmentsmodel = new Default_Model_Departments(); $depatrmentidstr = ''; $newarr = array(); if (!empty($departmentidsArr)) { $where = ''; for ($i = 0; $i < sizeof($departmentidsArr); $i++) { $newarr1[] = array_push($newarr, $departmentidsArr[$i]['deptid']); } $depatrmentidstr = implode(",", $newarr); foreach ($newarr as $deparr) { $where .= " id!= {$deparr} AND "; } $where = trim($where, " AND"); $querystring = "Select d.id,d.deptname from main_departments as d where d.unitid={$businessunit_id} and d.isactive=1 and {$where} "; $uniquedepartmentids = $departmentsmodel->getUniqueDepartments($querystring); return $uniquedepartmentids; } else { $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id); return $departmentlistArr; } }
public function save($appraisalconfigform) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginUserEmpId = $auth->getStorage()->read()->employeeId; $loginUserEmail = $auth->getStorage()->read()->emailaddress; $loginUsername = $auth->getStorage()->read()->userfullname; } $appraisalconfigmodel = new Default_Model_Appraisalconfig(); $departmentsmodel = new Default_Model_Departments(); $businessunitsmodel = new Default_Model_Businessunits(); $msgarray = array(); $resultArr = array(); $arrData = array(); $prevBusinessunit = ''; $errorflag = "true"; $id = $this->_request->getParam('id'); $businessunit_id = $this->_request->getParam('businessunit_id'); $performance_app_flag = $this->_request->getParam('performance_app_flag'); $department_id = $this->_request->getParam('department_id'); $appraisal_mode = $this->_request->getParam('appraisal_mode'); $approval_selection = $this->_request->getParam('approval_selection'); $appraisal_ratings = $this->_request->getParam('appraisal_ratings'); // Validation to check duplicate combinations $arrData = array("business_unit_id" => $businessunit_id, "department_id" => $department_id, "id" => $id); if ($appraisalconfigmodel->combinationExists($arrData)) { $msgarray['businessunit_id'] = 'Business unit or department configuration already exists.'; $errorflag = "false"; } /** Start * Validating selection of department if implementaion is department wise */ if ($performance_app_flag == 0) { if ($department_id == '') { $msgarray['department_id'] = 'Please select department.'; $errorflag = "false"; } } /** End validating selection of department */ /** Start Validating unique service desk department */ if ($businessunit_id != '' && $id == '') { $appraisalconigfArr = $appraisalconfigmodel->checkuniqueAppraisalConfigData($businessunit_id, $performance_app_flag, $department_id); if (!empty($appraisalconigfArr)) { if ($appraisalconigfArr[0]['count'] > 0) { $msgarray['department_id'] = 'Please select a different department.'; $errorflag = "false"; } } } /** End * Validating uniques department */ $db = Zend_Db_Table::getDefaultAdapter(); $db->beginTransaction(); if ($appraisalconfigform->isValid($this->_request->getPost()) && $errorflag == 'true') { try { $actionflag = ''; $tableid = ''; $data = array('businessunit_id' => $businessunit_id, 'department_id' => $department_id != '' ? $department_id : NULL, 'performance_app_flag' => $performance_app_flag, 'appraisal_mode' => $appraisal_mode, 'appraisal_ratings' => $appraisal_ratings, 'module_flag' => 1, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s")); if ($id != '') { /* for Update record */ $where = array('id=?' => $id); $actionflag = 2; } else { /* for Insert new record */ $data['createdby'] = $loginUserId; $data['createddate'] = gmdate("Y-m-d H:i:s"); $data['isactive'] = 1; $where = ''; $actionflag = 1; } $Id = $appraisalconfigmodel->SaveorUpdateAppraisalConfigData($data, $where); if ($Id == 'update') { $tableid = $id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Appraisal settings updated successfully")); } else { $tableid = $Id; $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Appraisal settings added successfully")); } /* * Logs Storing */ $menuID = APPRAISAL_SETTINGS; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid); /* * Logs storing ends */ /** Start * Sending Mails to employees */ if ($performance_app_flag == 0) { $appraisal_details = $appraisalconfigmodel->getBunitDept($businessunit_id, $department_id); } else { $appraisal_details = $appraisalconfigmodel->getBunit($businessunit_id); } $employeeDetailsArr = $appraisalconfigmodel->getUserDetailsByID($businessunit_id, $department_id); if (!empty($appraisal_details)) { $bunit = $appraisal_details['unitname']; $dept = $appraisal_details['deptname']; } $msg_add_update = $Id == 'update' ? "Updated" : "Configured"; $dept_str = $dept == '' ? " " : "and <b>{$dept}</b> department"; $emp_id_str = $loginuserRole == SUPERADMINROLE ? " " : "({$loginUserEmpId})"; //Preparing Employee array for BCc $empArr = array(); if (!empty($employeeDetailsArr)) { $empArrList = ''; foreach ($employeeDetailsArr as $emp) { array_push($empArr, $emp['emailaddress']); } } //Sending mail to Super admin $options['subject'] = APPLICATION_NAME . ': Performance Appraisal Configuration ' . ucfirst($msg_add_update); $options['header'] = 'Performance Appraisal'; $options['toEmail'] = SUPERADMIN_EMAIL; $options['bcc'] = $empArr; $options['toName'] = 'Super Admin'; $options['message'] = "<div style='padding: 0; text-align: left; font-size:14px; font-family:Arial, Helvetica, sans-serif;'>\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span style='color:#3b3b3b;'>Hi,</span><br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div style='padding:20px 0 0 0;color:#3b3b3b;'>Performance appraisal settings are {$msg_add_update} for <b>{$bunit}</b> business unit {$dept_str} by " . $loginUsername . $emp_id_str . " </div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div style='padding:20px 0 10px 0;'>Please <a href=" . BASE_URL . " target='_blank' style='color:#b3512f;'>click here</a> to login to <b>" . APPLICATION_NAME . "</b> and check the details.</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div> "; $mail_id = sapp_Global::_sendEmail($options); /** * End */ $db->commit(); $this->_redirect('appraisalconfig'); throw new Exception("Some error message"); } catch (Exception $e) { $db->rollBack(); echo $e->getMessage(); echo $e->getTraceAsString(); return $msgarray; } } else { $messages = $appraisalconfigform->getMessages(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } if (isset($businessunit_id) && $businessunit_id != '') { if ($performance_app_flag == 0) { $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id); if (!empty($departmentlistArr)) { foreach ($departmentlistArr as $departmentlist) { $appraisalconfigform->department_id->addMultiOption($departmentlist['id'], utf8_encode($departmentlist['deptname'])); } } } if (isset($department_id) && $department_id != 0 && $department_id != '') { $appraisalconfigform->setDefault('department_id', $department_id); } } return $msgarray; } }
public function comeditAction() { if (defined('EMPTABCONFIGS')) { $empOrganizationTabs = explode(",", EMPTABCONFIGS); if (in_array('empcommunicationdetails', $empOrganizationTabs)) { $empDeptdata = array(); $employeeData = array(); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserRole = $auth->getStorage()->read()->emprole; $loginuserGroup = $auth->getStorage()->read()->group_id; } $id = $this->getRequest()->getParam('userid'); if ($id == '') { $id = $loginUserId; } $callval = $this->getRequest()->getParam('call'); if ($callval == 'ajaxcall') { $this->_helper->layout->disableLayout(); } try { if ($id && is_numeric($id) && $id > 0 && $id != $loginUserId) { $employeeModal = new Default_Model_Employee(); $empdata = $employeeModal->getsingleEmployeeData($id); if ($empdata == 'norows') { $this->view->rowexist = "norows"; $this->view->empdata = ""; } else { $this->view->rowexist = "rows"; if (!empty($empdata)) { $empDept = $empdata[0]['department_id']; $empcommdetailsform = new Default_Form_empcommunicationdetails(); $empcommdetailsModal = new Default_Model_Empcommunicationdetails(); $usersModel = new Default_Model_Users(); $countriesModel = new Default_Model_Countries(); $statesmodel = new Default_Model_States(); $citiesmodel = new Default_Model_Cities(); $orgInfoModel = new Default_Model_Organisationinfo(); $msgarray = array(); $orgid = 1; $countryId = ''; $stateId = ''; $cityId = ''; $deptModel = new Default_Model_Departments(); if ($empDept != '' && $empDept != 'NULL') { $empDeptdata = $deptModel->getEmpdepartmentdetails($empDept); if (!empty($empDeptdata)) { $countryId = $empDeptdata[0]['country']; $stateId = $empDeptdata[0]['state']; $cityId = $empDeptdata[0]['city']; } } else { $empDeptdata = $orgInfoModel->getOrganisationDetails($orgid); if (!empty($empDeptdata)) { $countryId = $empDeptdata[0]['country']; $stateId = $empDeptdata[0]['state']; $cityId = $empDeptdata[0]['city']; } } if ($countryId != '') { $countryData = $countriesModel->getActiveCountryName($countryId); } if (!empty($countryData)) { $empDeptdata[0]['country'] = $countryData[0]['country']; } else { $empDeptdata[0]['country'] = ''; } if ($stateId != '') { $stateData = $statesmodel->getStateNameData($stateId); } if (!empty($stateData)) { $empDeptdata[0]['state'] = $stateData[0]['state']; } else { $empDeptdata[0]['state'] = ''; } if ($cityId != '') { $citiesData = $citiesmodel->getCitiesNameData($cityId); } if (!empty($citiesData)) { $empDeptdata[0]['city'] = $citiesData[0]['city']; } else { $empDeptdata[0]['city'] = ''; } $countrieslistArr = $countriesModel->getTotalCountriesList(); if (sizeof($countrieslistArr) > 0) { $empcommdetailsform->perm_country->addMultiOption('', 'Select Country'); $empcommdetailsform->current_country->addMultiOption('', 'Select Country'); foreach ($countrieslistArr as $countrieslistres) { $empcommdetailsform->perm_country->addMultiOption($countrieslistres['id'], utf8_encode($countrieslistres['country_name'])); $empcommdetailsform->current_country->addMultiOption($countrieslistres['id'], utf8_encode($countrieslistres['country_name'])); } } else { $msgarray['perm_country'] = 'Countries are not configured yet.'; $msgarray['current_country'] = 'Countries are not configured yet.'; } $data = $empcommdetailsModal->getsingleEmpCommDetailsData($id); if (!empty($data)) { $perm_country = $data[0]['perm_country']; if (isset($_POST['perm_country'])) { $perm_country = $_POST['perm_country']; } $perm_state = $data[0]['perm_state']; if (isset($_POST['perm_state'])) { $perm_state = $_POST['perm_state']; } $perm_city = $data[0]['perm_city']; if (isset($_POST['perm_city'])) { $perm_city = $_POST['perm_city']; } if ($perm_country != '') { $statePermlistArr = $statesmodel->getStatesList($perm_country); if (sizeof($statePermlistArr) > 0) { $empcommdetailsform->perm_state->addMultiOption('', 'Select State'); foreach ($statePermlistArr as $statelistres) { $empcommdetailsform->perm_state->addMultiOption($statelistres['id'], $statelistres['state_name']); } } } if ($perm_state != '') { $cityPermlistArr = $citiesmodel->getCitiesList($perm_state); if (sizeof($cityPermlistArr) > 0) { $empcommdetailsform->perm_city->addMultiOption('', 'Select City'); foreach ($cityPermlistArr as $cityPermlistres) { $empcommdetailsform->perm_city->addMultiOption($cityPermlistres['id'], $cityPermlistres['city_name']); } } } $current_country = $data[0]['current_country']; if (isset($_POST['current_country'])) { $current_country = $_POST['current_country']; } $current_state = $data[0]['current_state']; if (isset($_POST['current_state'])) { $current_state = $_POST['current_state']; } $current_city = $data[0]['current_city']; if (isset($_POST['current_city'])) { $current_city = $_POST['current_city']; } if ($current_country != '') { $statecurrlistArr = $statesmodel->getStatesList($current_country); if (sizeof($statecurrlistArr) > 0) { $empcommdetailsform->current_state->addMultiOption('', 'Select State'); foreach ($statecurrlistArr as $statecurrlistres) { $empcommdetailsform->current_state->addMultiOption($statecurrlistres['id'], $statecurrlistres['state_name']); } } } if ($current_state != '') { $cityCurrlistArr = $citiesmodel->getCitiesList($current_state); if (sizeof($cityCurrlistArr) > 0) { $empcommdetailsform->current_city->addMultiOption('', 'Select City'); foreach ($cityCurrlistArr as $cityCurrlistres) { $empcommdetailsform->current_city->addMultiOption($cityCurrlistres['id'], $cityCurrlistres['city_name']); } } } $empcommdetailsform->populate($data[0]); $empcommdetailsform->setDefault('perm_country', $perm_country); $empcommdetailsform->setDefault('perm_state', $perm_state); $empcommdetailsform->setDefault('perm_city', $perm_city); if ($data[0]['current_country'] != '') { $empcommdetailsform->setDefault('current_country', $current_country); } if ($data[0]['current_state'] != '') { $empcommdetailsform->setDefault('current_state', $current_state); } if ($data[0]['current_city'] != '') { $empcommdetailsform->setDefault('current_city', $current_city); } } $empcommdetailsform->setAttrib('action', DOMAIN . 'myemployees/comedit/userid/' . $id); $empcommdetailsform->user_id->setValue($id); if (!empty($empdata)) { $this->view->employeedata = $empdata[0]; } else { $this->view->employeedata = $empdata; } if (!empty($empDeptdata)) { $this->view->dataArray = $empDeptdata[0]; } else { $this->view->dataArray = $empDeptdata; } $this->view->form = $empcommdetailsform; $this->view->data = $data; $this->view->id = $id; $this->view->msgarray = $msgarray; $this->view->messages = $this->_helper->flashMessenger->getMessages(); } $this->view->empdata = $empdata; } } else { $this->view->rowexist = "norows"; } } catch (Exception $e) { $this->view->rowexist = "norows"; } if ($this->getRequest()->getPost()) { $result = $this->comsave($empcommdetailsform, $id); $this->view->msgarray = $result; } } else { $this->_redirect('error'); } } else { $this->_redirect('error'); } }
/** * This function acts as a service for onchange of business unit to get departments. * @param array $params_arr = array of parameters * @return array Array of department options. */ public function bunitOnchange($params_arr) { $result = array(); $status = 0; $message = "Invalid business unit."; if (isset($params_arr['role_id']) && $params_arr['role_id'] != '' && isset($params_arr['group_id']) && $params_arr['group_id'] != '' && isset($params_arr['businessunit_id']) && $params_arr['businessunit_id'] != '' && isset($params_arr['userid']) && $params_arr['userid'] != '') { $role_id = $params_arr['role_id']; $group_id = $params_arr['group_id']; $userid = $params_arr['userid']; $businessunit_id = $params_arr['businessunit_id']; 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') { $status = 1; $message = "success"; $departmentsmodel = new Default_Model_Departments(); $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id); $dept_str = sapp_Global::selectOptionBuilder("", "Select Department"); //echo "<pre>";print_r($departmentlistArr);echo "</pre>"; if (!empty($departmentlistArr)) { foreach ($departmentlistArr as $data) { $dept_str .= sapp_Global::selectOptionBuilder($data['id'], $data['deptname']); } $result['departments'] = $dept_str; } else { $status = 0; $message = "Departments are not configured yet."; } } } } return array('status' => $status, 'message' => $message, 'result' => $result); }