/**
  * @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()];
 }
Exemple #2
0
 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();
 }