public function removeBasketElement(Request $request, Basket $basket, $basket_element_id) { /** @var BasketElement $basketElement */ $basketElement = $this->getEntityManager()->getRepository('Phraseanet:BasketElement')->find($basket_element_id); $ord = $basketElement->getOrd(); foreach ($basket->getElements() as $basket_element) { if ($basket_element->getOrd() > $ord) { $basket_element->setOrd($basket_element->getOrd() - 1); } if ($basket_element->getId() === (int) $basket_element_id) { $basket->removeElement($basket_element); $this->getEntityManager()->remove($basket_element); } } $this->getEntityManager()->persist($basket); $this->getEntityManager()->flush(); $data = ['success' => true, 'message' => $this->app->trans('Record removed from basket')]; if ($request->getRequestFormat() === 'json') { return $this->app->json($data); } return $this->app->redirectPath('prod_workzone_show'); }
/** * {@inheritDoc} */ public function removeElement(\Alchemy\Phrasea\Model\Entities\BasketElement $elements) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeElement', array($elements)); return parent::removeElement($elements); }