/** * * @param type $requisitionform * @param type $data * @return type */ public function save($requisitionform, $data) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserGroup = $auth->getStorage()->read()->group_id; } $requi_model = new Default_Model_Requisition(); $user_model = new Default_Model_Usermanagement(); $req_status = $this->_getParam('req_status', null); try { //update HR Executive for Requisition $hrExecutiveID = $this->_getParam('hrexecutive_id', null); $requisition_code = $this->_getParam('requisition_code', null); $requisition_id = $this->_getParam('id', null); $result1 = $requi_model->update_requisition_hrexecutive($requisition_id, $requisition_code, $hrExecutiveID, $loginUserId, gmdate("Y-m-d H:i:s")); //send emails $this->hrexecutive_to_requisition_emails($data, $requisition_code, $hrExecutiveID); } catch (Exception $xyz) { } $flag = 'true'; if ($requisitionform->isValid($this->_request->getPost()) && $flag != 'false') { $id = $this->_getParam('id', null); $req_status = $this->_getParam('req_status', null); $onboard_date = $this->_getParam('onboard_date', null); $data = array('req_status' => $req_status, 'modifiedby' => trim($loginUserId), 'modifiedon' => gmdate("Y-m-d H:i:s")); if ($onboard_date != '') { $data = $data + array('onboard_date' => sapp_Global::change_date($onboard_date, 'database')); } $where = "id = " . $id; $result = $requi_model->SaveorUpdateRequisitionData($data, $where); $requisition_data = $requi_model->getReqDataForView($id); $requisition_data = $requisition_data[0]; if ($loginUserId == $requisition_data['approver1']) { $result1 = $requi_model->insert_requisition_approvalLog($id, $requisition_data['requisition_code'], $data['req_status'], $loginUserId, gmdate("Y-m-d H:i:s")); } $tableid = $id; $actionflag = 2; if ($result != '') { if ($req_status == 'Complete' || $req_status == 'Closed') { $requi_model->change_to_requisition_closed($id); $report_person_data = $user_model->getUserDataById($requisition_data['createdby']); $closed_person_data = $user_model->getUserDataById($loginUserId); //HR $mail_arr[0]['name'] = 'HR'; $mail_arr[0]['email'] = constant('REQ_HR_0'); $mail_arr[0]['type'] = 'HR'; //Management $mail_arr[1]['name'] = 'Management'; $mail_arr[1]['email'] = constant('REQ_MGMT_0'); $mail_arr[1]['type'] = 'Management'; //Requester $mail_arr[2]['name'] = $report_person_data['userfullname']; $mail_arr[2]['email'] = $report_person_data['emailaddress']; $mail_arr[2]['type'] = 'Raise'; for ($ii = 0; $ii < count($mail_arr); $ii++) { $base_url = 'http://' . $this->getRequest()->getHttpHost() . $this->getRequest()->getBaseUrl(); $view = $this->getHelper('ViewRenderer')->view; $this->view->emp_name = $mail_arr[$ii]['name']; $this->view->base_url = $base_url; $this->view->type = $mail_arr[$ii]['type']; $this->view->requisition_code = $requisition_data['requisition_code']; $this->view->req_status = $status = strtolower($req_status == 'Closed' ? "Closed" : $req_status); $this->view->raised_name = $report_person_data['userfullname']; $this->view->approver_str = $closed_person_data['userfullname']; $text = $view->render('mailtemplates/changedrequisition.phtml'); $options['subject'] = APPLICATION_NAME . ':' . $requisition_data['requisition_code'] . '-Requisition is ' . $status; $options['header'] = 'Requisition is ' . $status; $options['toEmail'] = $mail_arr[$ii]['email']; $options['toName'] = $mail_arr[$ii]['name']; $options['message'] = $text; //$options['cron'] = 'yes'; sapp_Global::_sendEmail($options, "changedrequisition", REQUISITIONMODULESENDEMAIL); } } $menumodel = new Default_Model_Menu(); $objidArr = $menumodel->getMenuObjID('/approvedrequisitions'); $objID = $objidArr[0]['id']; $result = sapp_Global::logManager($objID, $actionflag, $loginUserId, $tableid); if ($id != '') { $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Requisition updated successfully.")); } else { $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Requisition added successfully.")); } $this->_redirect('/approvedrequisitions'); } } else { $messages = $requisitionform->getMessages(); $msgarray = array(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } return $msgarray; } }