From 7eedfb1ee5758c9d48a021f8b1e8732699c00998 Mon Sep 17 00:00:00 2001 From: Georg Wurz Date: Wed, 6 Apr 2022 10:26:17 +0200 Subject: [PATCH] [FrontendBundle] check if getClickedButton method exists --- .../FrontendBundle/Controller/CartController.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/CoreShop/Bundle/FrontendBundle/Controller/CartController.php b/src/CoreShop/Bundle/FrontendBundle/Controller/CartController.php index a99d38d131..6710a0bb46 100644 --- a/src/CoreShop/Bundle/FrontendBundle/Controller/CartController.php +++ b/src/CoreShop/Bundle/FrontendBundle/Controller/CartController.php @@ -71,10 +71,16 @@ public function summaryAction(Request $request): Response if (in_array($request->getMethod(), ['POST', 'PUT', 'PATCH']) && $form->isSubmitted()) { if ($form->isValid()) { $cart = $form->getData(); - $submit = $form->getClickedButton(); + $code = $form->get('cartRuleCoupon')->getData(); - if ($submit && 'submit_voucher' === $submit->getName()) { - $code = $form->get('cartRuleCoupon')->getData(); + if(method_exists($form, 'getClickedButton')) { + $submit = $form->getClickedButton(); + $validateVoucherCode = $submit && 'submit_voucher' === $submit->getName(); + } else { + $validateVoucherCode = (bool)$code; + } + + if ($validateVoucherCode) { $voucherCode = $this->getCartPriceRuleVoucherRepository()->findByCode($code ?? ''); if (!$voucherCode instanceof CartPriceRuleVoucherCodeInterface) {