]> _ Git - pmi.git/commitdiff
wait #6123 @1:30
authorsoufiane <soufiane@cubedesigners.com>
Mon, 17 Jul 2023 13:22:21 +0000 (15:22 +0200)
committersoufiane <soufiane@cubedesigners.com>
Mon, 17 Jul 2023 13:22:21 +0000 (15:22 +0200)
app/Http/Controllers/Admin/ProductBaseController.php
app/Http/Controllers/AjaxController.php
app/Models/Product.php
app/Models/QuoteRequest.php

index 4d6f8dd4c269ed20408a236c92cc8117011ca9e6..0093da29bf2ca1397afb10117e95ea3da4da8910 100644 (file)
@@ -136,7 +136,7 @@ class ProductBaseController extends CubistMagicController {
                 foreach ($ids as $sheet => $id) {
                     $product = Product::find($id);
                     if ($product) {
-                        //$changes = $this->storeAndReturnChanges($data);
+                        $changes = $this->storeAndReturnChanges($data);
 
                         // Remove empty array from the changes
                         $changes = array_filter($changes);
index f4d71685af68ce77102f03444a05e4db755ccf51..9ea0088e0ef6df36d79d11ba6d13d0285a8d7bf6 100644 (file)
@@ -262,13 +262,14 @@ class AjaxController extends CubistFrontController
         $data['status'] = 'new';
         $data['locale'] = 'fr';
         $data['products'] = [];
-        $productsMessage = ['Produits : (reférence : quantité) )'];
+        $productsMessage = ["Produits : \n----"];
+
 
         $index = 0;
         $indexMessage = 0;
         foreach ($cartData as $id => $_data) {
             $indexMessage++;
-            $optionsPrices = Product::optionPrice($id, $cartData_[$index]['ref'], $productsArray);
+            $optionsPrices = Product::optionPrice($id, $cartData_[$index]['ref'], $productsArray, true);
             $basicSellingPrice = $products[$id]['basic_selling_price'];
 
             $data['products'][] = [
@@ -276,18 +277,28 @@ class AjaxController extends CubistFrontController
                 'reference' => $cartData_[$index]['ref'],
                 'name' => $products[$id]['name'],
                 'quantity' => $_data,
-                'price' => floatval($basicSellingPrice) ?? 0
+                'price' => floatval($basicSellingPrice)." €" ?? 0
             ];
 
-            $productsMessage[] = '|'.$cartData_[$index]['ref'] . ' : ' . $_data . ' ';
+            $productsMessage[] = 'Référence : ' . $cartData_[$index]['ref'] . "\n";
+            $productsMessage[$indexMessage] .= 'Qté : ' . $_data . "\n";
+
+            foreach ($optionsPrices[1] as $v) {
+                $productsMessage[$indexMessage] .= $v . "\n";
+            }
+
+            $labelPrice = 'Prix unitaire HT : ';
 
             if($optionsPrices) {
-                $totalOptionPrice = Product::totalOptionPrice($optionsPrices,$cartData_[$index]['ref']);
+                $totalOptionPrice = Product::totalOptionPrice($optionsPrices[0],$cartData_[$index]['ref']);
                 $data['products'][$index]['price'] = floatval($basicSellingPrice + $totalOptionPrice);
-
-                $productsMessage[$indexMessage] .= ' - '.$data['products'][$index]['price'] . '€ HT';
+                $labelPrice = 'Prix unitaire HT (avec options) : ';
             }
-            $productsMessage[$indexMessage] .= '('.url("/{$products[$id]['slug']}").')';
+
+            $productsMessage[$indexMessage] .= $labelPrice.$data['products'][$index]['price'] . "€ \n";
+
+            $productsMessage[$indexMessage] .= url("/{$products[$id]['slug']}")."\n";
+            $productsMessage[$indexMessage] .= "----";
 
             $index++;
         }
index 83c4ab13fc34cc565993155d658714b88a4325a8..11433e47007aaf9b6be66fa4a30c732e4317560a 100644 (file)
@@ -525,12 +525,9 @@ class Product extends CubistMagicPageModel
         return $ids;
     }
 
-    public static function priceByQuantity($data) {
-
-    }
-
-    public static function optionPrice($id, $refs, $productsInfosBase) {
+    public static function optionPrice($id, $refs, $productsInfosBase, $mailCondition = false) {
         $opt = [];
+        $optDetails = [];
 
         $explodeRef = explode("|", $refs);
 
@@ -540,15 +537,21 @@ class Product extends CubistMagicPageModel
                 $key -= 1;
                 if ($key > -1) {
                     $options_ = $options[$key]['options'];
+                    dump($options_);
                     foreach ($options_ as $opt_) {
+                        dump($opt_);
                         if ($opt_["ref"] === $ref) {
                             $opt[$refs][] = $opt_["sale_price"] ?? 0;
+                            $optDetails[] = ucfirst($options[$key]['name_fr']) . ' : ' . $ref;
                         }
                     }
                 }
             }
         }
 
+        if($mailCondition)
+            return [$opt, $optDetails];
+
         return $opt;
     }
 
index d72591109f49cf3489f9819885b6675321a35152..47596dfcf633dc8c590fbcda876899012aa5dbae 100644 (file)
@@ -70,7 +70,13 @@ class QuoteRequest extends CubistMagicAbstractModel
         $this->addField(['name' => 'products',
             'label' => 'Produits',
             'type' => 'Table',
-            'columns' => ['id' => '#', 'reference' => 'Référence', 'name' => 'Nom de produit', 'quantity' => 'Quantité'],
+            'columns' => [
+                'id' => '#',
+                'reference' => 'Référence',
+                'name' => 'Nom de produit',
+                'quantity' => 'Quantité',
+                'price' => 'Prix HT'
+            ],
             'tab' => $tabrequest]);
 
         $this->addField(['name' => 'message',