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