/** * This function is used to active/inactive employees. */ public function makeactiveinactiveAction() { Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/"); $emp_id = $this->_getParam('emp_id', null); $status = trim($this->_getParam('status', null)); $hasteam = trim($this->_getParam('hasteam', null)); $employeeModal = new Default_Model_Employee(); $user_model = new Default_Model_Usermanagement(); $usermodel = new Default_Model_Users(); $role_model = new Default_Model_Roles(); $logmanagermodel = new Default_Model_Logmanager(); $menumodel = new Default_Model_Menu(); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $empData = $employeeModal->getsingleEmployeeData($emp_id); if ($hasteam == 'true') { $employessunderEmpId = array(); $reportingmanagersList = array(); $employessunderEmpId = $employeeModal->getEmployeesUnderRM($emp_id); if ($empData[0]['is_orghead'] == 1) { $reportingmanagersList = $usermodel->getReportingManagerList_employees('', '', MANAGEMENT_GROUP); } else { $role_data = $role_model->getRoleDataById($empData[0]['emprole']); $reportingmanagersList = $usermodel->getReportingManagerList_employees($empData[0]['department_id'], $emp_id, $role_data['group_id']); } $reportingmanagersList = sapp_Global::removeElementWithValue($reportingmanagersList, 'id', $emp_id); $this->view->emp_id = $emp_id; $this->view->status = $status; $this->view->ishead = $empData[0]['is_orghead']; $this->view->empName = $empData[0]['userfullname']; $this->view->employessunderEmpId = $employessunderEmpId; $this->view->reportingmanagersList = $reportingmanagersList; } else { $db = Zend_Db_Table::getDefaultAdapter(); $db->beginTransaction(); try { if ($status == 'active') { $data = array('isactive' => 1, 'emptemplock' => 0); $empdata = array('isactive' => 1); $logarr = array('userid' => $loginUserId, 'recordid' => $emp_id, 'date' => gmdate("Y-m-d H:i:s"), 'isactive' => 1); $jsonlogarr = json_encode($logarr); } else { if ($status == 'inactive') { $data = array('isactive' => 0, 'emptemplock' => 1); $empdata = array('isactive' => 0); $logarr = array('userid' => $loginUserId, 'recordid' => $emp_id, 'date' => gmdate("Y-m-d H:i:s"), 'isactive' => 0); $jsonlogarr = json_encode($logarr); } } $where = "id = " . $emp_id; $user_model->SaveorUpdateUserData($data, $where); $employeeModal->SaveorUpdateEmployeeData($empdata, "user_id =" . $emp_id); if ($empData[0]['is_orghead'] == '1') { $headData = array('is_orghead' => 0); $headWhere = "user_id = " . $emp_id; $employeeModal->SaveorUpdateEmployeeData($headData, $headWhere); } $menuidArr = $menumodel->getMenuObjID('/employee'); $menuID = $menuidArr[0]['id']; $id = $logmanagermodel->addOrUpdateLogManager($menuID, 4, $jsonlogarr, $loginUserId, $emp_id); $db->commit(); $result = 'update'; } catch (Exception $e) { $db->rollBack(); $result = 'failed'; } $this->_helper->json(array('result' => $result == 'update' ? "yes" : "no")); } }
/** * This function is used to save a record in log table. * @param Integer $menuID = id of menu name * @param Integer $actionflag = flag represents add,update,delete * @param Integer $loginUserId = id of logged user * @param Integer $recordId = id of changed record * @param String $childrecordId = if any child record exists it will concatenate as string * @param Array $defined_str = this is mainly used for employees/users active & inactive actions * @return Integer Id of saved record in log table. */ public static function logManager($menuID, $actionflag, $loginUserId, $recordId, $childrecordId = '', $defined_str = '') { $date = new Zend_Date(); // initializing Zend Date Object $logmanagermodel = new Default_Model_Logmanager(); $jsonlogDataArr = array(); if ($childrecordId != '') { $childrecordArr = explode(',', $childrecordId); for ($i = 0; $i < sizeof($childrecordArr); $i++) { $logarr[$i] = array('userid' => $loginUserId, 'recordid' => $recordId, 'childrecordid' => $childrecordArr[$i], 'date' => gmdate("Y-m-d H:i:s")); } $jsonlogarr = json_encode($logarr); $jsonlogarr = rtrim($jsonlogarr, "]"); $jsonlogarr = ltrim($jsonlogarr, "["); } else { $logarr = array('userid' => $loginUserId, 'recordid' => $recordId, 'date' => gmdate("Y-m-d H:i:s")); $jsonlogarr = json_encode($logarr); // Building Json String of loggedinUser,DatabaseID of UserAction,Date } if (is_array($defined_str) && count($defined_str) > 0) { $logarr = $defined_str; $jsonlogarr = json_encode($logarr); } //Saving Or Updating to DB using On Duplicate Key by setting menuID(ControllerID) and Useraction as Unique Fields In DB $id = $logmanagermodel->addOrUpdateLogManager($menuID, $actionflag, $jsonlogarr, $loginUserId, $recordId); return $id; }
/** * This function is used to add/update data in database. * @param $user_form = all form data. * * @return JSON success/error messages in json format. */ public function saveupdateAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $agencylistmodel = new Default_Model_Agencylist(); $user_form = new Default_Form_Usermanagement(); $user_model = new Default_Model_Usermanagement(); $logmanagermodel = new Default_Model_Logmanager(); $menumodel = new Default_Model_Menu(); $messages = $user_form->getMessages(); $actionflag = ''; $tableid = ''; $agencyuser = '******'; if ($this->getRequest()->getPost()) { if ($user_form->isValid($this->_request->getPost())) { $id = $this->_request->getParam('id'); $employeeId = $this->_request->getParam('employeeId', null); //$userfullname = $this->_request->getParam('userfullname',null); $firstname = $this->_request->getParam('firstname', null); $lastname = $this->_request->getParam('lastname', null); $userfullname = $firstname . ' ' . $lastname; $entrycomments = $this->_request->getParam("entrycomments", null); $emailaddress = $this->_request->getParam("emailaddress", null); $emprole = $this->_request->getParam("emprole", null); $emplockeddate = $this->_request->getParam("emplockeddate", null); $act_inact = $this->_request->getParam("act_inact", null); $empreasonlocked = $this->_request->getParam("empreasonlocked", null); $emppassword = sapp_Global::generatePassword(); $data = array('emprole' => $emprole, 'firstname' => $firstname, 'lastname' => $lastname, 'userfullname' => $userfullname, 'emailaddress' => $emailaddress, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'emppassword' => md5($emppassword), 'entrycomments' => $entrycomments, 'userstatus' => 'old'); if ($emplockeddate == '') { unset($data['emplockeddate']); } if ($id != '') { if ($act_inact != '') { $data['isactive'] = $act_inact; $data['emptemplock'] = $act_inact == 0 ? "1" : "0"; $agencyroles = $agencylistmodel->getagencyrole(); $userData = $user_model->getUserDataById($id); $agencyuser = ''; $user_role = $userData['emprole']; foreach ($agencyroles as $agrole) { if ($agrole['id'] == $user_role) { $agencyuser = '******'; } } if ($agencyuser == 'yes') { $agencyData = $user_model->getAgencyData($id); if ($act_inact == '1') { $user_model->activateAllagencydetails($agencyData['agencyid'], $loginUserId); if ($agencyData['isactive'] != $act_inact) { $this->sendEMails($agencyData, 'activated'); } } else { $user_model->deleteAllagencydetails($agencyData['agencyid'], $loginUserId); if ($agencyData['isactive'] != $act_inact) { $this->sendEMails($agencyData, 'inactivated'); } } } } $where = array('id=?' => $id); unset($data['emppassword']); $messages['message'] = 'User updated successfully.'; $_SESSION['usermanagement_msg'] = $messages['message']; $actionflag = 2; } else { $data['createdby'] = $loginUserId; $data['createddate'] = gmdate("Y-m-d H:i:s"); $data['isactive'] = 1; $where = ''; $messages['message'] = 'User added successfully.'; $_SESSION['usermanagement_msg'] = $messages['message']; $actionflag = 1; } $Id = $user_model->SaveorUpdateUserData($data, $where); if ($Id == 'update') { $tableid = $id; } else { $employeeId = $employeeId . str_pad($Id, 4, '0', STR_PAD_LEFT); $user_model->SaveorUpdateUserData(array('employeeId' => $employeeId), "id = " . $Id); $tableid = $Id; $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; try { $result = sapp_Global::_sendEmail($options); } catch (Exception $e) { echo $e->getMessage(); } } $objidArr = $menumodel->getMenuObjID('/usermanagement'); $objID = $objidArr[0]['id']; $result = sapp_Global::logManager($objID, $actionflag, $loginUserId, $tableid); if ($act_inact != '') { if ($data['isactive'] == 1) { $logarr = array('userid' => $loginUserId, 'recordid' => $tableid, 'date' => gmdate("Y-m-d H:i:s"), 'isactive' => 1); $jsonlogarr = json_encode($logarr); } else { $logarr = array('userid' => $loginUserId, 'recordid' => $tableid, 'date' => gmdate("Y-m-d H:i:s"), 'isactive' => 0); $jsonlogarr = json_encode($logarr); } $id = $logmanagermodel->addOrUpdateLogManager($objID, 4, $jsonlogarr, $loginUserId, $tableid); } $messages['result'] = 'saved'; $this->_helper->json($messages); } else { $messages = $user_form->getMessages(); $messages['result'] = 'error'; $this->_helper->json($messages); } } }