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); }
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; } }