]> _ Git - pmi.git/commitdiff
wait #6413 @0.25
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 16 Oct 2023 10:51:29 +0000 (12:51 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 16 Oct 2023 10:51:29 +0000 (12:51 +0200)
app/Http/Controllers/AjaxController.php

index c8833ffaddf6960fdd4db9969dfaf64b8224003f..dabfacdafbc1aa0d19dca92d43666b054ef38ebc 100644 (file)
@@ -16,6 +16,7 @@ use Carbon\Carbon;
 use Cubist\Backpack\app\Http\Controllers\CubistFrontController;
 use Cubist\Backpack\app\Magic\PageData;
 use Cubist\Backpack\app\Magic\Search;
+
 //use Cubist\Util\ObjectUtil;
 use Illuminate\Validation\ValidationException;
 use Illuminate\Http\Request;
@@ -38,7 +39,8 @@ class AjaxController extends CubistFrontController
         'ref' => 'Reference',
         'phone' => 'Téléphone',
         'email' => 'Adresse e-mail',
-        'message' => 'Message'];
+        'message' => 'Message',
+        'subject' => 'Sujet'];
 
     // Shared validation logic for dynamic CMS forms
 
@@ -53,17 +55,17 @@ class AjaxController extends CubistFrontController
         $messages = [];
 
         $fields = $page->get('form');
