/**
  * This action is used to edit the current available appraisal,where manager will manager his/her
  * employees as groups.
  */
 public function editAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $businessunit_id = $auth->getStorage()->read()->businessunit_id;
         $department_id = $auth->getStorage()->read()->department_id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $id = $this->getRequest()->getParam('id');
     try {
         if ($id != '') {
             //$id = sapp_Global::_decrypt($id);
             if (is_numeric($id) && $id > 0) {
                 $app_manager_model = new Default_Model_Appraisalmanager();
                 $appraisal_init_model = new Default_Model_Appraisalinit();
                 $appraisalQsModel = new Default_Model_Appraisalquestions();
                 $tablename = 'main_pa_questions_privileges';
                 $appraisal_data = $appraisal_init_model->getappdata_forview($id);
                 if ($appraisal_data['status'] == 1 && $appraisal_data['enable_step'] == 1) {
                     $appraisal_data['process_status'] = '';
                     if (!empty($appraisal_data)) {
                         if ($appraisal_data['initialize_status'] == 1) {
                             if ($appraisal_data['enable_step'] == 1) {
                                 $appraisal_data['process_status'] = 'Enabled to Managers';
                             }
                             if ($appraisal_data['enable_step'] == 2) {
                                 $appraisal_data['process_status'] = 'Enabled to Employees';
                             }
                         } else {
                             if ($appraisal_data['initialize_status'] == 2) {
                                 $appraisal_data['process_status'] = 'Initialize Later';
                             } else {
                                 $appraisal_data['process_status'] = 'In progress';
                             }
                         }
                     }
                     $EmpCountArr = $app_manager_model->getManagerGroupCount($id, $loginUserId);
                     if (!empty($EmpCountArr)) {
                         $appraisal_data['empcount'] = $EmpCountArr[0]['empcount'];
                     }
                     $manager_groups = $app_manager_model->getManagergroups($id, $loginUserId);
                     $questionsArr = $appraisalQsModel->getQuestionsByCategory($appraisal_data['category_id'], '');
                     $view = $this->getHelper('ViewRenderer')->view;
                     $view->previ_data = 'no';
                     $view->data = $appraisal_data;
                     $text = $view->render('appraisalinit/view.phtml');
                     $this->view->appraisal_id = $id;
                     $this->view->manager_id = $loginUserId;
                     $this->view->manager_groups = $manager_groups;
                     $this->view->appraisal_data = $appraisal_data;
                     $this->view->app_text = $text;
                     $this->view->questionsArr = $questionsArr;
                 } else {
                     $this->view->ermsg = 'nodata';
                 }
             } else {
                 $this->view->ermsg = 'nodata';
             }
         } else {
             $this->view->ermsg = 'nodata';
         }
     } catch (Exception $ex) {
         $this->view->ermsg = 'nodata';
     }
 }
 public function displaysettingsAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $msgarray = array();
     $check_array = array();
     $questionsArr = array();
     $appraisalid = $this->_request->getParam('appraisalid');
     $settingflag = $this->_request->getParam('settingflag');
     $appraisalinitmodel = new Default_Model_Appraisalinit();
     $appraisalQsModel = new Default_Model_Appraisalquestions();
     $data = $appraisalinitmodel->getConfigData($appraisalid);
     $data = $data[0];
     if ($data['initialize_status'] == 1) {
         $tablename = '';
     } else {
         $tablename = 'main_pa_questions_privileges_temp';
     }
     if ($settingflag == 1) {
         if ($data['category_id'] != '' && $data['category_id'] != 'null') {
             $questionsArr = $appraisalQsModel->getQuestionsByCategory($data['category_id'], '');
         }
         $questionPrivileges = $appraisalQsModel->gethrquestionprivileges($appraisalid, $tablename, '');
         //echo '<pre>';print_r($questionsArr);exit;
         if (!empty($questionPrivileges)) {
             if (isset($questionPrivileges['hr_qs']) && isset($questionPrivileges['hr_group_qs_privileges'])) {
                 if ($questionPrivileges['hr_qs'] != '' && $questionPrivileges['hr_group_qs_privileges'] != '') {
                     $hr_qs_Arr = explode(',', $questionPrivileges['hr_qs']);
                     $hr_qs_privileges = json_decode($questionPrivileges['hr_group_qs_privileges'], true);
                     foreach ($hr_qs_privileges as $key => $val) {
                         //$val = explode(',',substr($val, 1, -1));
                         $check_array[$key] = $val;
                     }
                 }
             }
         }
         $this->view->questionsArr = $questionsArr;
         $this->view->checkArr = $check_array;
     } else {
         $groupEmployeeCountArr = $appraisalQsModel->getGroupEmployeeCount($appraisalid, $tablename);
         $EmpCountArr = $appraisalQsModel->getGroupCountDetails($appraisalid, $tablename);
         if (!empty($EmpCountArr)) {
             $data['empcount'] = $EmpCountArr[0]['empcount'];
         }
         $this->view->groupEmployeeCountArr = $groupEmployeeCountArr;
     }
     if (sapp_Global::_checkprivileges(APPRAISALQUESTIONS, $loginuserGroup, $loginuserRole, 'edit') == 'Yes') {
         $data['poppermission'] = 'yes';
     }
     $this->view->appraisalid = $appraisalid;
     $this->view->initializationdata = $data;
     $this->view->settingflag = $settingflag;
 }