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; }