From 931dcc97a2dbaf72a8f263f974474c295370bba8 Mon Sep 17 00:00:00 2001 From: Luca Date: Tue, 17 Jul 2018 18:06:37 +0200 Subject: [PATCH 1/3] =?UTF-8?q?Aggiunta=20possibilit=C3=A0=20di=20duplicar?= =?UTF-8?q?e=20la=20scheda=20dell'articolo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/articoli/actions.php | 41 ++++++++++++++++++++++++------------ modules/articoli/buttons.php | 14 ++++++++++++ 2 files changed, 41 insertions(+), 14 deletions(-) create mode 100644 modules/articoli/buttons.php diff --git a/modules/articoli/actions.php b/modules/articoli/actions.php index d5443d691..cecfe1579 100644 --- a/modules/articoli/actions.php +++ b/modules/articoli/actions.php @@ -7,22 +7,21 @@ switch (post('op')) { case 'add': $codice = post('codice'); - // Inserisco l'articolo solo se non esiste un altro articolo con stesso codice + // Inserisco l'articolo e avviso se esiste un altro articolo con stesso codice. if ($dbo->fetchNum('SELECT * FROM mg_articoli WHERE codice='.prepare($codice)) == 0) { - $dbo->insert('mg_articoli', [ - 'codice' => $codice, - 'descrizione' => post('descrizione'), - 'id_categoria' => post('categoria'), - 'id_sottocategoria' => post('subcategoria'), - 'attivo' => 1, - ]); - $id_record = $dbo->lastInsertedID(); - - $_SESSION['infos'][] = tr('Aggiunto un nuovo articolo!'); - } else { - $_SESSION['errors'][] = tr('Esiste già un articolo con questo codice!'); - } + $_SESSION['warnings'][] = tr('Esiste già un articolo con questo codice.'); + } + $dbo->insert('mg_articoli', [ + 'codice' => $codice, + 'descrizione' => post('descrizione'), + 'id_categoria' => post('categoria'), + 'id_sottocategoria' => post('subcategoria'), + 'attivo' => 1, + ]); + $id_record = $dbo->lastInsertedID(); + $_SESSION['infos'][] = tr('Aggiunto un nuovo articolo.'); + break; // Modifica articolo @@ -108,7 +107,21 @@ switch (post('op')) { $_SESSION['infos'][] = tr('Informazioni salvate correttamente!'); break; + + //Duplica articolo + case 'copy': + + $dbo->query('CREATE TEMPORARY TABLE tmp SELECT * FROM mg_articoli WHERE id = '.prepare($id_record)); + $dbo->query('ALTER TABLE tmp DROP id'); + $dbo->query('INSERT INTO mg_articoli SELECT NULL,tmp.* FROM tmp'); + $id_record = $dbo->lastInsertedID(); + $dbo->query('DROP TEMPORARY TABLE tmp'); + $dbo->query('UPDATE mg_articoli SET qta=0 WHERE id='.prepare($id_record)); + $_SESSION['infos'][] = tr('Articolo duplicato correttamente!'); + break; + + // Aggiunta prodotto case 'addprodotto': // Per i 3 campi (lotto, serial, altro) leggo i numeri di partenza e arrivo e creo le combinazioni scelte diff --git a/modules/articoli/buttons.php b/modules/articoli/buttons.php new file mode 100644 index 000000000..85fc2e096 --- /dev/null +++ b/modules/articoli/buttons.php @@ -0,0 +1,14 @@ + + + + + +'; From 222a387f53b19be3b77592d46a27b6655375d620 Mon Sep 17 00:00:00 2001 From: Luca Date: Tue, 17 Jul 2018 18:18:17 +0200 Subject: [PATCH 2/3] Fix minori --- modules/articoli/actions.php | 3 ++- modules/articoli/add.php | 2 +- modules/articoli/edit.php | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/articoli/actions.php b/modules/articoli/actions.php index cecfe1579..b452da4e4 100644 --- a/modules/articoli/actions.php +++ b/modules/articoli/actions.php @@ -8,9 +8,10 @@ switch (post('op')) { $codice = post('codice'); // Inserisco l'articolo e avviso se esiste un altro articolo con stesso codice. - if ($dbo->fetchNum('SELECT * FROM mg_articoli WHERE codice='.prepare($codice)) == 0) { + if ($dbo->fetchNum('SELECT * FROM mg_articoli WHERE codice='.prepare($codice)) == 1) { $_SESSION['warnings'][] = tr('Esiste già un articolo con questo codice.'); } + $dbo->insert('mg_articoli', [ 'codice' => $codice, 'descrizione' => post('descrizione'), diff --git a/modules/articoli/add.php b/modules/articoli/add.php index bc6cc8cb0..4736023ed 100644 --- a/modules/articoli/add.php +++ b/modules/articoli/add.php @@ -22,7 +22,7 @@ unset($_SESSION['superselect']['id_categoria']);
- {[ "type": "select", "label": "", "name": "subcategoria", "id": "subcategoria_add", "ajax-source": "sottocategorie", "icon-after": "add|||hide" ]} + {[ "type": "select", "label": "", "name": "subcategoria", "id": "subcategoria_add", "ajax-source": "sottocategorie", "icon-after": "add|||hide" ]}
diff --git a/modules/articoli/edit.php b/modules/articoli/edit.php index 26d28376b..6fe8196f2 100644 --- a/modules/articoli/edit.php +++ b/modules/articoli/edit.php @@ -41,7 +41,7 @@ if (!empty($records[0]['immagine'])) {
{[ "type": "checkbox", "label": "", "name": "attivo", "value": "$attivo$", "placeholder": "" ]}
- {[ "type": "select", "label": "", "name": "subcategoria", "value": "$id_sottocategoria$", "ajax-source": "sottocategorie" ]} + {[ "type": "select", "label": "", "name": "subcategoria", "value": "$id_sottocategoria$", "ajax-source": "sottocategorie" ]}
From 370d9f7e8e290eb34d658469c46e0120577fb14b Mon Sep 17 00:00:00 2001 From: Luca Date: Wed, 18 Jul 2018 11:17:21 +0200 Subject: [PATCH 3/3] Fix impostazione 'Azienda predefinita' con deleted_at --- update/2_4_1.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/update/2_4_1.sql b/update/2_4_1.sql index 803853590..626c99665 100644 --- a/update/2_4_1.sql +++ b/update/2_4_1.sql @@ -427,6 +427,11 @@ UPDATE `zz_views` SET `query` = REPLACE( REPLACE(`query`, 'deleted=0', '`deleted_at` IS NULL') , 'deleted = 0', '`deleted_at` IS NULL') , '`deleted` = 0', '`deleted_at` IS NULL'); +UPDATE `zz_settings` SET `tipo` = REPLACE( + REPLACE( + REPLACE(`tipo`, 'deleted=0', '`deleted_at` IS NULL') + , 'deleted = 0', '`deleted_at` IS NULL') +, '`deleted` = 0', '`deleted_at` IS NULL'); UPDATE `zz_widgets` SET `query` = REPLACE( REPLACE( @@ -452,6 +457,11 @@ UPDATE `zz_views` SET `query` = REPLACE( REPLACE(`query`, 'deleted=1', '`deleted_at` IS NOT NULL') , 'deleted = 1', '`deleted_at` IS NOT NULL') , '`deleted` = 1', '`deleted_at` IS NOT NULL'); +UPDATE `zz_settings` SET `tipo` = REPLACE( + REPLACE( + REPLACE(`tipo`, 'deleted=1', '`deleted_at` IS NOT NULL') + , 'deleted = 1', '`deleted_at` IS NOT NULL') +, '`deleted` = 1', '`deleted_at` IS NOT NULL'); -- Fix id delle Banche UPDATE `zz_views` SET `enabled` = 0 WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche') AND `name` = 'id';