Skip to content

Commit 3c19ad7

Browse files
committed
feat: Aggiunta azione di gruppo per duplicazione massiva articoli
1 parent 8c0191a commit 3c19ad7

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

modules/articoli/bulk.php

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,45 @@
511511

512512
break;
513513

514+
case 'copy_bulk':
515+
$copia_allegati = post('allegati');
516+
517+
foreach ($id_records as $idarticolo) {
518+
$articolo = Articolo::find($idarticolo);
519+
$new = $articolo->replicate();
520+
521+
// Se non specifico il codice articolo lo imposto uguale all'id della riga
522+
if (empty(post('codice'))) {
523+
$codice = $dbo->fetchOne('SELECT MAX(`id`) as codice FROM `mg_articoli`')['codice'] + 1;
524+
} else {
525+
$codice = post('codice', true);
526+
}
527+
528+
$new->codice = $codice;
529+
$new->qta = 0;
530+
$new->save();
531+
532+
$new->setTranslation('title', $articolo->getTranslation('title'));
533+
$id_record = $new->id;
534+
535+
// Copia degli allegati
536+
$copia_allegati = post('copia_allegati');
537+
if (!empty($copia_allegati)) {
538+
$allegati = $articolo->uploads();
539+
foreach ($allegati as $allegato) {
540+
$allegato->copia([
541+
'id_module' => $new->getModule()->id,
542+
'id_record' => $new->id,
543+
]);
544+
}
545+
}
546+
}
547+
548+
flash()->info(tr('Articoli duplicati correttamente!'));
549+
550+
break;
551+
552+
514553
case 'merge_products':
515554
$id_articolo_principale = post('id_articolo_principale');
516555

@@ -793,6 +832,18 @@
793832
],
794833
];
795834

835+
$operations['copy_bulk'] = [
836+
'text' => '<span><i class="fa fa-clone"></i> '.tr('Duplica articoli'),
837+
'data' => [
838+
'title' => tr('Vuoi davvero fare una copia degli articoli selezionati?'),
839+
'msg' => '{[ "type":"checkbox", "label":"'.tr('Duplica allegati').'", "name":"allegati", "value":"" ]}
840+
<style>.swal2-modal{ width:600px !important; }</style>',
841+
'button' => tr('Procedi'),
842+
'class' => 'btn btn-lg btn-warning',
843+
'blank' => false,
844+
],
845+
];
846+
796847
$operations['merge_products'] = [
797848
'text' => '<span><i class="fa fa-pencil"></i> '.tr('Unisci articoli').' <span class="badge bg-warning">Beta</span></span>',
798849
'data' => [

0 commit comments

Comments
 (0)