|
511 | 511 |
|
512 | 512 | break; |
513 | 513 |
|
| 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 | + |
514 | 553 | case 'merge_products': |
515 | 554 | $id_articolo_principale = post('id_articolo_principale'); |
516 | 555 |
|
|
793 | 832 | ], |
794 | 833 | ]; |
795 | 834 |
|
| 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 | + |
796 | 847 | $operations['merge_products'] = [ |
797 | 848 | 'text' => '<span><i class="fa fa-pencil"></i> '.tr('Unisci articoli').' <span class="badge bg-warning">Beta</span></span>', |
798 | 849 | 'data' => [ |
|
0 commit comments