]> _ Git - pmi.git/commitdiff
wip #6129 @5:00
authorsoufiane <soufiane@cubedesigners.com>
Wed, 12 Jul 2023 16:21:36 +0000 (18:21 +0200)
committersoufiane <soufiane@cubedesigners.com>
Wed, 12 Jul 2023 16:21:36 +0000 (18:21 +0200)
app/Http/Controllers/Admin/ProductBaseController.php
app/Http/Controllers/AjaxController.php
app/Http/Controllers/Client/ClientController.php

index 5820f8a11212b6c86f9265a92e2cdae52808dc8a..f933d61c60796325627637ca2426d7b476e81dcf 100644 (file)
@@ -60,19 +60,24 @@ class ProductBaseController extends CubistMagicController {
         if($excels) {
 
             $sizeFiles = sizeof($excels);
-            $sizeSheets = sizeof(call_user_func_array('array_merge', $excels));
+            $sizeSheets = sizeof(call_user_func_array('array_merge',array_merge(...$excels)));
 
             // Parse product files
+
             foreach ($excels as $key => $excel) {
                 $filename = key($excel);
                 // Parse product sheets
+                $ids = [];
                 foreach ($excel[$filename] as $sheet => $rows) {
-                    try {
+                    if(!empty($rows[1][1])) {
                         $id = $rows[1][1];
-                    } catch(\Exception $e) {
+                        $ids[$sheet] = $id;
+                    }else {
                         $errorsMessage[] = "L'Identifiant pour la fiche $sheet est manquant.";
-                        $contentMail["details"][$filename][$sheet] = "Identifiant manquant";
+                        $contentMail["details"][$filename][$sheet] = "[ERREUR] Identifiant manquant";
+                        continue;
                     }
+
                     try {
                         // Parse rows of sheet
                         foreach ($rows as $row => $columns) {
@@ -118,7 +123,7 @@ class ProductBaseController extends CubistMagicController {
                         }
                     } catch(\Exception $e) {
                         $errorsMessage[] = "La feuille : $sheet, contient des erreurs";
-                        $contentMail["details"][$filename][$sheet] = "Format invalide";
+                        $contentMail["details"][$filename][$sheet] = "[ERREUR] Format invalide";
                     }
                     $optionId = -1;
                 }
@@ -126,31 +131,37 @@ class ProductBaseController extends CubistMagicController {
                 foreach ($specifications as $product => $specification) {
                     $data[$product]['json'] = json_encode($specification);
                 }
-                
-                $product = Product::find($id);
-                if($product) {
-                    $changes = $this->storeAndReturnChanges($data);
 
-                    // Remove empty array from the changes
-                    $changes = array_filter($changes);
 
-                    // Total changes
-                    $sizeChanges = sizeof($changes);
+                foreach ($ids as $sheet => $id) {
+                    $product = Product::find($id);
+                    if ($product) {
+                        $changes = $this->storeAndReturnChanges($data);
 
-                    $contentMail["details"][$filename][$sheet] = "OK";
-                    if(!$changes) {
-                        $contentMail["details"][$filename][$sheet] .= " (aucune modification)";
-                    }
-                }else {
-                    if($id) {
+                        // Remove empty array from the changes
+                        $changes = array_filter($changes);
+
+                        // Total changes
+                        $sizeChanges = sizeof($changes);
+
+                        $contentMail["details"][$filename][$sheet] = "[OK]";
+
+                        if (!$changes) {
+                            $contentMail["details"][$filename][$sheet] .= " (aucune modification)";
+                        }
+                    } else {
                         $errorsMessage[] = "Aucun ID correspond pour le produit: $sheet";
-                        $contentMail["details"][$filename][$sheet] = "Identifiant inconnu";
+                        if ($id) {
+                            $contentMail["details"][$filename][$sheet] = "[ERREUR] Identifiant inconnu";
+                        } else {
+                            $contentMail["details"][$filename][$sheet] = "[ERREUR] Identifiant manquant";
+                        }
                     }
                 }
             }
         }else{
             $errorsMessage[] = "Erreur lors du téléchargement du fichier.";
-            $contentMail["details"] = "Fichier incorrect";
+            $contentMail["details"] = "[ERREUR] Fichier incorrect";
         }
 
         $successMessage = "$sizeFiles fichier(s) chargé(s)";
@@ -187,10 +198,11 @@ class ProductBaseController extends CubistMagicController {
         $changes = [];
         foreach ($datas as $id => $data) {
             $product = Product::find($id);
-            if($product)
+            if ($product) {
                 $product->update($data);
                 $product->save();
                 $changes[$id] = $product->wasChanged();
+            }
         }
         return $changes;
     }
@@ -220,7 +232,7 @@ class ProductBaseController extends CubistMagicController {
             $message->sender(config('mail.from.address'), config('mail.from.name'));
             $message->to("soufiane@cubedesigners.com");
             $message->bcc('test+pmi@cubedesigners.com');
-            $message->subject("Mise à jour");
+            $message->subject("[PM-Instrumentation] Mise à jour");
         });
     }
 }
index 6c1c7e7601db4bfcd75a63ad704d56da5e2eb91c..70c016561b5e3ba92aa11e3edc0a76898571e695 100644 (file)
@@ -647,7 +647,7 @@ class AjaxController extends CubistFrontController
         $cart['products'] = json_decode($cart['products'], true);
 
         $clientId = Client::getClientConnected()->id;
-        $currentCartRef = Cart::getRefs(json_decode($cart['products'],true));
+        $currentCartRef = Cart::getRefs($cart['products']);
         $data = Cart::updateCartData($currentCartRef,$cart,$productsInfosBase);
 
         if($clientIdInRequest === $clientId) {
index fadd14fbb38d33c48c2a7841ed25f83bc1b18fbf..547a9704e95ef7679908ebeaaa85c4c6b23ce68a 100644 (file)
@@ -1,14 +1,10 @@
 <?php
 namespace App\Http\Controllers\Client;
 
-use App\Models\Client;
 use Illuminate\Http\Request;
 use Illuminate\Http\RedirectResponse;
 use Illuminate\Support\Facades\Auth;
 use Cubist\Backpack\app\Http\Controllers\CubistPageController;
-use Illuminate\Support\Facades\DB;
-use Illuminate\Support\Facades\Hash;
-use Illuminate\Support\Facades\Password;
 
 class ClientController extends CubistPageController
 {