/** * Edit a network device * * Query params: macaddress * * @return array|\Zend\Http\Response array(device, form) or redirect response */ public function editAction() { $params = $this->params(); try { $device = $this->_deviceManager->getDevice($params->fromQuery('macaddress')); } catch (\Model\Network\RuntimeException $e) { return $this->redirectToRoute('network', 'index'); } if ($this->getRequest()->isPost()) { $this->_deviceForm->setData($params->fromPost()); if ($this->_deviceForm->isValid()) { $data = $this->_deviceForm->getData(); $this->_deviceManager->saveDevice(new \Library\MacAddress($params->fromQuery('macaddress')), $data['Type'], $data['Description']); return $this->redirectToRoute('network', 'index'); } } else { $this->_deviceForm->setData(array('Type' => $device['Type'], 'Description' => $device['Description'])); } return array('device' => $device, 'form' => $this->_deviceForm); }