diff --git a/modules/anagrafiche/bulk.php b/modules/anagrafiche/bulk.php
index 59fadc5dd..d39f2b85f 100755
--- a/modules/anagrafiche/bulk.php
+++ b/modules/anagrafiche/bulk.php
@@ -119,6 +119,20 @@ switch (post('op')) {
$anagrafica->save();
}
break;
+
+ case 'aggiorna-listino':
+ $id_listino = post('id_listino') ?: 0;
+ foreach ($id_records as $id) {
+ $anagrafica = Anagrafica::find($id);
+ if ($anagrafica->isTipo('Cliente')) {
+ $anagrafica->id_listino = $id_listino;
+ $anagrafica->save();
+ }
+ }
+
+ flash()->info(tr('Listino aggiornato correttamente!'));
+
+ break;
}
$operations = [];
@@ -173,4 +187,13 @@ $operations['cambia-relazione'] = [
],
];
+$operations['aggiorna-listino'] = [
+ 'text' => ' '.tr('Aggiorna listino cliente').'',
+ 'data' => [
+ 'msg' => tr('Vuoi davvero aggiornare il listino cliente delle anagrafiche selezionate?').'
{[ "type": "select", "label": "'.tr('Listino cliente').'", "name": "id_listino", "required": 0, "ajax-source": "listini", "placeholder": "'.tr('Listino scollegato').'" ]}',
+ 'button' => tr('Procedi'),
+ 'class' => 'btn btn-lg btn-warning',
+ ],
+];
+
return $operations;
diff --git a/modules/articoli/bulk.php b/modules/articoli/bulk.php
index acc7ebed8..4f5c1fe39 100755
--- a/modules/articoli/bulk.php
+++ b/modules/articoli/bulk.php
@@ -21,6 +21,7 @@ use Modules\Anagrafiche\Anagrafica;
use Modules\Articoli\Articolo;
use Modules\Articoli\Export\CSV;
use Modules\Iva\Aliquota;
+use Modules\ListiniCliente\Articolo as ArticoloListino;
use Modules\Preventivi\Components\Articolo as ArticoloPreventivo;
use Modules\Preventivi\Preventivo;
use Modules\TipiIntervento\Tipo as TipoSessione;
@@ -394,6 +395,28 @@ switch (post('op')) {
'_NUM_' => $n_art,
]));
+ break;
+
+ case 'add-listino':
+ $id_listino = post('id_listino');
+ $prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
+
+ foreach ($id_records as $id) {
+ $articolo = Articolo::find($id);
+ $prezzo_unitario = $prezzi_ivati ? $articolo->prezzo_vendita_ivato : $articolo->prezzo_vendita;
+ $articolo_listino = ArticoloListino::where('id_articolo', $id)->where('id_listino', $id_listino)->first();
+
+ if (!$articolo_listino) {
+ $articolo_listino = ArticoloListino::build($articolo, $id_listino);
+ }
+ $articolo_listino->data_scadenza = post('data_scadenza') ?: null;
+ $articolo_listino->setPrezzoUnitario($prezzo_unitario);
+ $articolo_listino->sconto_percentuale = post('sconto_percentuale');
+ $articolo_listino->save();
+ }
+
+ flash()->info(tr('Listino aggiornato correttamente!'));
+
break;
}
@@ -574,4 +597,15 @@ $operations['set-provvigione'] = [
],
];
+$operations['add-listino'] = [
+ 'text' => ' '.tr('Aggiungi a listino cliente').'',
+ 'data' => [
+ 'msg' => tr('Vuoi davvero aggiungere gli articoli al listino cliente?').'
{[ "type": "select", "label": "'.tr('Listino cliente').'", "name": "id_listino", "required": 1, "ajax-source": "listini" ]}
+
{[ "type": "number", "label": "'.tr('Sconto percentuale').'", "name": "sconto_percentuale", "required": 1, "icon-after": "%" ]}
+
{[ "type": "date", "label": "'.tr('Data scadenza').'", "name": "data_scadenza", "placeholder": "'.tr('Utilizza data scadenza predefinita listino').'" ]}',
+ 'button' => tr('Procedi'),
+ 'class' => 'btn btn-lg btn-warning',
+ ],
+];
+
return $operations;