/**
  * 
  * Edit function to prepopulate the data.
  * 
  */
 public function editAction($id = '')
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
         $businessUnit = $auth->getStorage()->read()->businessunit_id;
         $department = $auth->getStorage()->read()->department_id;
     }
     $appInitModel = new Default_Model_Appraisalinit();
     $msgarray = array();
     $buOptions = '';
     $deptOptions = '';
     if ($id == '') {
         $id = $this->getRequest()->getParam('id');
     }
     if ($loginuserRole != SUPERADMINROLE && $loginuserGroup != MANAGEMENT_GROUP) {
         $callval = $this->getRequest()->getParam('call');
         if ($callval == 'ajaxcall') {
             $this->_helper->layout->disableLayout();
         }
         $appraisalratingsform = new Default_Form_Appraisalratings();
         $appraisalratingsmodel = new Default_Model_Appraisalratings();
         $performanceappflag = '';
         $appraisalratingsform->submit->setLabel('Update');
         $res = $appraisalratingsmodel->checkAccessAddratings($businessUnit, $department);
         foreach ($res as $result) {
             $appraisal_rating = $result['appraisal_ratings'];
         }
         $appraisal_rating = $appraisal_rating == 1 ? 5 : 10;
         try {
             if ($id) {
                 if (is_numeric($id) && $id > 0) {
                     $data = $appraisalratingsmodel->getAppraisalRatingsbyInitId($id);
                     if (!empty($data)) {
                         //$data = $data[0];
                         //echo "<pre>"; print_r($data);echo "</pre>";
                         // $appraisal_rating = 1;
                         $appInitdata = $appInitModel->getConfigData($data[0]['pa_initialization_id']);
                         $appraisalratingsform->setAttrib('action', DOMAIN . 'appraisalratings/edit/id/' . $id);
                         /* Fetch business unit and department name*/
                         $appImpleData = sapp_PerformanceHelper::check_per_implmentation($businessUnit, $department);
                         $performanceappflag = $appImpleData['performance_app_flag'];
                         $optionsArray = $this->buildoptions($businessUnit, $department, $performanceappflag);
                         $buOptions = $optionsArray['buoptions'];
                         $deptOptions = isset($optionsArray['deptoptions']) ? $optionsArray['deptoptions'] : '';
                         /* End */
                         $this->view->performanceappflag = $performanceappflag;
                         $this->view->buOptions = $buOptions;
                         $this->view->deptOptions = $deptOptions;
                         $this->view->data = $data;
                         $this->view->checkActiveApp = $appInitdata[0];
                         $this->view->appraisal_rating = $appraisal_rating;
                     } else {
                         $this->view->ermsg = 'norecord';
                     }
                 } else {
                     $this->view->ermsg = 'norecord';
                 }
             } else {
                 $this->view->ermsg = 'nodata';
             }
         } catch (Exception $e) {
             $this->view->ermsg = 'nodata';
         }
         $this->view->form = $appraisalratingsform;
         if ($this->getRequest()->getPost()) {
             $result = $this->save($appraisalratingsform);
             $this->view->msgarray = $result;
         }
         $this->render('form');
     } else {
         $buOptions = '';
         $deptOptions = '';
         $businessUnitId = '';
         $department = '';
         $deptArr = array();
         $flag = 2;
         $appraisaldataArr = $appInitModel->getAppDataById($id);
         if (!empty($appraisaldataArr)) {
             $businessUnitId = $appraisaldataArr['businessunit_id'];
             $departmentId = $appraisaldataArr['department_id'] != 'null' ? $appraisaldataArr['department_id'] : '';
             $appImpleData = sapp_PerformanceHelper::check_per_implmentation($businessUnitId, $departmentId);
             $performanceappflag = $appImpleData['performance_app_flag'];
             $optionsArray = $this->buildoptions($businessUnitId, $departmentId, $performanceappflag);
             $buOptions = $optionsArray['buoptions'];
             $deptOptions = isset($optionsArray['deptoptions']) ? $optionsArray['deptoptions'] : '';
         }
         if ($this->getRequest()->getPost()) {
             $result = $this->save($appraisalratingsform);
             $this->view->msgarray = $result;
         }
         $this->view->appraislaid = $id;
         $this->view->performanceappflag = $performanceappflag;
         $this->view->businessUnitId = $businessUnitId;
         $this->view->departmentId = $departmentId;
         $this->view->buOptions = $buOptions;
         $this->view->deptOptions = $deptOptions;
         $this->view->flag = $flag;
         $this->render('managementform');
     }
 }