Пример #1
0
 public function changeorgheadAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $org_user_id = (int) $this->getRequest()->getParam('orgid');
     $form = new Default_Form_Organisationheadchange();
     $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();
     $employeeModal = new Default_Model_Employee();
     $positionsmodel = new Default_Model_Positions();
     $msgarray = array();
     $orgheadsData = array();
     $form->setAttrib('action', BASE_URL . 'employee/changeorghead/orgid/' . $org_user_id);
     if ($org_user_id) {
         $orgheadsData = $employeeModal->getEmployeesForOrgHead($org_user_id);
     }
     if (empty($orgheadsData)) {
         $msgarray['currentorghead'] = 'There are no employees added to assign to the current organization head.';
     }
     //echo '<pre>';print_r($orgheadsData);exit;
     $identity_codes = $identity_code_model->getIdentitycodesRecord();
     $role_data = $role_model->getRolesList_orginfo();
     $flag = 'true';
     $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';
     }
     $form->employeeId->setValue($emp_id);
     $form->emprole->addMultiOptions(array('' => 'Select Role') + $role_data);
     if (empty($role_data)) {
         $msgarray['emprole'] = 'Roles are not added yet.';
         $flag = 'false';
     }
     $prefixData = $prefixModel->getPrefixList();
     $form->prefix_id->addMultiOption('', 'Select Prefix');
     if (!empty($prefixData)) {
         foreach ($prefixData as $prefixres) {
             $form->prefix_id->addMultiOption($prefixres['id'], $prefixres['prefix']);
         }
     } else {
         $msgarray['prefix_id'] = 'Prefixes are not configured yet.';
     }
     $jobtitleData = $jobtitlesModel->getJobTitleList();
     if (!empty($jobtitleData)) {
         foreach ($jobtitleData as $jobtitleres) {
             $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.';
     }
     $form->position_id->addMultiOption('', 'Select a Position');
     if (isset($_POST['jobtitle_id']) && $_POST['jobtitle_id'] != '') {
         $jobtitle_id = $_POST['jobtitle_id'];
         $positionlistArr = $positionsmodel->getPositionList($jobtitle_id);
         if (sizeof($positionlistArr) > 0) {
             foreach ($positionlistArr as $positionlistres) {
                 $form->position_id->addMultiOption($positionlistres['id'], $positionlistres['positionname']);
             }
         }
     }
     if ($this->getRequest()->getPost()) {
         $orghead_repmangr = $this->_request->getParam('orghead_rep_manger', null);
         $selectedtab = $this->_request->getParam('selectedtab');
         $currentorghead = $this->_request->getParam('currentorghead', null);
         $first_name = trim($this->_request->getParam('firstname_orghead', null));
         $last_name = trim($this->_request->getParam('lastname_orghead', null));
         $date_of_joining = sapp_Global::change_date($this->_request->getParam('date_of_joining_head', null), 'database');
         $employeeId = $this->_request->getParam('employeeId', null);
         $emprole = $this->_request->getParam('emprole', null);
         $emailaddress = $this->_request->getParam('emailaddress', null);
         if ($orghead_repmangr == '') {
             $msgarray['orghead_rep_manger'] = 'Please select reporting manager to current organisation head.';
             $flag = 'false';
         }
         if ($selectedtab == 1) {
             if ($currentorghead == '') {
                 $msgarray['currentorghead'] = 'Please select current organisation head.';
                 $flag = 'false';
             }
         } else {
             if ($first_name == '') {
                 $msgarray['firstname_orghead'] = 'Please enter first name of organization head.';
                 $flag = 'false';
             }
             if ($last_name == '') {
                 $msgarray['lastname_orghead'] = 'Please enter last name of organization head.';
                 $flag = 'false';
             }
             if ($employeeId == '') {
                 $msgarray['employeeId'] = 'Identity codes are not configured yet.';
                 $flag = 'false';
             }
             if ($emprole == '') {
                 $msgarray['emprole'] = 'Please select role.';
                 $flag = 'false';
             }
             if ($emailaddress == '') {
                 $msgarray['emailaddress'] = 'Please enter email.';
                 $flag = 'false';
             }
             if ($date_of_joining == '') {
                 $msgarray['date_of_joining_head'] = 'Please select date of joining.';
                 $flag = 'false';
             }
         }
         if ($form->isValid($this->_request->getPost()) && $flag != 'false') {
             $emppassword = sapp_Global::generatePassword();
             $jobtitle_id = $this->_request->getParam('jobtitle_id', null);
             $position_id = $this->_request->getParam('position_id', null);
             $userfullname = $first_name . ' ' . $last_name;
             $prefix_id = $this->_request->getParam('prefix_id', null);
             $user_id = $this->_request->getParam('user_id', null);
             $old_org_head = array('reporting_manager' => $orghead_repmangr, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'is_orghead' => 0);
             $old_org_where = array('user_id=?' => $org_user_id);
             if ($selectedtab == 1) {
                 $new_org_head = array('reporting_manager' => 0, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'is_orghead' => 1);
                 $new_org_where = array('user_id=?' => $currentorghead);
             } else {
                 $user_data = array('emprole' => $emprole, 'firstname' => $first_name, 'lastname' => $last_name, 'userfullname' => $userfullname, 'emailaddress' => $emailaddress, 'jobtitle_id' => $jobtitle_id, 'emppassword' => md5($emppassword), 'employeeId' => $employeeId, 'selecteddate' => $date_of_joining, 'userstatus' => 'old', 'modeofentry' => 'Direct', 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'isactive' => 1);
                 $emp_data = array('jobtitle_id' => $jobtitle_id, 'position_id' => $position_id, 'prefix_id' => $prefix_id, 'reporting_manager' => 0, 'date_of_joining' => $date_of_joining, 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'isactive' => 1, 'is_orghead' => 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;
             $db = Zend_Db_Table::getDefaultAdapter();
             $db->beginTransaction();
             try {
                 $employeeModal->SaveorUpdateEmployeeData($old_org_head, $old_org_where);
                 if ($selectedtab == 1) {
                     $employeeModal->SaveorUpdateEmployeeData($new_org_head, $new_org_where);
                 } else {
                     $user_id = $user_model->SaveorUpdateUserData($user_data, '');
                     $emp_data['user_id'] = $user_id;
                     $employeeModal->SaveorUpdateEmployeeData($emp_data, '');
                 }
                 $tableid = $user_id;
                 $actionflag = 1;
                 $menuID = EMPLOYEE;
                 $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
                 $db->commit();
                 $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Organization head changed succesfully."));
                 $this->_redirect('employee');
             } catch (Exception $e) {
                 $db->rollBack();
             }
         } else {
             $messages = $form->getMessages();
             foreach ($messages as $key => $val) {
                 foreach ($val as $key2 => $val2) {
                     $msgarray[$key] = $val2;
                     break;
                 }
             }
         }
     }
     $this->view->form = $form;
     $this->view->orgheadsData = $orgheadsData;
     $this->view->msgarray = $msgarray;
 }
Пример #2
0
 public function changeorgheadAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     if ($loginuserRole == SUPERADMIN || $loginuserGroup == MANAGEMENT_GROUP || $loginuserGroup == HR_GROUP) {
         $org_user_id = (int) $this->getRequest()->getParam('orgid');
         $form = new Default_Form_Organisationheadchange();
         $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();
         $employeeModal = new Default_Model_Employee();
         $positionsmodel = new Default_Model_Positions();
         $msgarray = array();
         $orgheadsData = array();
         $form->setAttrib('action', BASE_URL . 'employee/changeorghead/orgid/' . $org_user_id);
         if ($org_user_id) {
             $orgheadsData = $employeeModal->getEmployeesForOrgHead($org_user_id);
         }
         if (empty($orgheadsData)) {
             $msgarray['currentorghead'] = 'There are no employees added to assign to the current organization head.';
         }
         $identity_codes = $identity_code_model->getIdentitycodesRecord();
         $role_data = $role_model->getRolesList_orginfo();
         $flag = 'true';
         $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';
         }
         $form->employeeId->setValue($emp_id);
         $form->emprole->addMultiOptions(array('' => 'Select Role') + $role_data);
         if (empty($role_data)) {
             $msgarray['emprole'] = 'Roles are not added yet.';
             $flag = 'false';
         }
         $prefixData = $prefixModel->getPrefixList();
         $form->prefix_id->addMultiOption('', 'Select Prefix');
         if (!empty($prefixData)) {
             foreach ($prefixData as $prefixres) {
                 $form->prefix_id->addMultiOption($prefixres['id'], $prefixres['prefix']);
             }
         } else {
             $msgarray['prefix_id'] = 'Prefixes are not configured yet.';
         }
         $jobtitleData = $jobtitlesModel->getJobTitleList();
         if (!empty($jobtitleData)) {
             foreach ($jobtitleData as $jobtitleres) {
                 $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.';
         }
         $form->position_id->addMultiOption('', 'Select a Position');
         if (isset($_POST['jobtitle_id']) && $_POST['jobtitle_id'] != '') {
             $jobtitle_id = $_POST['jobtitle_id'];
             $positionlistArr = $positionsmodel->getPositionList($jobtitle_id);
             if (sizeof($positionlistArr) > 0) {
                 foreach ($positionlistArr as $positionlistres) {
                     $form->position_id->addMultiOption($positionlistres['id'], $positionlistres['positionname']);
                 }
             }
         }
         if ($this->getRequest()->getPost()) {
             $orghead_repmangr = $this->_request->getParam('orghead_rep_manger', null);
             $selectedtab = $this->_request->getParam('selectedtab');
             $currentorghead = $this->_request->getParam('currentorghead', null);
             $first_name = trim($this->_request->getParam('firstname_orghead', null));
             $last_name = trim($this->_request->getParam('lastname_orghead', null));
             $date_of_joining = sapp_Global::change_date($this->_request->getParam('date_of_joining_head', null), 'database');
             $employeeId = $this->_request->getParam('employeeId', null);
             $emprole = $this->_request->getParam('emprole', null);
             $emailaddress = $this->_request->getParam('emailaddress', null);
             if ($orghead_repmangr == '') {
                 $msgarray['orghead_rep_manger'] = 'Please select reporting manager to current organisation head.';
                 $flag = 'false';
             }
             if ($selectedtab == 1) {
                 if ($currentorghead == '') {
                     $msgarray['currentorghead'] = 'Please select current organisation head.';
                     $flag = 'false';
                 }
             } else {
                 if ($first_name == '') {
                     $msgarray['firstname_orghead'] = 'Please enter first name of organization head.';
                     $flag = 'false';
                 }
                 if ($last_name == '') {
                     $msgarray['lastname_orghead'] = 'Please enter last name of organization head.';
                     $flag = 'false';
                 }
                 if ($employeeId == '') {
                     $msgarray['employeeId'] = 'Identity codes are not configured yet.';
                     $flag = 'false';
                 }
                 if ($emprole == '') {
                     $msgarray['emprole'] = 'Please select role.';
                     $flag = 'false';
                 }
                 if ($emailaddress == '') {
                     $msgarray['emailaddress'] = 'Please enter email.';
                     $flag = 'false';
                 }
                 if ($date_of_joining == '') {
                     $msgarray['date_of_joining_head'] = 'Please select date of joining.';
                     $flag = 'false';
                 }
             }
             if ($form->isValid($this->_request->getPost()) && $flag != 'false') {
                 $emppassword = sapp_Global::generatePassword();
                 $jobtitle_id = $this->_request->getParam('jobtitle_id', null);
                 $position_id = $this->_request->getParam('position_id', null);
                 $userfullname = $first_name . ' ' . $last_name;
                 $prefix_id = $this->_request->getParam('prefix_id', null);
                 $user_id = $this->_request->getParam('user_id', null);
                 $old_org_head = array('reporting_manager' => $orghead_repmangr, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'is_orghead' => 0);
                 $old_org_where = array('user_id=?' => $org_user_id);
                 if ($selectedtab == 1) {
                     $new_org_head = array('reporting_manager' => 0, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'is_orghead' => 1);
                     $new_org_where = array('user_id=?' => $currentorghead);
                 } else {
                     $user_data = array('emprole' => $emprole, 'firstname' => $first_name, 'lastname' => $last_name, 'userfullname' => $userfullname, 'emailaddress' => $emailaddress, 'jobtitle_id' => $jobtitle_id, 'emppassword' => md5($emppassword), 'employeeId' => $employeeId, 'selecteddate' => $date_of_joining, 'userstatus' => 'old', 'modeofentry' => 'Direct', 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'isactive' => 1);
                     $emp_data = array('jobtitle_id' => $jobtitle_id, 'position_id' => $position_id, 'prefix_id' => $prefix_id, 'reporting_manager' => 0, 'date_of_joining' => $date_of_joining, 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'isactive' => 1, 'is_orghead' => 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;
                 $db = Zend_Db_Table::getDefaultAdapter();
                 $db->beginTransaction();
                 try {
                     $employeeModal->SaveorUpdateEmployeeData($old_org_head, $old_org_where);
                     if ($selectedtab == 1) {
                         $employeeModal->SaveorUpdateEmployeeData($new_org_head, $new_org_where);
                     } else {
                         $user_id = $user_model->SaveorUpdateUserData($user_data, '');
                         $emp_data['user_id'] = $user_id;
                         $employeeModal->SaveorUpdateEmployeeData($emp_data, '');
                     }
                     $tableid = $user_id;
                     $actionflag = 1;
                     $menuID = EMPLOYEE;
                     $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
                     $db->commit();
                     //Sending mails to SuperAdmin,Management Employees
                     $mangmntEmployees = $employeeModal->getMngmntEmployees();
                     //Preparing Employee array for Bcc
                     $empArr = array();
                     if (!empty($mangmntEmployees)) {
                         $empArrList = '';
                         $org_head_name = '';
                         foreach ($mangmntEmployees as $emp) {
                             array_push($empArr, $emp['emailaddress']);
                             if ($selectedtab == 1 && $currentorghead == $emp['user_id']) {
                                 $org_head_name = $emp['userfullname'];
                             }
                         }
                     }
                     $new_org_head_name = $org_head_name == '' ? $userfullname : $org_head_name;
                     $options['subject'] = APPLICATION_NAME . ': New Organizaion Head';
                     $options['header'] = 'New organization head';
                     $options['toEmail'] = SUPERADMIN_EMAIL;
                     $options['toName'] = 'Super Admin';
                     $options['bcc'] = $empArr;
                     $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;'><b>{$new_org_head_name}</b> is our new organization head. </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 your <b>" . APPLICATION_NAME . "</b> account to 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);
                     $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Organization head changed succesfully."));
                     $this->_redirect('employee');
                 } catch (Exception $e) {
                     $db->rollBack();
                 }
             } else {
                 $messages = $form->getMessages();
                 foreach ($messages as $key => $val) {
                     foreach ($val as $key2 => $val2) {
                         $msgarray[$key] = $val2;
                         break;
                     }
                 }
             }
         }
         $this->view->form = $form;
         $this->view->orgheadsData = $orgheadsData;
         $this->view->msgarray = $msgarray;
     } else {
         $this->_redirect('error');
     }
 }