/** * @return \Zend\Http\Response|ViewModel */ public function requestAction() { $helper = new PayableHelper($this->payableTable()); $form = $helper->getForm($this->currencyCombo()); $payable = new Payable(); $generateNo = $this->payableTable()->getVoucherNo(date('Y-m-d', time())); $payable->setVoucherNo($generateNo); $payable->setWithdrawBy($this->staffId); $form->bind($payable); $request = $this->getRequest(); if ($request->isPost()) { $form->setInputFilter($helper->getInputFilter()); $post_data = $request->getPost()->toArray(); $form->setData($post_data); if ($form->isValid()) { $this->payableTable()->savePayable($payable); $this->flashMessenger()->addInfoMessage('Requested voucher by' . $generateNo . '.'); return $this->redirect()->toRoute('account_payable'); } } return new ViewModel(array('form' => $form, 'staffName' => $this->staffName, 'accountTypes' => $this->accountTypes())); }