예제 #1
0
 /**
  * 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"));
     }
 }
예제 #2
0
 /**
  * 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);
         }
     }
 }