/** * @param RemoveFromBasketRequest $request * * @throws \Symfony\Component\HttpKernel\Exception\BadRequestHttpException * @throws \Exception * * @return \Illuminate\Http\RedirectResponse */ public function removeBasketItemAction(RemoveFromBasketRequest $request) { if (!$this->clerk->basket()->getItem($request->basketItemId())->id) { throw new BadRequestHttpException(sprintf('Basket does not contain any item with id `%s`.', $request->basketItemId())); } /** @var $item */ $item = $this->clerk->removeBasketItem($request->basketItemId()); $this->webUi->successMessage(sprintf('1 × <strong>%s (%s)</strong> %s', $item->productOption->product->name, $item->productOption->label, ' was removed from your basket.')); Analytics::trackEvent('basket', 'remove', $request->basketItemId()); return $this->webUi->redirect('sales.customer.basket'); }