/** * @deprecated */ public function executeCreate() { $errors = array(); $validator = new ItemValidator(); $name = $this->app->escape($this->getRequest()->get('name')); $tempMin = $this->app->escape($this->getRequest()->get('tempMin')); $tempMax = $this->app->escape($this->getRequest()->get('tempMax')); $errors = $validator->validateSingleItem($name, $tempMin, $tempMax); $item = new Item(); $item->setName($name); $item->setTempMin($tempMin); $item->setTempMax($tempMax); if (count($errors) == 0) { $item->save(); return $this->redirect('/item/view/' . $item->getId()); } return $this->render('item.add.twig', array( 'item' => $item, 'errors' => $errors, 'form_action' => '/item/create', )); }
/** * Returns the Create Delivery Form */ public function executeCreate() { $errors = array(); $validator = new DeliveryValidator(); $fromAddress = $this->getRequest()->get('from'); $toAddress = $this->getRequest()->get('to'); $errors = $validator->validateAddress($fromAddress, 'from-', '', $this->app); $errors = array_merge($errors, $validator->validateAddress($toAddress, 'to-', '', $this->app)); $delivery = new Delivery(); $delivery->setFromAddress(new Address($fromAddress)); $delivery->setToAddress(new Address($toAddress)); $createItemList = explode(',',$this->app->escape($this->getRequest()->get('create-item-list'))); $nrOfCreations = count($createItemList); for ($i=0; $i < $nrOfCreations; $i++) { if (!empty($createItemList[$i])) { $properties = explode('|', $createItemList[$i]); $name = $properties[0]; $mintemp = $properties[1]; $maxtemp = $properties[2]; $newItem = new Item(); $newItem->setName($name); $newItem->setTempMin((int)$mintemp); $newItem->setTempMax((int)$maxtemp); $errors = array_merge($errors, $validator->validateItem( $name, $mintemp, $maxtemp, $i)); $delivery->addItem($newItem); } } if (count($errors) == 0) { $delivery->save(); return $this->redirect('/delivery/view/' . $delivery->getId()); } return $this->render('delivery.add.twig', array( 'delivery' => $delivery, 'errors' => $errors, 'form_action' => '/delivery/create', )); }