public function assigngroupsAction()
 {
     $appraisalinitmodel = new Default_Model_Appraisalgroupemployees();
     $appraisalGroupsModel = new Default_Model_Appraisalgroups();
     $id = $this->getRequest()->getParam('id');
     $id = 1;
     $employeeIds = '';
     $groupIds = '';
     $options = '';
     try {
         if ($id) {
             if (is_numeric($id) && $id > 0) {
                 $data = $appraisalinitmodel->getConfigData($id);
                 if (!empty($data)) {
                     $data = $data[0];
                     $param = 'main_pa_groups_employees_temp';
                     $mappedEmployeeIds = $appraisalinitmodel->getMappedEmployeeList($id, $param);
                     //echo '<pre>';print_r($mappedEmployeeIds);exit;
                     if (!empty($mappedEmployeeIds)) {
                         foreach ($mappedEmployeeIds as $list) {
                             $employeeIds .= $list['employee_ids'] . ',';
                             $groupIds .= $list['group_id'] . ',';
                         }
                         $employeeIds = rtrim($employeeIds, ',');
                         $groupIds = rtrim($groupIds, ',');
                         if ($groupIds != '') {
                             $appraisalgroupName = $appraisalGroupsModel->getAppraisalGroupsName($groupIds);
                         }
                     }
                     $employeeList = $appraisalinitmodel->getEmployeeList($data, $employeeIds, 1);
                     //$mappedemployeeList = $appraisalinitmodel->getEmployeeListWithGroup($data,$employeeIds,$groupIds);
                     //echo '<pre>';print_r($appraisalgroupName);exit;
                     $appraisalGroups = $appraisalGroupsModel->getAppraisalGroupsData();
                     $options = "<option value='' title=''>Select Group</opton>";
                     if (!empty($appraisalGroups)) {
                         foreach ($appraisalGroups as $groups) {
                             $options .= "<option value =" . $groups['id'] . ">" . $groups['group_name'] . "</option>";
                         }
                     }
                     $this->view->employeeList = $employeeList;
                     $this->view->appraisalgroupName = $appraisalgroupName;
                     $this->view->options = $options;
                     $this->view->appraisalid = $id;
                     if ($this->getRequest()->getPost()) {
                         $result = $this->savegroupedemployees();
                         $this->view->msgarray = $result;
                     }
                     $this->view->messages = $this->_helper->flashMessenger->getMessages();
                 } else {
                     $this->view->ermsg = 'norecord';
                 }
             } else {
                 $this->view->ermsg = 'norecord';
             }
         } else {
             $this->view->ermsg = 'norecord';
         }
     } catch (Exception $e) {
         $this->view->ermsg = 'nodata';
     }
 }
 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 create new group by manager.It will serve as ajax call.
  */
 public function createnewgroupAction()
 {
     $appraisal_id = $this->_getParam('appraisal_id', null);
     $manager_id = $this->_getParam('manager_id', null);
     $flag = $this->_getParam('flag', null);
     $group_id = $this->_getParam('group_id', null);
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     try {
         if ($appraisal_id != '' && $manager_id != '') {
             $appraisal_id = sapp_Global::_decrypt($appraisal_id);
             $manager_id = sapp_Global::_decrypt($manager_id);
             if ($flag == 'edit') {
                 $group_id = sapp_Global::_decrypt($group_id);
             }
             $app_manager_model = new Default_Model_Appraisalmanager();
             $appraisal_init_model = new Default_Model_Appraisalinit();
             $appraisal_qs_model = new Default_Model_Appraisalquestions();
             $check_array = array();
             $tablename = 'main_pa_questions_privileges';
             $manager_emp = $app_manager_model->getmanager_emp($appraisal_id, $manager_id, '');
             if (empty($manager_emp) && $flag == 'add') {
                 $this->view->ermsg = 'No employees to add.';
             }
             $appraisaldata = $appraisal_init_model->getConfigData($appraisal_id);
             $appraisaldata = $appraisaldata[0];
             $questionPrivileges = $appraisal_qs_model->gethrquestionprivileges($appraisal_id, $tablename, '');
             $questionsArr = $appraisal_qs_model->getQuestionsByCategory($appraisaldata['category_id'], '');
             if (!empty($questionPrivileges)) {
                 if (isset($questionPrivileges['manager_qs']) && isset($questionPrivileges['manager_qs_privileges'])) {
                     if ($questionPrivileges['manager_qs'] != '' && $questionPrivileges['manager_qs_privileges'] != '') {
                         $hr_qs_Arr = explode(',', $questionPrivileges['manager_qs']);
                         $hr_qs_privileges = json_decode($questionPrivileges['manager_qs_privileges'], true);
                         foreach ($hr_qs_privileges as $key => $val) {
                             //$val = explode(',',substr($val, 1, -1));
                             $check_array[$key] = $val;
                         }
                     }
                 }
             }
             if (sapp_Global::_checkprivileges(APPRAISALQUESTIONS, $loginuserGroup, $loginuserRole, 'edit') == 'Yes') {
                 $appraisaldata['poppermission'] = 'yes';
             }
             $appraisaldata['poppermission'] = 'yes';
             $manager_emp_selected = array();
             $group_name = "";
             if ($flag == 'edit') {
                 $app_group_model = new Default_Model_Appraisalgroups();
                 $group_details = $app_group_model->getAppraisalGroupsDatabyID($group_id);
                 if (!empty($group_details)) {
                     $group_details = $group_details[0];
                     $group_name = $group_details['group_name'];
                     $manager_emp_selected = $app_manager_model->getmanager_emp($appraisal_id, $manager_id, $group_id);
                     $manager_qs_privileges = json_decode($manager_emp_selected[0]['manager_qs_privileges'], true);
                     foreach ($manager_qs_privileges as $key => $val) {
                         $check_array[$key] = $val;
                     }
                 } else {
                     $this->view->ermsg = 'No data found.';
                 }
             }
             $view = $this->view;
             $view->appraisal_id = $appraisal_id;
             $view->manager_id = $manager_id;
             $view->manager_emp = $manager_emp;
             $view->questionsArr = $questionsArr;
             $view->checkArr = $check_array;
             $view->appraisaldata = $appraisaldata;
             $view->checkArr = $check_array;
             $view->flag = $flag;
             $view->group_name = $group_name;
             $view->group_id = $group_id;
             $view->selected_emp = $manager_emp_selected;
         } else {
             $this->view->ermsg = 'No data found.';
         }
     } catch (Exception $ex) {
         $this->view->ermsg = 'No data found.';
     }
 }
 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);
 }