/** * @Config\Route("/create/{id}", requirements={"id"="\d+"}) * @Config\Template * @Security\AclAncestor("marello_return_create") * * @param Order $order * @param Request $request * * @return array */ public function createAction(Order $order, Request $request) { $return = new ReturnEntity(); $return->setOrder($order); $form = $this->createForm('marello_return', $return); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $manager = $this->getDoctrine()->getManager(); $manager->persist($return); $manager->flush(); return $this->get('oro_ui.router')->redirectAfterSave(['route' => 'marello_return_return_view', 'parameters' => ['id' => $order->getId()]], ['route' => 'marello_return_return_index'], $order); } return ['form' => $form->createView()]; }
public function load(ObjectManager $manager) { $orders = $manager->getRepository('MarelloOrderBundle:Order')->findAll(); $i = 0; foreach ($orders as $order) { if (rand(0, 3) !== 0) { if (!$this->hasReference('marello_order_unreturned')) { $this->setReference('marello_order_unreturned', $order); } continue; } $return = new ReturnEntity(); $return->setOrder($order); $order->getItems()->map(function (OrderItem $item) use($return) { $returnItem = new ReturnItem($item); $returnItem->setQuantity(rand(1, $item->getQuantity())); $return->addReturnItem($returnItem); }); $manager->persist($return); $this->setReference('marello_return_' . $i++, $return); } $manager->flush(); }