From 0a3de4b428f345bf55d16f3b8e5e473a8b40b7b8 Mon Sep 17 00:00:00 2001 From: MatteoPistorello Date: Mon, 21 Feb 2022 14:46:10 +0100 Subject: [PATCH] Aggiunte configurazioni per gestione immagini in fase di import articoli --- modules/articoli/src/Import/CSV.php | 91 ++++++++++++++++++----------- 1 file changed, 58 insertions(+), 33 deletions(-) diff --git a/modules/articoli/src/Import/CSV.php b/modules/articoli/src/Import/CSV.php index 0c1fd64d7..1dc0a3f5c 100644 --- a/modules/articoli/src/Import/CSV.php +++ b/modules/articoli/src/Import/CSV.php @@ -55,6 +55,10 @@ class CSV extends CSVImporter 'Foto', ], ], + [ + 'field' => 'import_immagine', + 'label' => 'Import immagine', + ], [ 'field' => 'descrizione', 'label' => 'Descrizione', @@ -320,6 +324,50 @@ class CSV extends CSVImporter $dettagli['descrizione_fornitore'] = $record['descrizione_fornitore']; $this->aggiornaDettaglioPrezzi($articolo, $dettagli); + //Gestione immagine + if (!empty($url) && !empty($record['import_immagine'])) { + $file_content = file_get_contents($url); + + if (!empty($file_content)) { + if ($record['import_immagine'] == 2 || $record['import_immagine'] == 4) { + Uploads::deleteLinked([ + 'id_module' => Modules::get('Articoli')['id'], + 'id_record' => $articolo->id, + ]); + + $database->update('mg_articoli', [ + 'immagine' => '', + ], [ + 'id' => $articolo->id, + ]); + } + + $name = 'immagine_'.$articolo->id.'.'.Upload::getExtensionFromMimeType($file_content); + + $upload = Uploads::upload($file_content, [ + 'name' => 'Immagine', + 'category' => 'Immagini', + 'original_name' => $name, + 'id_module' => Modules::get('Articoli')['id'], + 'id_record' => $articolo->id, + ], [ + 'thumbnails' => true, + ]); + $filename = $upload->filename; + + if ($record['import_immagine'] == 1 || $record['import_immagine'] == 2) { + if (!empty($filename)) { + $database->update('mg_articoli', [ + 'immagine' => $filename, + ], [ + 'id' => $articolo->id, + ]); + } + } + } + } + + unset($record['import_immagine']); unset($record['anagrafica_listino']); unset($record['qta_minima']); unset($record['qta_massima']); @@ -358,44 +406,21 @@ class CSV extends CSVImporter 'idsede' => $id_sede, ]); } - - //Gestione immagine - if (!empty($url)) { - $file_content = file_get_contents($url); - - if (!empty($file_content)) { - $name = 'immagine_'.$articolo->id.'.'.Upload::getExtensionFromMimeType($file_content); - - $upload = Uploads::upload($file_content, [ - 'name' => 'Immagine', - 'category' => 'Immagini', - 'original_name' => $name, - 'id_module' => Modules::get('Articoli')['id'], - 'id_record' => $articolo->id, - ], [ - 'thumbnails' => true, - ]); - $filename = $upload->filename; - - if (!empty($filename)) { - $database->update('mg_articoli', [ - 'immagine' => $filename, - ], [ - 'id' => $articolo->id, - ]); - } - } - } } public static function getExample() { return [ - ['Codice', 'Barcode', 'Descrizione', 'Fornitore predefinito', 'Quantità', 'Unità di misura', 'Prezzo acquisto', 'Prezzo vendita', 'Peso lordo (KG)', 'Volume (M3)', 'Categoria', 'Sottocategoria', 'Ubicazione', 'Note', 'Anagrafica listino', 'Codice fornitore', 'Barcode fornitore', 'Descrizione fornitore', 'Qta minima', 'Qta massima', 'Prezzo listino', 'Sconto listino', 'Cliente/Fornitore listino'], - ['00004', '719376861871', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Rossi', 'artforn01', '384574557484', 'Articolo di prova fornitore', '', '', '10', '5', 'Fornitore'], - ['00004', '719376861871', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Rossi', 'artforn01', '384574557484', 'Articolo di prova fornitore', '1', '10', '9', '', 'Fornitore'], - ['00004', '719376861871', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Rossi', 'artforn01', '384574557484', 'Articolo di prova fornitore', '11', '20', '8', '5', 'Fornitore'], - ['00004', '719376861871', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Verdi', '', '', '', '1', '10', '20', '10', 'Cliente'], + ['Codice', 'Barcode', 'Immagine', 'Import immagine', 'Descrizione', 'Fornitore predefinito', 'Quantità', 'Unità di misura', 'Prezzo acquisto', 'Prezzo vendita', 'Peso lordo (KG)', 'Volume (M3)', 'Categoria', 'Sottocategoria', 'Ubicazione', 'Note', 'Anagrafica listino', 'Codice fornitore', 'Barcode fornitore', 'Descrizione fornitore', 'Qta minima', 'Qta massima', 'Prezzo listino', 'Sconto listino', 'Cliente/Fornitore listino'], + ['00004', '719376861871', 'https://immagini.com/immagine.jpg', '1', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Rossi', 'artforn01', '384574557484', 'Articolo di prova fornitore', '', '', '10', '5', 'Fornitore'], + ['00004', '719376861871', 'https://immagini.com/immagine.jpg', '2', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Rossi', 'artforn01', '384574557484', 'Articolo di prova fornitore', '1', '10', '9', '', 'Fornitore'], + ['00004', '719376861871', 'https://immagini.com/immagine.jpg', '3', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Rossi', 'artforn01', '384574557484', 'Articolo di prova fornitore', '11', '20', '8', '5', 'Fornitore'], + ['00004', '719376861871', '', '', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Verdi', '', '', '', '1', '10', '20', '10', 'Cliente'], + [], + ['Import immagine = 1 -> Permette di importare l\'immagine come principale dell\'articolo mantenendo gli altri allegati già presenti'], + ['Import immagine = 2 -> Permette di importare l\'immagine come principale dell\'articolo rimuovendo tutti gli allegati presenti'], + ['Import immagine = 3 -> Permette di importare l\'immagine come allegato dell\'articolo mantenendo gli altri allegati già presenti'], + ['Import immagine = 4 -> Permette di importare l\'immagine come allegato dell\'articolo rimuovendo tutti gli allegati presenti'], ]; }