public function patchAction(Request $request, $id)
    {
        $locale = $this->getProductLocaleManager()->retrieveLocale($this->getUser(), $request->get('locale'));

        try {
            $product = $this->getManager()->partialUpdate(
                $request->request->all(),
                $locale,
                $this->getUser()->getId(),
                $id
            );

            $this->getEntityManager()->flush();

            $view = $this->view($product, 200);
        } catch (ProductNotFoundException $exc) {
            $exception = new EntityNotFoundException($exc->getEntityName(), $exc->getId());
            $view = $this->view($exception->toArray(), 404);
        }

        return $this->handleView($view);
    }