You are on page 1of 3

public function newAction() { $this->view->title = 'New Assignment Form'; $currentUser = Zend_Auth::getInstance()->getIdentity(); //get the last page the user

was on $lastUrl = $this->getFrontController()->getPlugin('Application_Plugin_Pa geStac ')->getLastUri(); $lastUrl = ($lastUrl === null) ? '/' : $lastUrl; //get the multi option s for job type $jobTypeMultiOptions = $this->getJobTypeMultiOptions($currentUser->recru iter_id); // Display form $form = new Application_Form_NewAssignmentRequest(); $form->job_type->setMultiOptions($jobTypeMultiOptions); $form->cancel->setAttrib('onclic ', 'javascript:window.location=\''.$las tUrl.'\''); $this->view->form = $form; //Search Contracts form $this->view->searchContractsForm = new Application_Form_searchContracts( ); //Search Employees form $this->view->searchEmployeesForm = new Application_Form_SearchEmployees( ); $isEdit = $this->getRequest()->getParam('act'); $id = $this->getRequest()->getParam('id'); if ($this->getRequest()->isGet()) { if($id != null) { $assignmentRequest = $this->getAssignmentRequestsModel()->fetchRo w( $this->whereById($id)); $this->formatDates($assignmentRequest); $assignmentRequestArray = $assignmentRequest->toArray(); //If the call is a copy request we don't use the employee data if($this->getRequest()->getParam('fromcopy') == 'true') { foreach($assignmentRequestArray as $ ey => $value) { if(substr($ ey, 0, 9) == 'employee_') { $assignmentRequestArray[$ ey] = ''; } } } $form->populate($assignmentRequestArray); } } else if ($this->getRequest()->isPost()) { if(isset($_POST['save'])) { $elements = $form->getElements(); foreach($elements as $ele) { $ele->clearValidators(); $ele->setRequired(false); $ele->setAllowEmpty(true); } $form->employee_name_first->setRequired(true);

$form->employee_name_first->setAllowEmpty(false); $form->employee_name_last->setRequired(true); $form->employee_name_last->setAllowEmpty(false); $form->company_name_wor ->setRequired(true); $form->company_name_wor ->setAllowEmpty(false); $form->company_name_invoice->setRequired(true); $form->company_name_invoice->setAllowEmpty(false); } //trim whitespace foreach($_POST as $ ey => $value) { $_POST[$ ey] = trim($value); } if($form->isValid($this->getRequest()->getPost())) { $arMapper = new Application_Model_AssignmentRequests(); $data = $this->getRequest()->getPost(); $data['recruiter_id'] = $currentUser->recruiter_id; $data['request_status'] = isset($_POST['save']) ? 'Saved' : 'Sub mitted'; $data['created_by'] = $currentUser->first . ' ' . $currentUser-> last; $data['created_time'] =date("Y-m-d H:i:s"); $data['request_type'] = 'Add'; if(!isset($_POST['save'])) { $data['submitted_time'] = date("Y-m-d H:i:s"); $data['submitted_by'] = $currentUser->first . ' ' . $current User->last; } //$data['billrate_regular'] = $data['company_bill_rate'] - $data ['payrate_regular']; $this->calculateAmounts($data); foreach($data as &$d) { if($d == '') $d = null; } if($isEdit && $id) { unset($data['save']); unset($data['submit']); //Zend_Debug::dump($data); die(); $where = $arMapper->getAdapter()->quoteInto('assignment_ request_id = ?', $id); $arMapper->update($data, $where); } else { $request = $arMapper->createRow($data); $id = $request->save(); } //determine whether form has been saved or submitted if(isset($_POST['save'])){ $saveSubmit = 'save'; }else if (isset($_POST['submit'])){ $saveSubmit = 'submit'; }

if($this->isNewHire($data)) { $this->_forward('new-hire', 'assignment-request', 'default', array('id'=>$id, 'request_type'=>$data['request_ type'])); } else { $this->_forward('new-success', 'assignment-request', 'defaul t', array('id'=>$id, 'request_type'=>$data['request_ type'], 'save_or_submit'=>$saveSubmit)); } } } $this->view->disableTopBar = true; }

You might also like