/** * */ public function changestatusAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } $id = $this->_request->getParam('objid'); $status = $this->_getParam('status', null); $grid_type = $this->_getParam('grid_type', null); $messages['message'] = ''; $messages['msgtype'] = ''; $actionflag = 3; if ($id != '') { $sd_req_model = new Default_Model_Servicerequests(); $grid_type_arr = $sd_req_model->getGridtypearr_rev(); $display_status = array('Cancelled' => 'cancelled', 'To manager approve' => ' sent for manager approve ', 'To management approve' => ' sent for approve', 'Closed' => 'closed'); $data = array('status' => $status, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId); if ($status != 'Cancelled') { $data['executor_id'] = $loginUserId; } if ($status == 'To manager approve') { $reporting_manager = $sd_req_model->getReptId($id); if ($reporting_manager != '') { $data['reporting_manager_id'] = $reporting_manager; } if ($reporting_manager != "" && $reporting_manager == $loginUserId) { $messages['message'] = 'Service desk request cannot be sent for manager approve.'; $messages['msgtype'] = 'error'; $messages['flagtype'] = 'dont_redirect'; $messages['grid_type'] = sapp_Global::_encrypt($grid_type_arr[$grid_type]); $this->_helper->json($messages); } } else { if ($status == 'To management approve') { $approver_arr = $sd_req_model->getApprovers($id, 'request'); $data = $data + $approver_arr; } } $where = array('id=?' => $id); $trDb = Zend_Db_Table::getDefaultAdapter(); // starting transaction $trDb->beginTransaction(); try { $Id = $sd_req_model->SaveorUpdateRequestData($data, $where); if ($Id == 'update') { $result = sapp_Global::logManager(SERVICEDESKREQUEST, $actionflag, $loginUserId, $id); if ($status != 'Cancelled') { $this->send_req_mails($id); } $messages['message'] = 'Service desk request ' . $display_status[$status] . ' successfully.'; $messages['msgtype'] = 'success'; $messages['flagtype'] = 'sd_request'; $messages['grid_type'] = sapp_Global::_encrypt($grid_type_arr[$grid_type]); } else { $messages['message'] = 'Service desk request cannot be ' . $display_status[$status] . '.'; $messages['msgtype'] = 'error'; $messages['flagtype'] = 'sd_request'; $messages['grid_type'] = sapp_Global::_encrypt($grid_type_arr[$grid_type]); } $trDb->commit(); } catch (Exception $e) { $trDb->rollBack(); $messages['message'] = 'Service desk request cannot be ' . $display_status[$status] . '.'; $messages['msgtype'] = 'error'; $messages['flagtype'] = 'sd_request'; $messages['grid_type'] = sapp_Global::_encrypt($grid_type_arr[$grid_type]); } } else { $messages['message'] = 'Service desk request cannot be ' . $display_status[$status] . '.'; $messages['msgtype'] = 'error'; $messages['flagtype'] = 'sd_request'; $messages['grid_type'] = sapp_Global::_encrypt($grid_type_arr[$grid_type]); } $this->_helper->json($messages); }