public function addAction() { $viewModel = new ViewModel(); $form = $this->getServiceLocator()->get("Process\\Form\\ReceiveInventoryForm"); $viewModel->setVariable('form', $form); $request = $this->getRequest(); if ($request->isPost()) { $receiveInventory = new ReceiveInventory(); $form->setInputFilter($receiveInventory->getInputFilter()); $data = $request->getPost()->toArray(); $form->setData($data); if ($form->isValid()) { $fileService = $this->getServiceLocator()->get('Admin\\Service\\FileService'); $fileService->setDestination($this->config['component']['receive_inventory']['file_path']); $fileService->setSize($this->config['file_characteristics']['file']['size']); $fileService->setExtension($this->config['file_characteristics']['file']['extension']); $invoiceFile = $fileService->copy($this->params()->fromFiles('invoice_file')); $data['invoice_file'] = $invoiceFile ? $invoiceFile : ""; $authenticationService = new AuthenticationService(); $user = $authenticationService->getStorage()->read()->id; $receiveInventory->setUser($user); $receiveInventory->exchangeArray($data); $receiveInventoryId = $this->getReceiveInventoryTable()->save($receiveInventory); $container = new Container('receive_inventory'); $container->id = $receiveInventoryId; $container->user = $user; return $this->redirect()->toRoute('process/receive_inventory/add/details'); } } $viewModel->setVariable('config', $this->config); return $viewModel; }