/**
  * Adds a coupon to cart
  *
  * @param CouponInterface|null $coupon
  *
  * @return \Symfony\Component\HttpFoundation\JsonResponse
  */
 public function addAction(CouponInterface $coupon = null)
 {
     try {
         $this->manager->useCoupon($coupon);
         $result = ['success' => true];
     } catch (CouponException $e) {
         $result = ['error' => $this->trans('coupon.error'), 'message' => $this->trans($e->getMessage())];
     }
     return $this->jsonResponse($result);
 }
 /**
  * @return \Symfony\Component\HttpFoundation\JsonResponse
  */
 public function addAction(Request $request)
 {
     $code = $this->getRequestHelper()->getRequestAttribute('code');
     try {
         $this->manager->useCoupon($code);
         $result = ['success' => true];
     } catch (CouponException $e) {
         $result = ['error' => $this->trans('coupon.error'), 'message' => $this->trans($e->getMessage())];
     }
     return $this->jsonResponse($result);
 }