protected function handleWriteBasket($request, $id = null)
{
$basket = $id ? $this->getBasket($id) : null;
$form = $this->formFactory->createNamed(null, 'sonata_basket_api_form_basket', $basket, array('csrf_protection' => false));
$form->bind($request);
if ($form->isValid()) {
$basket = $form->getData();
if ($basket->getCustomerId()) {
$this->checkExistingCustomerBasket($basket->getCustomerId());
}
$this->basketManager->save($basket);
$view = \FOS\RestBundle\View\View::create($basket);
$serializationContext = SerializationContext::create();
$serializationContext->setGroups(array('sonata_api_read'));
$serializationContext->enableMaxDepthChecks();
$view->setSerializationContext($serializationContext);
return $view;
}
return $form;
}