diff --git a/modules/articoli/actions.php b/modules/articoli/actions.php index 74b560eb7..873dcd06a 100755 --- a/modules/articoli/actions.php +++ b/modules/articoli/actions.php @@ -60,9 +60,7 @@ switch (post('op')) { if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { $articolo->name = post('descrizione'); } - if (!setting('Utilizza codice articolo come barcode')) { - $articolo->barcode = post('barcode'); - } + $articolo->barcode = post('barcode'); $articolo->threshold_qta = post('threshold_qta'); $articolo->coefficiente = post('coefficiente'); $articolo->idiva_vendita = post('idiva_vendita'); @@ -133,9 +131,7 @@ switch (post('op')) { } $articolo->codice = post('codice', true); - if (!setting('Utilizza codice articolo come barcode')) { - $articolo->barcode = post('barcode'); - } + $articolo->barcode = post('barcode'); $articolo->um = post('um'); $articolo->id_categoria = post('categoria'); $articolo->id_sottocategoria = post('subcategoria'); diff --git a/modules/articoli/add.php b/modules/articoli/add.php index 182a72d72..28a476774 100755 --- a/modules/articoli/add.php +++ b/modules/articoli/add.php @@ -25,7 +25,6 @@ use Modules\Iva\Aliquota; $prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA'); $iva_predefinita = setting('Iva predefinita'); $aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale); -$utilizza_codice_barcode = setting('Utilizza codice articolo come barcode'); ?>
@@ -37,7 +36,7 @@ $utilizza_codice_barcode = setting('Utilizza codice articolo come barcode');
- {[ "type": "text", "label": "", "name": "barcode", "required": 0, "value": "", "validation": "barcode", "disabled": "" ]} + {[ "type": "text", "label": "", "name": "barcode", "required": 0, "value": "", "validation": "barcode" ]}
diff --git a/modules/articoli/bulk.php b/modules/articoli/bulk.php index d44210b6d..4f055eeaa 100755 --- a/modules/articoli/bulk.php +++ b/modules/articoli/bulk.php @@ -504,7 +504,7 @@ $operations['stampa-etichette'] = [ 'text' => ' '.tr('Stampa etichette').'', 'data' => [ 'title' => tr('Stampare le etichette?'), - 'msg' => tr('Per ciascun articolo selezionato, se presente il barcode, verrà stampata un\'etichetta').'

+ 'msg' => tr('Per ciascun articolo selezionato, verrà stampata un\'etichetta').'

{[ "type": "select", "label": "'.tr('Tipologia stampa').'", "name": "tipologia", "required": 1, "values": "list=\"singola\":\"Singola\",\"a4\":\"Formato A4\"", "value": "singola" ]}
', 'button' => tr('Procedi'), 'class' => 'btn btn-lg btn-warning', diff --git a/modules/articoli/edit.php b/modules/articoli/edit.php index 29f803295..80408815d 100755 --- a/modules/articoli/edit.php +++ b/modules/articoli/edit.php @@ -22,8 +22,6 @@ include_once __DIR__.'/../../core.php'; use Models\Module; use Modules\Iva\Aliquota; -$utilizza_codice_barcode = setting('Utilizza codice articolo come barcode'); - ?> @@ -47,7 +45,7 @@ $utilizza_codice_barcode = setting('Utilizza codice articolo come barcode');
- {[ "type": "text", "label": "", "name": "barcode", "value": "", "disabled": "" ]} + {[ "type": "text", "label": "", "name": "barcode", "value": "$barcode$" ]}
diff --git a/modules/articoli/validation.php b/modules/articoli/validation.php index c2be3b8e9..518ffc6a7 100755 --- a/modules/articoli/validation.php +++ b/modules/articoli/validation.php @@ -46,6 +46,14 @@ switch ($name) { ['id', '<>', $id_record], ])->count() == 0; + if ($disponibile) { + $disponibile = Articolo::where([ + ['codice', $value], + ['barcode', '=', ''], + ['id', '<>', $id_record], + ])->count() == 0; + } + $message = $disponibile ? tr('Il barcode è disponbile') : tr('Il barcode è già utilizzato in un altro articolo'); $response = [ diff --git a/modules/contratti/actions.php b/modules/contratti/actions.php index cbb4c3e6c..d89d7d9de 100644 --- a/modules/contratti/actions.php +++ b/modules/contratti/actions.php @@ -591,6 +591,9 @@ switch (post('op')) { if (!empty($barcode)) { $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id']; + if (empty($id_articolo)) { + $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => '', 'codice' => $barcode])['id']; + } } if (!empty($id_articolo)) { diff --git a/modules/ddt/actions.php b/modules/ddt/actions.php index c1de429d4..280d3df26 100755 --- a/modules/ddt/actions.php +++ b/modules/ddt/actions.php @@ -560,6 +560,9 @@ switch (filter('op')) { if (!empty($barcode)) { $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id']; + if (empty($id_articolo)) { + $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => '', 'codice' => $barcode])['id']; + } } if (!empty($id_articolo)) { diff --git a/modules/fatture/actions.php b/modules/fatture/actions.php index b6d59bb86..6b2bdfb32 100755 --- a/modules/fatture/actions.php +++ b/modules/fatture/actions.php @@ -965,6 +965,9 @@ switch ($op) { if (!empty($barcode)) { $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id']; + if (empty($id_articolo)) { + $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => '', 'codice' => $barcode])['id']; + } } if (!empty($id_articolo)) { diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php index d41c41e6d..02cb7d8aa 100644 --- a/modules/interventi/actions.php +++ b/modules/interventi/actions.php @@ -1155,6 +1155,9 @@ switch (post('op')) { if (!empty($barcode)) { $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id']; + if (empty($id_articolo)) { + $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => '', 'codice' => $barcode])['id']; + } } if (!empty($id_articolo)) { diff --git a/modules/ordini/actions.php b/modules/ordini/actions.php index 826fa6539..353d0da56 100755 --- a/modules/ordini/actions.php +++ b/modules/ordini/actions.php @@ -612,6 +612,9 @@ switch (post('op')) { if (!empty($barcode)) { $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id']; + if (empty($id_articolo)) { + $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => '', 'codice' => $barcode])['id']; + } } if (!empty($id_articolo)) { diff --git a/modules/preventivi/actions.php b/modules/preventivi/actions.php index de155fa55..97b0bfbf5 100755 --- a/modules/preventivi/actions.php +++ b/modules/preventivi/actions.php @@ -427,6 +427,9 @@ switch (post('op')) { if (!empty($barcode)) { $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id']; + if (empty($id_articolo)) { + $id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => '', 'codice' => $barcode])['id']; + } } if (!empty($id_articolo)) { diff --git a/templates/barcode/body.php b/templates/barcode/body.php index dcd0d34cb..3678e61be 100755 --- a/templates/barcode/body.php +++ b/templates/barcode/body.php @@ -45,7 +45,7 @@ $page = 0; $prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA'); foreach ($articoli as $articolo) { - $barcode = setting('Utilizza codice articolo come barcode') ? $articolo->codice : $articolo->barcode; + $barcode = $articolo->barcode ?: $articolo->codice; echo '
diff --git a/templates/barcode_bulk/body.php b/templates/barcode_bulk/body.php index 7056fa2ce..48848fd07 100644 --- a/templates/barcode_bulk/body.php +++ b/templates/barcode_bulk/body.php @@ -44,7 +44,7 @@ $i = 0; $prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA'); foreach ($articoli as $articolo) { - $barcode = setting('Utilizza codice articolo come barcode') ? $articolo->codice : $articolo->barcode; + $barcode = $articolo->barcode ?: $articolo->codice; if ($i % 5 == 0) { echo ''; diff --git a/update/2_5_3.sql b/update/2_5_3.sql index 047f93cfa..d91f629cf 100644 --- a/update/2_5_3.sql +++ b/update/2_5_3.sql @@ -111,10 +111,6 @@ HAVING ORDER BY `mg_articoli_lang`.`title`" WHERE `name` = 'Articoli'; --- Aggiunta impostazione per utilizzare il codice come barcode -INSERT INTO `zz_settings` (`nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES ('Utilizza codice articolo come barcode', '0', 'boolean', '1', 'Magazzino', '4'); -INSERT INTO `zz_settings_lang` (`id_lang`, `id_record`, `title`, `help`) VALUES ((SELECT `valore` FROM `zz_settings` WHERE `nome` = 'Lingua'), (SELECT `id` FROM `zz_settings` WHERE `nome`='Utilizza codice articolo come barcode'), 'Utilizza codice articolo come barcode', ''); - -- Aggiunte note sessioni ALTER TABLE `in_interventi_tecnici` ADD `note` TEXT NOT NULL AFTER `tipo_scontokm`;