/**
  * 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 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);
 }