-        if($form){
+        if ($form) {
             $fields = $request->all();
         }
 
-        if(!$alreadyValidate) {
+        if (!$alreadyValidate) {
 
             foreach ($fields as $field) {
                 $v = [];
                 if ($field['mandatory']) {
                     $v[] = 'required';
-                    $messages[$field['type'] . '.required'] = sprintf(__('Champ obligatoire'), self::$_labels[$field['type']]);
+                    $messages[$field['type'] . '.required'] = sprintf(__('Champ obligatoire'), self::$_labels[$field['type']] ?? $field['type']);
                 } else {
                     $v[] = 'nullable';
                 }
@@ -108,11 +110,11 @@ class AjaxController extends CubistFrontController
      * @param PageData $page
      * @param array $appendContents
      */
-    protected function _sendMail($validatedData, $page, $appendContents = [], $subject_ = "Cubedesigners", $recipient = "")
+    protected function _sendMail($validatedData, $page, $appendContents = [], $subject_ = "PM Instrumentation", $recipient = "")
     {
         $contents = [];
 
-        if(Client::getClientConnected()) {
+        if (Client::getClientConnected()) {
             $validatedData['tva'] = Client::getClientConnected()->vat;
             $validatedData['siren'] = Client::getClientConnected()->siren;
         }
@@ -124,11 +126,11 @@ class AjaxController extends CubistFrontController
         }
         $contents = array_merge($contents, $appendContents);
 
-        Mail::raw(implode("\r\n", $contents), function ($message) use ($validatedData, $page, $subject_,$recipient) {
+        Mail::raw(implode("\r\n", $contents), function ($message) use ($validatedData, $page, $subject_, $recipient) {
             $message->from(config('mail.from.address'), config('mail.from.name'));
             $message->sender(config('mail.from.address'), config('mail.from.name'));
             $message->bcc('test+pmi@cubedesigners.com');
-            if($recipient) {
+            if ($recipient) {
                 $message->to($recipient);
             }
             if (null === $page->form_destination || empty($page->form_destination)) {
@@ -141,20 +143,22 @@ class AjaxController extends CubistFrontController
                 }
             }
 
+            dd($page);
+
             $subject = '';
             if ($page->form_prefix) {
                 $subject .= '[';
                 $subject .= $subject_ ?? $page->form_prefix;
                 $subject .= '] ';
-            }else {
-                if($subject_) {
-                    $subject .= '['.$subject_.'] ';
+            } else {
+                if ($subject_) {
+                    $subject .= '[' . $subject_ . '] ';
                 }
             }
 
-            if($subject_ === "Nouvelle commande") {
-                $subject .= 'Commande '.$validatedData['id'];
-            }elseif (isset($validatedData['subject'])) {
+            if ($subject_ === "Nouvelle commande") {
+                $subject .= 'Commande ' . $validatedData['id'];
+            } elseif (isset($validatedData['subject'])) {
                 $subject .= $validatedData['subject'];
             }
 
@@ -189,7 +193,7 @@ class AjaxController extends CubistFrontController
         $ref = $request->input('ref') ?? '';
         $price = $request->input('price') ?? '';
 
-        if(!Client::getClientConnected()) {
+        if (!Client::getClientConnected()) {
             $price = '';
         }
 
@@ -205,7 +209,7 @@ class AjaxController extends CubistFrontController
         $product = Product::find($id);
 
         $currentItem = false;
-        if($product) {
+        if ($product) {
             $categoryProduct = $product->category;
             $discount = \App\Models\Client::getDiscount($categoryProduct);
             $currentItem = array_filter($cart_items, function ($n) use ($ref) {
@@ -219,7 +223,7 @@ class AjaxController extends CubistFrontController
                 // If the item already exists in the cart, increment the quantity
                 if ($currentItem) {
                     $cart_items[$currentIndex]['quantity'] += $quantity;
-                }else {
+                } else {
                     $cart_items[] = [
                         'id' => $product->id,
                         'name' => $product->name,
@@ -255,7 +259,7 @@ class AjaxController extends CubistFrontController
                     $needs_update = true;
                 }
                 $cart_items[$currentIndex]['quantity'] = $quantity;
-                if(!Client::getClientConnected()) {
+                if (!Client::getClientConnected()) {
                     $cart_items[$currentIndex]['price'] = 0;
                     $cart_items[$currentIndex]['basic_selling_price'] = 0;
                 }
@@ -288,7 +292,7 @@ class AjaxController extends CubistFrontController
 
         // Validated form fields
         $validatedData = $action === "order" ? $this->_validate_form($request, $page, true) : $this->_validate_form($request, $page);
-        $products = PageData::fromEntities(Product::whereIn('id', array_keys($cartData) )->get());
+        $products = PageData::fromEntities(Product::whereIn('id', array_keys($cartData))->get());
         $cartData_ = Product::getCartData();
         $productsArray = Product::getProductsByIds(array_keys($cartData));
 
@@ -307,7 +311,9 @@ class AjaxController extends CubistFrontController
 
         foreach ($cartData as $id => $_data) {
             $indexMessage++;
-            $cartByID = array_values(array_filter($cartData_, function($n) use($id) { return $n['id'] == $id; }));
+            $cartByID = array_values(array_filter($cartData_, function ($n) use ($id) {
+                return $n['id'] == $id;
+            }));
             $optionsPrices = Product::optionPrice($id, $cartByID[0]['ref'], $productsArray, true);
             $basicSellingPrice = $products[$id]['basic_selling_price'];
             $categoryProduct = $products[$id]['category'];
@@ -315,7 +321,7 @@ class AjaxController extends CubistFrontController
             $price = 0;
             $priceDiscount = 0;
 
-            if($basicSellingPrice) {
+            if ($basicSellingPrice) {
                 $price = $basicSellingPrice;
 
                 if ($optionsPrices) {
@@ -331,20 +337,20 @@ class AjaxController extends CubistFrontController
                 'reference' => (empty($cartByID[0]['ref']) ? $cartByID[0]['reference'] : $cartByID[0]['ref']),
                 'name' => $products[$id]['name'],
                 'quantity' => $_data,
-                'price' => isset($price) && intval($price) > 0 && Client::getClientConnected() ? ECommerceCommon::priceWithDiscount($price, $discount)."€" : 0
+                'price' => isset($price) && intval($price) > 0 && Client::getClientConnected() ? ECommerceCommon::priceWithDiscount($price, $discount) . "€" : 0
             ];
 
             $productsMessage[] = 'Référence : ' . (empty($cartByID[0]['ref']) ? $cartByID[0]['reference'] : $cartByID[0]['ref']) . "\n";
-            $productsMessage[$indexMessage] .= url("/{$products[$id]['slug']}")."\n";
+            $productsMessage[$indexMessage] .= url("/{$products[$id]['slug']}") . "\n";
 
-            if(Client::getClientConnected()) {
+            if (Client::getClientConnected()) {
                 $labelPrice = 'Prix unitaire HT : ';
                 $labelPriceDiscount = 'Prix unitaire HT (avec remise) : ';
 
-                if($optionsPrices) {
+                if ($optionsPrices) {
                     $productsMessage[$indexMessage] .= 'Prix de base : ' . ECommerceCommon::formatPrice($cartByID[0]['basic_selling_price']) . "€ HT\n";
                     foreach ($optionsPrices[1] as $key => $v) {
-                        $productsMessage[$indexMessage] .= $v . " (+".array_values($optionsPrices[0])[0][$key]."€ HT)\n";
+                        $productsMessage[$indexMessage] .= $v . " (+" . array_values($optionsPrices[0])[0][$key] . "€ HT)\n";
                     }
                     $labelPrice = 'Prix unitaire HT (avec options) : ';
                     $labelPriceDiscount = 'Prix unitaire HT (avec options et remise) : ';
@@ -362,28 +368,30 @@ class AjaxController extends CubistFrontController
             $index++;
         }
 
-        if($action === "order") {
-            $totalHT = array_reduce($prices, function($carry, $item) { return $carry + $item; });
+        if ($action === "order") {
+            $totalHT = array_reduce($prices, function ($carry, $item) {
+                return $carry + $item;
+            });
             $totalHT += ($totalHT < 1000) ? 20 : 0;
             $tva = ECommerceCommon::tva($totalHT);
             $totalTTC = ECommerceCommon::totalTTC($totalHT);
 
-            $productsMessage[$indexMessage] .= "Frais de ports : ".($totalHT < 1000 ? '20,00' : 0)."€\n";
-            $productsMessage[$indexMessage] .= "Total HT : ". ECommerceCommon::formatPrice($totalHT) ."€\n";
-            $productsMessage[$indexMessage] .= "Montant TVA : ". ECommerceCommon::formatPrice($tva) ."€\n";
-            $productsMessage[$indexMessage] .= "Total TTC : ". ECommerceCommon::formatPrice($totalTTC) ."€\n";
+            $productsMessage[$indexMessage] .= "Frais de ports : " . ($totalHT < 1000 ? '20,00' : 0) . "€\n";
+            $productsMessage[$indexMessage] .= "Total HT : " . ECommerceCommon::formatPrice($totalHT) . "€\n";
+            $productsMessage[$indexMessage] .= "Montant TVA : " . ECommerceCommon::formatPrice($tva) . "€\n";
+            $productsMessage[$indexMessage] .= "Total TTC : " . ECommerceCommon::formatPrice($totalTTC) . "€\n";
             $productsMessage[$indexMessage] .= "\n----\n\n";
 
             $productsMessage[$indexMessage] .= "Adresse de facturation : \n";
             foreach (Client::getAddressByType("billing_address")[0] as $key => $info) {
                 $productsMessage[$indexMessage] .= $info;
-                $productsMessage[$indexMessage] .= !in_array($key, ["firstname","zipcode"]) ? "\n" : " ";
+                $productsMessage[$indexMessage] .= !in_array($key, ["firstname", "zipcode"]) ? "\n" : " ";
             }
             $productsMessage[$indexMessage] .= "\n----\n\n";
             $productsMessage[$indexMessage] .= "Adresse de livraison : \n";
             foreach (Client::getAddressByType("delivery_address")[0] as $key => $info) {
                 $productsMessage[$indexMessage] .= $info;
-                $productsMessage[$indexMessage] .= !in_array($key, ["firstname","zipcode"]) ? "\n" : " ";
+                $productsMessage[$indexMessage] .= !in_array($key, ["firstname", "zipcode"]) ? "\n" : " ";
             }
             $productsMessage[$indexMessage] .= "\n----\n";
         }
@@ -394,13 +402,13 @@ class AjaxController extends CubistFrontController
 
         $validatedData['subject'] = $data['company'];
 
-        if($action === "quote") {
+        if ($action === "quote") {
             $quote = new QuoteRequest($data);
             $quote->save();
 
             $linkTo = 'Voir la demande en ligne : ' . url('/admin/quotes/' . $quote->id . '/edit');
             $subj = null;
-        }else {
+        } else {
             $linkTo = 'Voir la commande en ligne : ' . url('/admin/order/' . $save->id . "/edit \n");
             $subj = "Nouvelle commande";
         }
@@ -423,7 +431,8 @@ class AjaxController extends CubistFrontController
         return Product::getFilteredProducts($product_type, $filter_values);
     }
 
-    public function news(Request $request) {
+    public function news(Request $request)
+    {
         // The current page number is passed in the HTTP request
         // and detected automatically by Laravel's paginate() function
         // Ref: https://laravel.com/docs/5.8/pagination#paginating-query-builder-results
@@ -455,7 +464,8 @@ class AjaxController extends CubistFrontController
      *
      */
 
-    public function validation_form(Request $request, $validation, $multiArray = false){
+    public function validation_form(Request $request, $validation, $multiArray = false)
+    {
         $messages = [
             '*.required' => __('Veuillez remplir les champs obligatoires'),
             'email.email' => __('Veuillez indiquer une adresse email valide'),
@@ -481,7 +491,8 @@ class AjaxController extends CubistFrontController
 
     }
 
-    public function check_email_exist(Request $request) {
+    public function check_email_exist(Request $request)
+    {
         $validation = [
             'email' => 'required|email'
         ];
@@ -489,7 +500,8 @@ class AjaxController extends CubistFrontController
         return Client::where('email', $request->email)->get();
     }
 
-    public function signin(Request $request) {
+    public function signin(Request $request)
+    {
         $validation = [
             'email' => 'required|email',
             'password' => 'required'
@@ -512,7 +524,8 @@ class AjaxController extends CubistFrontController
         }
     }
 
-    public function signup(Request $request) {
+    public function signup(Request $request)
+    {
         $validation = [
             'email' => 'required|email|unique:clients',
             'password' => 'required|confirmed|min:8',
@@ -548,7 +561,7 @@ class AjaxController extends CubistFrontController
         foreach ($data['address'] as $key => $value) {
             $counter++;
             $address .= json_encode($data['address'][$key]);
-            if($counter !== sizeof($data['address'])){
+            if ($counter !== sizeof($data['address'])) {
                 $address .= ',';
             }
         }
@@ -566,24 +579,25 @@ class AjaxController extends CubistFrontController
 
         $data['subject'] = "Cubedesigners";
 
-        $linkTo = "\n".'Valider l\'inscription en ligne : ' . url('/admin/client/' . $client->id . '/edit');
+        $linkTo = "\n" . 'Valider l\'inscription en ligne : ' . url('/admin/client/' . $client->id . '/edit');
         $this->_sendMail($data, $page, [$linkTo], "Nouvelle inscription");
 
         return $data;
     }
 
-    public function update(Request $request) {
+    public function update(Request $request)
+    {
         $validation = [];
-        foreach ($request->all() as $key => $field){
-            if($key === "email"){
+        foreach ($request->all() as $key => $field) {
+            if ($key === "email") {
                 $validation[$key] = 'required|email';
-            }elseif(in_array($key, ['firstname','lastname','name','company','address','city'])){
+            } elseif (in_array($key, ['firstname', 'lastname', 'name', 'company', 'address', 'city'])) {
                 $validation[$key] = 'required|string|max:255';
-            }elseif(in_array($key,['phone'])){
+            } elseif (in_array($key, ['phone'])) {
                 $validation[$key] = 'required|numeric';
-            }elseif ($key === "actually_password"){
+            } elseif ($key === "actually_password") {
                 $validation[$key] = 'required';
-            }elseif ($key === "password"){
+            } elseif ($key === "password") {
                 $validation[$key] = 'required|confirmed|min:8';
             }
         }
@@ -591,7 +605,7 @@ class AjaxController extends CubistFrontController
         $data = $this->validation_form($request, $validation);
         $email = Client::getClientConnected()->email;
 
-        if($request->password) {
+        if ($request->password) {
             $data['password'] = Hash::make($data['password']);
             $password = $data['actually_password'];
             $actuallyPassword = Auth::guard('web-clients')->user()->password;
@@ -602,20 +616,21 @@ class AjaxController extends CubistFrontController
             unset($data['actually_password']);
         }
 
-        $client = Client::where('email',$email)->update($data);
+        $client = Client::where('email', $email)->update($data);
     }
 
-    public function updateAddress(Request $request){
+    public function updateAddress(Request $request)
+    {
         $validation = [];
         $index = $request->index;
 
-        foreach ($request->all() as $field){
+        foreach ($request->all() as $field) {
             if (is_array($field)) {
                 foreach ($field as $keySubfield => $subfield) {
                     if (in_array($keySubfield, ['firstname', 'lastname', 'name', 'company', 'address', 'city'])) {
-                        $validation['*'.'.'.$keySubfield] = 'required|string|max:255';
+                        $validation['*' . '.' . $keySubfield] = 'required|string|max:255';
                     } elseif (in_array($keySubfield, ['zipcode'])) {
-                        $validation['*'.'.'.$keySubfield] = 'required|numeric';
+                        $validation['*' . '.' . $keySubfield] = 'required|numeric';
                     }
                 }
             }
@@ -625,7 +640,7 @@ class AjaxController extends CubistFrontController
 
         $email = Client::getClientConnected()->email;
 
-        $addressToArray = array_map(function($n) {
+        $addressToArray = array_map(function ($n) {
             $n['billing_address'] = strval(intval((bool)$n['billing_address']));
             $n['delivery_address'] = strval(intval((bool)$n['delivery_address']));
             return $n;
@@ -636,11 +651,12 @@ class AjaxController extends CubistFrontController
         $client = Client::where('email', $email)->update(['address' => $addressToString]);
     }
 
-    public function deleteaddress(Request $request) {
+    public function deleteaddress(Request $request)
+    {
         $index = $request->index;
 
         $address = Client::getClientConnected()->address;
-        $addressToArray = json_decode($address,true);
+        $addressToArray = json_decode($address, true);
 
         $addressToArray[0]['delivery_address'] = intval($addressToArray[$index]['delivery_address']) ? "1" : strval(intval($addressToArray[0]['delivery_address']));
         $addressToArray[0]['billing_address'] = intval($addressToArray[$index]['billing_address']) ? "1" : strval(intval($addressToArray[0]['billing_address']));
@@ -655,9 +671,10 @@ class AjaxController extends CubistFrontController
         return $addressToString;
     }
 
-    public function getuser() {
+    public function getuser()
+    {
         $user = Client::getClientConnected();
-        if($user) {
+        if ($user) {
             $addressToArray = json_decode($user->address, true);
             $checkBillingAddress = array_filter($addressToArray, function ($n) {
                 return $n['billing_address'];
@@ -671,13 +688,14 @@ class AjaxController extends CubistFrontController
                 'address_billing' => key($checkBillingAddress) ?? "0",
                 'address_delivery' => key($checkDeliveryAddress) ?? "0"
             ];
-        }else{
+        } else {
             abort(401, 'Unauthorized');
         }
         return false;
     }
 
-    public function storecart(Request $request) {
+    public function storecart(Request $request)
+    {
         $validation = [
             'addresses' => 'required',
             'products' => 'required',
@@ -690,21 +708,21 @@ class AjaxController extends CubistFrontController
         //
         $lastCartRefs = $lastCartId ? Cart::find($lastCartId)->getReferences() : [];
         $currentCartRef = Cart::getRefs($data['products']);
-        $intersect = $lastCartRefs ? array_intersect($currentCartRef,$lastCartRefs) : [];
+        $intersect = $lastCartRefs ? array_intersect($currentCartRef, $lastCartRefs) : [];
 
         $data['products'] = json_encode($data['products']);
         $ids = Product::getProductIds($data);
         $productsInfosBase = Product::getProductsByIds($ids);
-        $currentCartRef = Cart::getRefs(json_decode($data['products'],true));
+        $currentCartRef = Cart::getRefs(json_decode($data['products'], true));
         $data['products'] = json_decode($data['products'], true);
 
         /**
          *
          */
-        $data = Cart::fillData($currentCartRef, $data, $productsInfosBase,false);
+        $data = Cart::fillData($currentCartRef, $data, $productsInfosBase, false);
 
-        if(sizeof($lastCartRefs) !== sizeof($intersect) ||
-            (sizeof($lastCartRefs) === sizeof($intersect) && sizeof($currentCartRef) != sizeof($lastCartRefs)) ) {
+        if (sizeof($lastCartRefs) !== sizeof($intersect) ||
+            (sizeof($lastCartRefs) === sizeof($intersect) && sizeof($currentCartRef) != sizeof($lastCartRefs))) {
             $data["name"] = __("Panier du :date", ["date" => Carbon::now('Europe/Paris')->isoFormat("DD/MM/Y")]);
             $panier = Cart::firstOrCreate($data);
             $panier->save();
@@ -718,7 +736,8 @@ class AjaxController extends CubistFrontController
         return __('Le panier a été enregistré avec succès !');
     }
 
-    public function deleteSavedcart(Request $request) {
+    public function deleteSavedcart(Request $request)
+    {
         $request->validate([
             'id' => 'required|numeric',
         ]);
@@ -729,7 +748,8 @@ class AjaxController extends CubistFrontController
         $cart->delete();
     }
 
-    public function updateNameSavedcart(Request $request) {
+    public function updateNameSavedcart(Request $request)
+    {
         $request->validate([
             'id' => 'required|numeric',
             'text' => 'required|max:255'
@@ -742,7 +762,8 @@ class AjaxController extends CubistFrontController
         $cart->save();
     }
 
-    public function savedCartToCurrent(Request $request) {
+    public function savedCartToCurrent(Request $request)
+    {
         $request->validate([
             'id' => 'required|numeric'
         ]);
@@ -757,9 +778,9 @@ class AjaxController extends CubistFrontController
 
         $clientId = Client::getClientConnected()->id;
         $currentCartRef = Cart::getRefs($cart['products']);
-        $data = Cart::updateCartData($currentCartRef,$cart,$productsInfosBase);
+        $data = Cart::updateCartData($currentCartRef, $cart, $productsInfosBase);
 
-        if($clientIdInRequest === $clientId) {
+        if ($clientIdInRequest === $clientId) {
             $cartData = $data['products'];
 
             // Clear cart session
@@ -774,7 +795,8 @@ class AjaxController extends CubistFrontController
         return false;
     }
 
-    public function order(Request $request) {
+    public function order(Request $request)
+    {
         $validation = [
             'addresses' => 'required',
             'products' => 'required',
@@ -788,44 +810,45 @@ class AjaxController extends CubistFrontController
         $productsInfosBase = Product::getProductsByIds($ids);
         $currentCartRef = Cart::getRefs($data['products']);
 
-        $data = Order::fillData($currentCartRef,$data,$productsInfosBase);
-        $company = array_values(array_filter(json_decode($data['addresses'], true), function($n) {
+        $data = Order::fillData($currentCartRef, $data, $productsInfosBase);
+        $company = array_values(array_filter(json_decode($data['addresses'], true), function ($n) {
             return intval($n['delivery_address']);
         }))[0]['company'];
         $data['company'] = $company;
         $data['request_date'] = Carbon::now('Europe/Paris');
-        $data['products'] = json_encode(array_map(function($n){
-            $exp = explode('|',$n['ref']);
+        $data['products'] = json_encode(array_map(function ($n) {
+            $exp = explode('|', $n['ref']);
             array_shift($exp);
             $n['ref'] = sizeof($exp) > 1 ? implode('|', $exp) : $exp;
             return $n;
-        }, json_decode($data['products'],true)));
+        }, json_decode($data['products'], true)));
 
-        if($data) {
+        if ($data) {
             $order = Order::create($data);
             $order->save();
 
             $this->request_quote($request, $order, "order");
-        }else{
+        } else {
             abort('422', 'Datas are empty');
         }
 
         // Clear cart session
         $request->session()->forget('cart_items');
 
-        return __('Votre commande a bien été transmise à nos équipes.')."\n".__('Nous vous recontacterons dans les 48 heures par email ou par téléphone pour la valider.');
+        return __('Votre commande a bien été transmise à nos équipes.') . "\n" . __('Nous vous recontacterons dans les 48 heures par email ou par téléphone pour la valider.');
     }
 
-    public function updateCart($request) {
+    public function updateCart($request)
+    {
         $cart = Product::getCartData();
 
         $data['products'] = json_encode($cart);
         $ids = Product::getProductIds($data);
         $productsInfosBase = Product::getProductsByIds($ids);
-        $currentCartRef = Cart::getRefs(json_decode($data['products'],true));
+        $currentCartRef = Cart::getRefs(json_decode($data['products'], true));
         $data['products'] = json_decode($data['products'], true);
-        $data = Cart::fillData($currentCartRef, $data, $productsInfosBase,false);
-        $update = json_decode($data['products'],true);
+        $data = Cart::fillData($currentCartRef, $data, $productsInfosBase, false);
+        $update = json_decode($data['products'], true);
 
         $request->session()->forget('cart_items');
         $request->session()->put('cart_items', $update);