From 9a0f10025b5945ca20b24e23f4df22417f99eb0b Mon Sep 17 00:00:00 2001 From: soufiane Date: Mon, 17 Jul 2023 15:22:21 +0200 Subject: [PATCH] wait #6123 @1:30 --- .../Admin/ProductBaseController.php | 2 +- app/Http/Controllers/AjaxController.php | 27 +++++++++++++------ app/Models/Product.php | 13 +++++---- app/Models/QuoteRequest.php | 8 +++++- 4 files changed, 35 insertions(+), 15 deletions(-) diff --git a/app/Http/Controllers/Admin/ProductBaseController.php b/app/Http/Controllers/Admin/ProductBaseController.php index 4d6f8dd..0093da2 100644 --- a/app/Http/Controllers/Admin/ProductBaseController.php +++ b/app/Http/Controllers/Admin/ProductBaseController.php @@ -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); diff --git a/app/Http/Controllers/AjaxController.php b/app/Http/Controllers/AjaxController.php index f4d7168..9ea0088 100644 --- a/app/Http/Controllers/AjaxController.php +++ b/app/Http/Controllers/AjaxController.php @@ -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++; } diff --git a/app/Models/Product.php b/app/Models/Product.php index 83c4ab1..11433e4 100644 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -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; } diff --git a/app/Models/QuoteRequest.php b/app/Models/QuoteRequest.php index d725911..47596df 100644 --- a/app/Models/QuoteRequest.php +++ b/app/Models/QuoteRequest.php @@ -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', -- 2.39.5