public function editAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     try {
         $appEmpRatingsModel = new Default_Model_Appraisalemployeeratings();
         $app_rating_model = new Default_Model_Appraisalratings();
         $appEmpRatingsData = $appEmpRatingsModel->getSelfAppraisalDataByEmpID($loginUserId);
         if (sizeof($appEmpRatingsData) > 0 && $appEmpRatingsData[0]['employee_id'] == $loginUserId && $appEmpRatingsData[0]['status'] == 1 && $appEmpRatingsData[0]['appraisal_status'] == APP_PENDING_EMP) {
             // Check rating exist for appraisal.
             $checkRatingsExists = $app_rating_model->getAppraisalRatingsbyInitId($appEmpRatingsData[0]['pa_initialization_id']);
             // get all Categories Data based on category ids
             $categories_data = $appEmpRatingsModel->getAppCateDataByIDs($appEmpRatingsData[0]['category_id']);
             // get question previleges data of employee for that initialization
             $appEmpQuesPrivData = $appEmpRatingsModel->getAppEmpQuesPrivData($appEmpRatingsData[0]['pa_initialization_id'], $appEmpRatingsData[0]['employee_id']);
             // merging HR and Manager questions
             $ques_csv = '';
             if ($appEmpQuesPrivData[0]['hr_qs']) {
                 $ques_csv .= $appEmpQuesPrivData[0]['hr_qs'];
             }
             if ($appEmpQuesPrivData[0]['manager_qs']) {
                 if ($ques_csv) {
                     $ques_csv .= ',';
                 }
                 $ques_csv .= $appEmpQuesPrivData[0]['manager_qs'];
             }
             // get all questions data based on above question ids
             $questions_data = $appEmpRatingsModel->getAppQuesDataByIDs($ques_csv);
             // merging HR and Manager questions privileges
             $hr_ques_previs = array();
             $mgr_ques_previs = array();
             $ratingType = array();
             if ($appEmpQuesPrivData[0]['hr_group_qs_privileges']) {
                 $hr_ques_previs = json_decode($appEmpQuesPrivData[0]['hr_group_qs_privileges'], true);
             }
             if ($appEmpQuesPrivData[0]['manager_qs_privileges']) {
                 $mgr_ques_previs = json_decode($appEmpQuesPrivData[0]['manager_qs_privileges'], true);
             }
             $question_previs = $hr_ques_previs + $mgr_ques_previs;
             // Employee and Manager response
             $emp_response = array();
             $mgr_response = array();
             if ($appEmpRatingsData[0]['employee_response']) {
                 $emp_response = json_decode($appEmpRatingsData[0]['employee_response'], true);
             }
             if ($appEmpRatingsData[0]['manager_response']) {
                 $mgr_response = json_decode($appEmpRatingsData[0]['manager_response'], true);
             }
             // get rating details using configuration id
             $ratingsData = $appEmpRatingsModel->getAppRatingsDataByConfgId($appEmpRatingsData[0]['pa_configured_id'], $appEmpRatingsData[0]['pa_initialization_id']);
             if (count($ratingsData) > 0) {
                 $ratingType = $ratingsData[0]['rating_type'];
             }
             $ratingText = array();
             $ratingValues = array();
             foreach ($ratingsData as $rd) {
                 $ratingText[] = $rd['rating_text'];
                 $ratingValues[$rd['id']] = $rd['rating_value'];
             }
             // building managers names from Emp-Ques-Privileges data
             $managerIDs = array();
             $managerNames = array();
             $line_unique_arr = array_filter(array_unique(array(1 => $appEmpQuesPrivData[0]['line_manager_1'], 2 => $appEmpQuesPrivData[0]['line_manager_2'], 3 => $appEmpQuesPrivData[0]['line_manager_3'], 4 => $appEmpQuesPrivData[0]['line_manager_4'], 5 => $appEmpQuesPrivData[0]['line_manager_5'])), 'strlen');
             if (!empty($line_unique_arr)) {
                 for ($i = 1; $i <= count($line_unique_arr); $i++) {
                     $managerIDs[] = $line_unique_arr[$i];
                 }
                 $usersData = $appEmpRatingsModel->getUserNamesByIDs(implode($managerIDs, ','));
                 foreach ($managerIDs as $mi) {
                     foreach ($usersData as $ud) {
                         if ($ud['id'] == $mi) {
                             $managerNames[] = $ud['userfullname'];
                         }
                     }
                 }
             }
             $this->view->managerNames = $managerNames;
             $this->view->mgrLevels = $appEmpQuesPrivData[0]['manager_levels'];
             $this->view->appEmpRatingsData = $appEmpRatingsData;
             $this->view->categories_data = $categories_data;
             $this->view->questions_data = $questions_data;
             $this->view->question_previs = $question_previs;
             $this->view->ratingType = $ratingType;
             $this->view->ratingText = json_encode($ratingText);
             $this->view->ratingValues = $ratingValues;
             $this->view->emp_response = $emp_response;
             $this->view->mgr_response = $mgr_response;
             $this->view->check_ratings_exists = $checkRatingsExists;
         } else {
             $this->view->rowexist = "norows";
         }
     } catch (Exception $e) {
         $this->view->rowexist = "norows";
     }
 }
 public function getempcontentAction()
 {
     $post_values = $this->getRequest()->getPost();
     if (count($post_values) > 0) {
         $appraisal_id = sapp_Global::_decrypt($post_values['appraisal_id']);
         $manager_id = sapp_Global::_decrypt($post_values['manager_id']);
         $user_id = sapp_Global::_decrypt($post_values['user_id']);
         $flag = sapp_Global::_decrypt($post_values['flag']);
         $app_config_id = sapp_Global::_decrypt($post_values['app_config_id']);
         $app_ratings = sapp_Global::_decrypt($post_values['app_rating']);
         $emp_status = sapp_Global::_decrypt($post_values['emp_status']);
         $key = $post_values['key'];
         $appEmpRatingsModel = new Default_Model_Appraisalemployeeratings();
         $data = array();
         if ($appraisal_id != '' && $manager_id != '' && $user_id != '' && $flag != '') {
             $model = new Default_Model_Appraisalmanager();
             $data = $model->getempcontent($appraisal_id, $manager_id, $user_id, $flag, $app_config_id);
         }
         $appEmpQuesPrivData = $appEmpRatingsModel->getAppEmpQuesPrivData($appraisal_id, $user_id);
         $hr_ques_previs = array();
         $mgr_ques_previs = array();
         $ratingType = array();
         if ($appEmpQuesPrivData[0]['hr_group_qs_privileges']) {
             $hr_ques_previs = json_decode($appEmpQuesPrivData[0]['hr_group_qs_privileges'], true);
         }
         if ($appEmpQuesPrivData[0]['manager_qs_privileges']) {
             $mgr_ques_previs = json_decode($appEmpQuesPrivData[0]['manager_qs_privileges'], true);
         }
         $question_previs = $hr_ques_previs + $mgr_ques_previs;
         // Get 'My Team Appraisal - Employee' skills
         $emp_skills = $appEmpRatingsModel->getAppEmpSkills($appraisal_id, $user_id);
         $this->view->data = $data;
         $this->view->key = $key;
         $this->view->flag = $flag;
         $this->view->user_id = $user_id;
         $this->view->emp_skills = $emp_skills;
         $this->view->appraisal_id = $appraisal_id;
         $this->view->emp_status = $emp_status;
         $this->view->app_ratings = $app_ratings;
         $this->view->question_previs = $question_previs;
     }
 }