public function deleteAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $id = $this->_request->getParam('objid');
     $messages['message'] = '';
     $messages['msgtype'] = '';
     $count = 0;
     $actionflag = 3;
     if ($id) {
         $appraisalGroupsModel = new Default_Model_Appraisalgroups();
         $menumodel = new Default_Model_Menu();
         $appGroupsdata = $appraisalGroupsModel->getAppraisalGroupsDatabyID($id);
         if ($appGroupsdata[0]['isused'] == 0) {
             $data = array('isactive' => 0, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s"));
             $where = array('id=?' => $id);
             $Id = $appraisalGroupsModel->SaveorUpdateAppraisalGroupsData($data, $where);
             if ($Id == 'update') {
                 $menuidArr = $menumodel->getMenuObjID('/appraisalgroups');
                 $menuID = $menuidArr[0]['id'];
                 $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $id);
                 /***
                 			** commented on 29-04-2015 by sapplica
                 			** need to integrate mail template					   
                 				$configmail = sapp_Global::send_configuration_mail('Group',$appGroupsdata[0]['group_name']);	
                 			***/
                 $messages['message'] = 'Group deleted successfully.';
                 $messages['msgtype'] = 'success';
             } else {
                 $messages['message'] = 'Group cannot be deleted.';
                 $messages['msgtype'] = 'error';
             }
         } else {
             $messages['message'] = 'Group cannot be deleted as its using in appraisal process.';
             $messages['msgtype'] = 'error';
         }
     } else {
         $messages['message'] = 'Group cannot be deleted.';
         $messages['msgtype'] = 'error';
     }
     $this->_helper->json($messages);
 }
 /**
  * This action is used to save/edit group details created by manager.
  * @return json Array of status and message.
  */
 public function savemanagergroupAction()
 {
     $post_values = $this->getRequest()->getPost();
     //echo "<pre>";print_r($post_values);echo "</pre>";exit;
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
         $loginuserArr = array('loginuserid' => $loginUserId, 'loginuserrole' => $loginuserRole, 'loginusergroup' => $loginuserGroup);
     }
     $finalarray = $deleted_emp_arr = $result = array();
     $mgrIndex = 'MC';
     $mgrratIndex = 'MR';
     $empIndex = 'EC';
     $empratIndex = 'ER';
     $questionArr = $post_values['check'];
     $managercmntsArr = isset($post_values['mgrcmnt']) ? $post_values['mgrcmnt'] : array();
     $managerratingsArr = isset($post_values['mgrrating']) ? $post_values['mgrrating'] : array();
     $empratingsArr = isset($post_values['empratings']) ? $post_values['empratings'] : array();
     $empcmntsArr = isset($post_values['empcmnt']) ? $post_values['empcmnt'] : array();
     $empids = $post_values['existetd_mem_str'];
     $groupid = $post_values['groupid'];
     $group_name = $post_values['group_name'];
     $appraisal_id = $post_values['appraisal_id'];
     $manager_id = $post_values['manager_id'];
     $original_mem_str = $post_values['original_mem_str'];
     $action_flag = $post_values['action_flag'];
     $selected_emp_arr = explode(',', $empids);
     $result['flag'] = 'appraisalmanager';
     $trDb = Zend_Db_Table::getDefaultAdapter();
     $trDb->beginTransaction();
     try {
         if ($group_name != '' && !empty($questionArr) && $empids != '') {
             $appraisalGroupModel = new Default_Model_Appraisalgroups();
             $appraisalPrivMainModel = new Default_Model_Appraisalqsmain();
             $CheckDuplicateName = $appraisalGroupModel->getDuplicateGroupName($appraisal_id, $group_name, $groupid != '' ? $groupid : '');
             if (!empty($CheckDuplicateName)) {
                 $duplicateGroupName = $CheckDuplicateName[0]['grpcnt'];
             }
             if ($duplicateGroupName > 0) {
                 $result['result'] = 'error';
                 $result['msg'] = 'Group name already exists.';
             } else {
                 if (!empty($original_mem_str)) {
                     $privilegesdata = array('manager_group_id' => null, 'manager_qs' => null, 'manager_qs_privileges' => null, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                     $privielgeswhere = " pa_initialization_id = '" . $appraisal_id . "' and line_manager_1 = '" . $manager_id . "' and employee_id IN ({$original_mem_str}) and module_flag=1 and isactive= 1 ";
                     $updateprivileges = $appraisalPrivMainModel->SaveorUpdatePrivilegeData($privilegesdata, $privielgeswhere);
                 }
                 if (!empty($questionArr)) {
                     for ($i = 0; $i < sizeof($questionArr); $i++) {
                         $managercomments = isset($managercmntsArr[$questionArr[$i]]) ? 1 : 0;
                         $managerratings = isset($managerratingsArr[$questionArr[$i]]) ? 1 : 0;
                         $empratings = isset($empratingsArr[$questionArr[$i]]) ? 1 : 0;
                         $empcomments = isset($empcmntsArr[$questionArr[$i]]) ? 1 : 0;
                         $commntsarry = array($mgrratIndex => $managerratings, $mgrIndex => $managercomments, $empratIndex => $empratings, $empIndex => $empcomments);
                         $finalarray[$questionArr[$i]] = $commntsarry;
                     }
                     $questions = implode(',', $questionArr);
                     $qsprivileges = json_encode($finalarray, true);
                     $groupdata = array('pa_initialization_id' => $appraisal_id, 'group_name' => trim($group_name), 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                     if ($groupid != '') {
                         $where = array('id=?' => $groupid);
                         $actionflag = 2;
                     } else {
                         $groupdata['createdby_role'] = $loginuserRole;
                         $groupdata['createdby_group'] = $loginuserGroup;
                         $groupdata['createdby'] = $loginUserId;
                         $groupdata['createddate'] = gmdate("Y-m-d H:i:s");
                         $groupdata['isactive'] = 1;
                         $where = '';
                         $actionflag = 1;
                     }
                     $Id = $appraisalGroupModel->SaveorUpdateAppraisalGroupsData($groupdata, $where);
                     if ($Id != 'update') {
                         $groupid = $Id;
                     }
                     $privilegesdata = array('manager_group_id' => $groupid, 'manager_qs' => $questions, 'manager_qs_privileges' => $qsprivileges, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                     $privielgeswhere = " pa_initialization_id = '" . $appraisal_id . "' and line_manager_1 = '" . $manager_id . "' and employee_id IN ({$empids}) and module_flag=1 and isactive= 1 ";
                     $updateprivileges = $appraisalPrivMainModel->SaveorUpdatePrivilegeData($privilegesdata, $privielgeswhere);
                     //echo '<pre>';print_r($finalarray);echo "</pre>";
                     $trDb->commit();
                     $result['result'] = 'success';
                     $result['msg'] = "Group " . ($action_flag == 'edit' ? "updated" : "created") . " successfully";
                 } else {
                     $result['result'] = 'error';
                     $result['msg'] = 'No questions to add';
                 }
             }
         } else {
             $result['result'] = 'error';
             $result['msg'] = 'Something went wrong.';
         }
     } catch (Exception $e) {
         $trDb->rollBack();
         $result['result'] = 'error';
         $result['msg'] = $e->getMessage();
     }
     $this->_helper->json($result);
 }
Пример #3
0
 public function deletegroupedemployeesAction()
 {
     $this->_helper->layout->disableLayout();
     $result['result'] = '';
     $result['msg'] = '';
     $result['empcount'] = '';
     $appraisalinitmodel = new Default_Model_Appraisalinit();
     $appraisalQsModel = new Default_Model_Appraisalquestions();
     $appraisalgroupModel = new Default_Model_Appraisalgroups();
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
         $loginuserArr = array('loginuserid' => $loginUserId, 'loginuserrole' => $loginuserRole, 'loginusergroup' => $loginuserGroup);
     }
     $groupid = $this->_request->getParam('groupid');
     $appraisalid = $this->_request->getParam('appraisalid');
     $trDb = Zend_Db_Table::getDefaultAdapter();
     $trDb->beginTransaction();
     try {
         if ($groupid && $appraisalid) {
             $appraisaldata = $appraisalinitmodel->getConfigData($appraisalid);
             if ($appraisaldata[0]['initialize_status'] == 1) {
                 $tablename = '';
             } else {
                 $tablename = 'main_pa_questions_privileges_temp';
             }
             $updatestatus = $appraisalQsModel->deletegroupqsprivileges($tablename, $appraisalid, $groupid, $loginuserArr);
             $groupdata = array('isactive' => 0, 'modifiedby' => $loginUserId, 'modifiedby_role' => $loginuserRole, 'modifiedby_group' => $loginuserGroup, 'modifieddate' => gmdate("Y-m-d H:i:s"));
             $groupwhere = array('id=?' => $groupid);
             $appraisalgroupModel->SaveorUpdateAppraisalGroupsData($groupdata, $groupwhere);
             $EmpCountArr = $appraisalQsModel->getGroupCountDetails($appraisalid, $tablename);
             if (!empty($EmpCountArr)) {
                 $result['empcount'] = $EmpCountArr[0]['empcount'];
             }
             $trDb->commit();
             $result['result'] = 'success';
             $result['msg'] = 'Group deleted succesfully.';
         }
     } catch (Exception $e) {
         $trDb->rollBack();
         $result['result'] = 'error';
         $result['msg'] = $e->getMessage();
     }
     $this->_helper->json($result);
 }