Ejemplo n.º 1
0
 public function viewAction()
 {
     $id = $this->getRequest()->getParam('id');
     $callval = $this->getRequest()->getParam('call');
     if ($callval == 'ajaxcall') {
         $this->_helper->layout->disableLayout();
     }
     $objName = 'employee';
     $employeeform = new Default_Form_employee();
     $employeeform->removeElement("submit");
     $elements = $employeeform->getElements();
     if (count($elements) > 0) {
         foreach ($elements as $key => $element) {
             if ($key != "Cancel" && $key != "Edit" && $key != "Delete" && $key != "Attachments") {
                 $element->setAttrib("disabled", "disabled");
             }
         }
     }
     if ($id) {
         $employeeModal = new Default_Model_Employee();
         $usersModel = new Default_Model_Users();
         $employmentstatusModel = new Default_Model_Employmentstatus();
         $busineesUnitModel = new Default_Model_Businessunits();
         $deptModel = new Default_Model_Departments();
         $role_model = new Default_Model_Roles();
         $user_model = new Default_Model_Usermanagement();
         $candidate_model = new Default_Model_Candidatedetails();
         $jobtitlesModel = new Default_Model_Jobtitles();
         $positionsmodel = new Default_Model_Positions();
         $prefixModel = new Default_Model_Prefix();
         $data = $employeeModal->getsingleEmployeeData($id);
         if ($data == 'norows') {
             $this->view->rowexist = "norows";
         } else {
             if (!empty($data)) {
                 $this->view->rowexist = "rows";
                 $data = $data[0];
                 $employeeData = $employeeModal->getsingleEmployeeData($data['user_id']);
                 $roles_arr = $role_model->getRolesDataByID($data['emprole']);
                 if (sizeof($roles_arr) > 0) {
                     $employeeform->emprole->addMultiOption($roles_arr[0]['id'] . '_' . $roles_arr[0]['group_id'], utf8_encode($roles_arr[0]['rolename']));
                 }
                 $referedby_options = $user_model->getRefferedByForUsers();
                 $reportingManagerData = $usersModel->getReportingManagerList($data['department_id'], $data['id'], $roles_arr[0]['group_id']);
                 if (!empty($reportingManagerData)) {
                     $employeeform->reporting_manager->addMultiOption('', 'Select a Reporting Manager');
                     if ($roles_arr[0]['group_id'] == MANAGEMENT_GROUP) {
                         $employeeform->reporting_manager->addMultiOption(SUPERADMIN, 'Super Admin');
                     }
                     foreach ($reportingManagerData as $reportingManagerres) {
                         $employeeform->reporting_manager->addMultiOption($reportingManagerres['id'], $reportingManagerres['name']);
                     }
                 }
                 $employeeform->setDefault('reporting_manager', $data['reporting_manager']);
                 $employmentStatusData = $employmentstatusModel->getempstatuslist();
                 if (sizeof($employmentStatusData) > 0) {
                     $employeeform->emp_status_id->addMultiOption('', 'Select a Employment Status');
                     foreach ($employmentStatusData as $employmentStatusres) {
                         $employeeform->emp_status_id->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']);
                     }
                 }
                 $businessunitData = $busineesUnitModel->getDeparmentList();
                 if (sizeof($businessunitData) > 0) {
                     $employeeform->businessunit_id->addMultiOption('0', 'No Business Unit');
                     foreach ($businessunitData as $businessunitres) {
                         $employeeform->businessunit_id->addMultiOption($businessunitres['id'], $businessunitres['unitname']);
                     }
                 }
                 $departmentsData = $deptModel->getDepartmentList($data['businessunit_id']);
                 if (sizeof($departmentsData) > 0) {
                     $employeeform->department_id->addMultiOption('', 'Select a Department');
                     foreach ($departmentsData as $departmentsres) {
                         $employeeform->department_id->addMultiOption($departmentsres['id'], $departmentsres['deptname']);
                     }
                 }
                 $jobtitleData = $jobtitlesModel->getJobTitleList();
                 if (sizeof($jobtitleData) > 0) {
                     $employeeform->jobtitle_id->addMultiOption('', 'Select a Job Title');
                     foreach ($jobtitleData as $jobtitleres) {
                         $employeeform->jobtitle_id->addMultiOption($jobtitleres['id'], $jobtitleres['jobtitlename']);
                     }
                 }
                 $positionlistArr = $positionsmodel->getPositionList($data['jobtitle_id']);
                 if (sizeof($positionlistArr) > 0) {
                     $employeeform->position_id->addMultiOption('', 'Select a Position');
                     foreach ($positionlistArr as $positionlistres) {
                         $employeeform->position_id->addMultiOption($positionlistres['id'], $positionlistres['positionname']);
                     }
                 }
                 if (isset($data['prefix_id']) && $data['prefix_id'] != '') {
                     $singlePrefixArr = $prefixModel->getsinglePrefixData($data['prefix_id']);
                     if ($singlePrefixArr != 'norows') {
                         $employeeform->prefix_id->addMultiOption($singlePrefixArr[0]['id'], $singlePrefixArr[0]['prefix']);
                     }
                 }
                 $employeeform->populate($data);
                 $employeeform->setDefault('user_id', $data['user_id']);
                 $employeeform->setDefault('emp_status_id', $data['emp_status_id']);
                 $employeeform->setDefault('businessunit_id', $data['businessunit_id']);
                 $employeeform->setDefault('jobtitle_id', $data['jobtitle_id']);
                 $employeeform->setDefault('department_id', $data['department_id']);
                 $employeeform->setDefault('position_id', $data['position_id']);
                 $date_of_joining = sapp_Global::change_date($data['date_of_joining'], 'view');
                 $employeeform->date_of_joining->setValue($date_of_joining);
                 if ($data['date_of_leaving'] != '' && $data['date_of_leaving'] != '0000-00-00') {
                     $date_of_leaving = sapp_Global::change_date($data['date_of_leaving'], 'view');
                     $employeeform->date_of_leaving->setValue($date_of_leaving);
                 }
                 if ($data['modeofentry'] != 'Direct') {
                     $employeeform->rccandidatename->setValue($data['userfullname']);
                 }
                 if (sizeof($referedby_options) > 0 && $data['candidatereferredby'] != '' && $data['candidatereferredby'] != 0) {
                     $employeeform->candidatereferredby->setValue($referedby_options[$data['candidatereferredby']]);
                 }
                 if ($data['rccandidatename'] != '' && $data['rccandidatename'] != 0) {
                     $cand_data = $candidate_model->getCandidateById($data['rccandidatename']);
                     $data['requisition_code'] = $cand_data['requisition_code'];
                 }
                 $employeeform->setAttrib('action', DOMAIN . 'employee/edit/id/' . $id);
                 $this->view->id = $id;
                 $this->view->form = $employeeform;
                 $this->view->employeedata = !empty($employeeData) ? $employeeData[0] : "";
                 $this->view->messages = $this->_helper->flashMessenger->getMessages();
                 $this->view->data = $data;
                 $this->view->controllername = $objName;
                 $this->view->id = $id;
             }
         }
     }
 }
Ejemplo n.º 2
0
 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;
     }
 }