コード例 #1
0
 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) {
         $model = new Default_Model_Appraisalconfig();
         $init_cnt = $model->check_delete($id);
         if ($init_cnt == 0) {
             $data = array('isactive' => 0, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId);
             $where = array('id=?' => $id);
             $Id = $model->SaveorUpdateAppraisalConfigData($data, $where);
             if ($Id == 'update') {
                 $result = sapp_Global::logManager(APPRAISAL_SETTINGS, $actionflag, $loginUserId, $id);
                 $messages['message'] = 'Appraisal setting deleted successfully.';
                 $messages['msgtype'] = 'success';
             } else {
                 $messages['message'] = 'Appraisal setting cannot be deleted.';
                 $messages['msgtype'] = 'error';
             }
         } else {
             $messages['message'] = 'An active appraisal process exists for the selected appraisal setting. Appraisal Setting cannot be deleted.';
             $messages['msgtype'] = 'error';
         }
     } else {
         $messages['message'] = 'Appraisal setting cannot be deleted.';
         $messages['msgtype'] = 'error';
     }
     $this->_helper->json($messages);
 }
コード例 #2
0
 public function save($appraisalconfigform)
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $appraisalconfigmodel = new Default_Model_Appraisalconfig();
     $departmentsmodel = new Default_Model_Departments();
     $businessunitsmodel = new Default_Model_Businessunits();
     $msgarray = array();
     $resultArr = array();
     //$empstring = '';
     //$prevBusinessunit = '';
     $errorflag = "true";
     $id = $this->_request->getParam('id');
     $businessunit_id = $this->_request->getParam('businessunit_id');
     $performance_app_flag = $this->_request->getParam('performance_app_flag');
     $department_id = $this->_request->getParam('department_id');
     $appraisal_mode = $this->_request->getParam('appraisal_mode');
     $approval_selection = $this->_request->getParam('approval_selection');
     $appraisal_ratings = $this->_request->getParam('appraisal_ratings');
     /** Start
      * Validating selection of department if implementaion is department wise
      */
     if ($performance_app_flag == 0) {
         if ($department_id == '') {
             $msgarray['department_id'] = 'Please select department.';
             $errorflag = "false";
         }
     }
     /**
      End validating selection of department
     */
     /**
      * End Approver level selection
      */
     /** Start
          Validating unique service desk department
         */
     if ($businessunit_id != '' && $id == '') {
         $appraisalconigfArr = $appraisalconfigmodel->checkuniqueAppraisalConfigData($businessunit_id, $performance_app_flag, $department_id);
         if (!empty($appraisalconigfArr)) {
             if ($appraisalconigfArr[0]['count'] > 0) {
                 $msgarray['department_id'] = 'Please select a different department.';
                 $errorflag = "false";
             }
         }
     }
     /** End
      * Validating uniques service desk department
      */
     /**
      * Validating if pending requests are there when changing the implementation
      */
     if ($businessunit_id != '') {
         $implementationdata = $businessunitsmodel->getSingleUnitData($businessunit_id);
         //echo "<pre>"; print_r($implementationdata);echo "</pre>"; die;
         if (!empty($implementationdata)) {
             $prevBusinessunit = $implementationdata['service_desk_flag'];
         }
         if ($performance_app_flag != '') {
             if ($prevBusinessunit != $performance_app_flag) {
                 $pendingRequestdata = $appraisalconfigmodel->getPendingAppraisalConfigData($businessunit_id);
                 if (!empty($pendingRequestdata)) {
                     if ($pendingRequestdata[0]['count'] > 0) {
                         $msgarray['performance_app_flag'] = 'Applicability cannot be changed as requests are in pending state.';
                         $errorflag = "false";
                     }
                 }
             }
         }
     }
     /**
      * End validating pending request checking 
      */
     $db = Zend_Db_Table::getDefaultAdapter();
     $db->beginTransaction();
     if ($appraisalconfigform->isValid($this->_request->getPost()) && $errorflag == 'true') {
         try {
             $menumodel = new Default_Model_Menu();
             $actionflag = '';
             $tableid = '';
             $data = array('businessunit_id' => $businessunit_id, 'department_id' => $department_id != '' ? $department_id : NULL, 'performance_app_flag' => $performance_app_flag, 'appraisal_mode' => $appraisal_mode, 'approval_selection' => $approval_selection, 'appraisal_ratings' => $appraisal_ratings, 'module_flag' => 1, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
             if ($id != '') {
                 /* for Update record  */
                 $where = array('id=?' => $id);
                 $actionflag = 2;
             } else {
                 /* for Insert new record  */
                 $data['createdby'] = $loginUserId;
                 $data['createddate'] = gmdate("Y-m-d H:i:s");
                 $data['isactive'] = 1;
                 $where = '';
                 $actionflag = 1;
             }
             $Id = $appraisalconfigmodel->SaveorUpdateAppraisalConfigData($data, $where);
             if ($Id == 'update') {
                 $tableid = $id;
                 $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Configuration updated successfully."));
             } else {
                 $tableid = $Id;
                 $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Configuration added successfully."));
             }
             $menuidArr = $menumodel->getMenuObjID('/appraisalconfig');
             $menuID = $menuidArr[0]['id'];
             $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
             $db->commit();
             $this->_redirect('appraisalconfig');
             //throw new Exception("Some error message");
         } catch (Exception $e) {
             $db->rollBack();
             //echo $e->getMessage();
             // echo $e->getTraceAsString();
             //$msgarray['service_desk_id'] = "Something went wrong, please try again.";
             return $msgarray;
         }
     } else {
         $messages = $appraisalconfigform->getMessages();
         foreach ($messages as $key => $val) {
             foreach ($val as $key2 => $val2) {
                 $msgarray[$key] = $val2;
                 break;
             }
         }
         if (isset($businessunit_id) && $businessunit_id != '') {
             if ($performance_app_flag == 0) {
                 $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id);
                 if (!empty($departmentlistArr)) {
                     //echo "<pre>";print_r($departmentlistArr); echo "</pre>";
                     foreach ($departmentlistArr as $departmentlist) {
                         $appraisalconfigform->department_id->addMultiOption($departmentlist['id'], utf8_encode($departmentlist['deptname']));
                     }
                 }
             }
             // $department_id = $departmentlist['deptname'];
             //echo "dept:".$department_id; die;
             //echo $performance_app_flag; die;
             if (isset($department_id) && $department_id != 0 && $department_id != '') {
                 $appraisalconfigform->setDefault('department_id', $department_id);
             }
         }
         //echo "<pre>";print_r($msgarray);echo "</pre>"; die;
         return $msgarray;
     }
 }