Aggiunta azione bulk da articoli per creare preventivo
This commit is contained in:
parent
dfd907cf09
commit
bb346c9318
|
@ -19,6 +19,11 @@
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
use Modules\Articoli\Articolo;
|
use Modules\Articoli\Articolo;
|
||||||
|
use Modules\Preventivi\Preventivo;
|
||||||
|
use Modules\Anagrafiche\Anagrafica;
|
||||||
|
use Modules\Preventivi\Components\Articolo as ArticoloPreventivo;
|
||||||
|
use Modules\TipiIntervento\Tipo as TipoSessione;
|
||||||
|
use Modules;
|
||||||
use Prints;
|
use Prints;
|
||||||
|
|
||||||
switch (post('op')) {
|
switch (post('op')) {
|
||||||
|
@ -86,6 +91,47 @@ switch (post('op')) {
|
||||||
flash()->warning(tr('Nessun articolo modificato!'));
|
flash()->warning(tr('Nessun articolo modificato!'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'crea-preventivo':
|
||||||
|
$nome = post('nome');
|
||||||
|
$data = post('data');
|
||||||
|
$id_tipo = post('id_tipo');
|
||||||
|
$id_cliente = post('id_cliente');
|
||||||
|
$anagrafica = Anagrafica::find($id_cliente);
|
||||||
|
$tipo = TipoSessione::find($id_tipo);
|
||||||
|
$n_articoli = 0;
|
||||||
|
|
||||||
|
$preventivo = Preventivo::build($anagrafica, $tipo, $nome, $data, 0);
|
||||||
|
$id_preventivo = $preventivo->id;
|
||||||
|
|
||||||
|
foreach ($id_records as $id) {
|
||||||
|
$originale = Articolo::find($id);
|
||||||
|
$articolo = ArticoloPreventivo::build($preventivo, $originale);
|
||||||
|
$articolo->qta = 1;
|
||||||
|
$articolo->descrizione = $originale->descrizione;
|
||||||
|
$articolo->um = $originale->um ?: null;
|
||||||
|
$articolo->costo_unitario = $originale->prezzo_acquisto;
|
||||||
|
$articolo->prezzo_unitario = $originale->prezzo_vendita;
|
||||||
|
$articolo->idiva = $originale->idiva_vendita;
|
||||||
|
$articolo->setPrezzoUnitario($originale->prezzo_vendita, $originale->idiva_vendita);
|
||||||
|
$articolo->save();
|
||||||
|
|
||||||
|
++$n_articoli;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($n_articoli > 0) {
|
||||||
|
flash()->info(tr('_NUM_ articoli sono stati aggiunti al preventivo', [
|
||||||
|
'_NUM_' => $n_articoli,
|
||||||
|
]));
|
||||||
|
} else {
|
||||||
|
flash()->warning(tr('Nessun articolo modificato!'));
|
||||||
|
}
|
||||||
|
|
||||||
|
$database->commitTransaction();
|
||||||
|
redirect( base_path().'/editor.php?id_module='.Modules::get('Preventivi')['id'].'&id_record='.$id_preventivo);
|
||||||
|
exit();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,4 +181,18 @@ $operations['change-qta'] = [
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$operations['crea-preventivo'] = [
|
||||||
|
'text' => '<span><i class="fa fa-plus"></i> '.tr('Crea preventivo').'</span>',
|
||||||
|
'data' => [
|
||||||
|
'title' => tr('Creare preventivo?'),
|
||||||
|
'msg' => tr('Ogni articolo selezionato, verrà aggiunto al preventivo').'
|
||||||
|
<br><br>{[ "type": "text", "label": "'.tr('Nome preventivo').'", "name": "nome", "required": 1 ]}
|
||||||
|
{[ "type": "select", "label": "'.tr('Cliente').'", "name": "id_cliente", "ajax-source": "clienti", "required": 1 ]}
|
||||||
|
{[ "type": "select", "label": "'.tr('Tipo di attività').'", "name": "id_tipo", "values": "query=SELECT idtipointervento AS id, descrizione FROM in_tipiintervento", "required": 1 ]}
|
||||||
|
{[ "type": "date", "label": "'.tr('Data').'", "name": "data", "required": 1, "value": "-now-" ]}',
|
||||||
|
'button' => tr('Procedi'),
|
||||||
|
'class' => 'btn btn-lg btn-warning',
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
return $operations;
|
return $operations;
|
||||||
|
|
Loading…
Reference in New Issue