Skip to content

Commit 06efa92

Browse files
committed
feat: Aggiunta selezione su campi da aggiornare da scheda articolo nelle righe dei documenti, close #1676
1 parent d37cb5e commit 06efa92

12 files changed

Lines changed: 144 additions & 43 deletions

File tree

modules/contratti/actions.php

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -834,6 +834,9 @@
834834
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
835835
$numero_totale = 0;
836836
$id_righe = (array) post('righe');
837+
$update_prezzo_acquisto = post('update_prezzo_acquisto');
838+
$update_prezzo_vendita = post('update_prezzo_vendita');
839+
$update_descrizione = post('update_descrizione');
837840

838841
foreach ($id_righe as $id_riga) {
839842
$riga = Articolo::find($id_riga) ?: Riga::find($id_riga);
@@ -843,19 +846,26 @@
843846
$sconto = 0;
844847
if ($riga->isArticolo()) {
845848
$id_articolo = $riga->idarticolo;
846-
$prezzo_consigliato = getPrezzoConsigliato($id_anagrafica, $dir, $id_articolo);
847-
if (!$prezzo_consigliato['prezzo_unitario']) {
848-
$prezzo_consigliato = getPrezzoConsigliato(setting('Azienda predefinita'), $dir, $id_articolo);
849-
}
850-
$prezzo_unitario = $prezzo_consigliato['prezzo_unitario'];
851-
$sconto = $prezzo_consigliato['sconto'];
852849

853-
$prezzo_unitario = $prezzo_unitario ?: ($prezzi_ivati ? $riga->articolo->prezzo_vendita_ivato : $riga->articolo->prezzo_vendita);
854-
$riga->setPrezzoUnitario($prezzo_unitario, $riga->idiva);
850+
if( $update_prezzo_vendita) {
851+
$prezzo_consigliato = getPrezzoConsigliato($id_anagrafica, $dir, $id_articolo);
852+
if (!$prezzo_consigliato['prezzo_unitario']) {
853+
$prezzo_consigliato = getPrezzoConsigliato(setting('Azienda predefinita'), $dir, $id_articolo);
854+
}
855+
$prezzo_unitario = $prezzo_consigliato['prezzo_unitario'];
856+
$sconto = $prezzo_consigliato['sconto'];
857+
858+
$prezzo_unitario = $prezzo_unitario ?: ($prezzi_ivati ? $riga->articolo->prezzo_vendita_ivato : $riga->articolo->prezzo_vendita);
859+
$riga->setPrezzoUnitario($prezzo_unitario, $riga->idiva);
860+
}
855861

856-
if ($dir == 'entrata') {
862+
if ($dir == 'entrata' && $update_prezzo_acquisto) {
857863
$riga->costo_unitario = $riga->articolo->prezzo_acquisto;
858864
}
865+
866+
if( $update_descrizione) {
867+
$riga->descrizione = $riga->articolo->getTranslation('title');
868+
}
859869
}
860870

861871
// Aggiunta sconto combinato se è presente un piano di sconto nell'anagrafica

modules/contratti/row-list.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,10 @@ function confrontaRighe(id) {
514514
function aggiornaRighe(id) {
515515
swal({
516516
title: "'.tr('Aggiornare prezzi di queste righe?').'",
517-
html: "'.tr('Confermando verranno aggiornati i prezzi delle righe secondo i listini ed i prezzi predefiniti collegati all\'articolo e ai piani sconto collegati all\'anagrafica.').'",
517+
html: `'.tr('Confermando verranno aggiornati i prezzi delle righe secondo i listini ed i prezzi predefiniti collegati all\'articolo e ai piani sconto collegati all\'anagrafica.').'.<br><br>
518+
{[ "type": "checkbox", "label": "", "name": "update_prezzo_acquisto", "value":"1", "values":" \"'.tr('Aggiornare prezzo di acquisto').'\",\"'.tr('Non aggiornare prezzo di acquisto').'\" " ]}<br>
519+
{[ "type": "checkbox", "label": "", "name": "update_prezzo_vendita", "value":"1", "values":" \"'.tr('Aggiornare prezzo di vendita').'\",\"'.tr('Non aggiornare prezzo di vendita').'\" " ]}<br>
520+
{[ "type": "checkbox", "label": "", "name": "update_descrizione", "value":"0", "values":" \"'.tr('Aggiornare descrizione').'\",\"'.tr('Non aggiornare descrizione').'\" " ]}<br>`,
518521
type: "warning",
519522
showCancelButton: true,
520523
confirmButtonText: "'.tr('').'"
@@ -527,6 +530,9 @@ function aggiornaRighe(id) {
527530
id_record: globals.id_record,
528531
op: "update-price",
529532
righe: id,
533+
update_prezzo_acquisto: input("update_prezzo_acquisto").get(),
534+
update_prezzo_vendita: input("update_prezzo_vendita").get(),
535+
update_descrizione: input("update_descrizione").get(),
530536
},
531537
success: function (response) {
532538
renderMessages();

modules/ddt/actions.php

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -824,6 +824,9 @@
824824
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
825825
$numero_totale = 0;
826826
$id_righe = (array) post('righe');
827+
$update_prezzo_acquisto = post('update_prezzo_acquisto');
828+
$update_prezzo_vendita = post('update_prezzo_vendita');
829+
$update_descrizione = post('update_descrizione');
827830

828831
foreach ($id_righe as $id_riga) {
829832
$riga = Articolo::find($id_riga) ?: Riga::find($id_riga);
@@ -842,11 +845,21 @@
842845

843846
if ($dir == 'entrata') {
844847
$prezzo_unitario = $prezzo_unitario ?: ($prezzi_ivati ? $riga->articolo->prezzo_vendita_ivato : $riga->articolo->prezzo_vendita);
845-
$riga->costo_unitario = $riga->articolo->prezzo_acquisto;
848+
849+
if ($update_prezzo_acquisto) {
850+
$riga->costo_unitario = $riga->articolo->prezzo_acquisto;
851+
}
846852
} else {
847853
$prezzo_unitario = $prezzo_unitario ?: $riga->articolo->prezzo_acquisto;
848854
}
849-
$riga->setPrezzoUnitario($prezzo_unitario, $riga->idiva);
855+
856+
if( $update_prezzo_vendita) {
857+
$riga->setPrezzoUnitario($prezzo_unitario, $riga->idiva);
858+
}
859+
860+
if( $update_descrizione) {
861+
$riga->descrizione = $riga->articolo->getTranslation('title');
862+
}
850863
}
851864

852865
// Aggiunta sconto combinato se è presente un piano di sconto nell'anagrafica

modules/ddt/row-list.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -542,8 +542,10 @@ function confrontaRighe(id) {
542542
function aggiornaRighe(id) {
543543
swal({
544544
title: "'.tr('Aggiornare prezzi di queste righe?').'",
545-
html: "'.tr('Confermando verranno aggiornati i prezzi delle righe secondo i listini ed i prezzi predefiniti collegati all\'articolo e ai piani sconto collegati all\'anagrafica.').'",
546-
type: "warning",
545+
html: `'.tr('Confermando verranno aggiornati i prezzi delle righe secondo i listini ed i prezzi predefiniti collegati all\'articolo e ai piani sconto collegati all\'anagrafica.').'.<br><br>
546+
{[ "type": "checkbox", "label": "", "name": "update_prezzo_acquisto", "value":"1", "values":" \"'.tr('Aggiornare prezzo di acquisto').'\",\"'.tr('Non aggiornare prezzo di acquisto').'\" " ]}<br>
547+
{[ "type": "checkbox", "label": "", "name": "update_prezzo_vendita", "value":"1", "values":" \"'.tr('Aggiornare prezzo di vendita').'\",\"'.tr('Non aggiornare prezzo di vendita').'\" " ]}<br>
548+
{[ "type": "checkbox", "label": "", "name": "update_descrizione", "value":"0", "values":" \"'.tr('Aggiornare descrizione').'\",\"'.tr('Non aggiornare descrizione').'\" " ]}<br>`, type: "warning",
547549
showCancelButton: true,
548550
confirmButtonText: "'.tr('').'"
549551
}).then(function () {
@@ -555,6 +557,9 @@ function aggiornaRighe(id) {
555557
id_record: globals.id_record,
556558
op: "update-price",
557559
righe: id,
560+
update_prezzo_acquisto: input("update_prezzo_acquisto").get(),
561+
update_prezzo_vendita: input("update_prezzo_vendita").get(),
562+
update_descrizione: input("update_descrizione").get(),
558563
},
559564
success: function (response) {
560565
renderMessages();

modules/fatture/actions.php

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1345,6 +1345,9 @@
13451345
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
13461346
$numero_totale = 0;
13471347
$id_righe = (array) post('righe');
1348+
$update_prezzo_acquisto = post('update_prezzo_acquisto');
1349+
$update_prezzo_vendita = post('update_prezzo_vendita');
1350+
$update_descrizione = post('update_descrizione');
13481351

13491352
foreach ($id_righe as $id_riga) {
13501353
$riga = Articolo::find($id_riga) ?: Riga::find($id_riga);
@@ -1363,11 +1366,21 @@
13631366

13641367
if ($dir == 'entrata') {
13651368
$prezzo_unitario = $prezzo_unitario ?: ($prezzi_ivati ? $riga->articolo->prezzo_vendita_ivato : $riga->articolo->prezzo_vendita);
1366-
$riga->costo_unitario = $riga->articolo->prezzo_acquisto;
1369+
1370+
if ($update_prezzo_acquisto) {
1371+
$riga->costo_unitario = $riga->articolo->prezzo_acquisto;
1372+
}
13671373
} else {
13681374
$prezzo_unitario = $prezzo_unitario ?: $riga->articolo->prezzo_acquisto;
13691375
}
1370-
$riga->setPrezzoUnitario($prezzo_unitario, $riga->idiva);
1376+
1377+
if( $update_prezzo_vendita) {
1378+
$riga->setPrezzoUnitario($prezzo_unitario, $riga->idiva);
1379+
}
1380+
1381+
if( $update_descrizione) {
1382+
$riga->descrizione = $riga->articolo->getTranslation('title');
1383+
}
13711384
}
13721385

13731386
// Aggiunta sconto combinato se è presente un piano di sconto nell'anagrafica

modules/fatture/row-list.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -648,8 +648,10 @@ function confrontaRighe(id) {
648648
function aggiornaRighe(id) {
649649
swal({
650650
title: "'.tr('Aggiornare prezzi di queste righe?').'",
651-
html: "'.tr('Confermando verranno aggiornati i prezzi delle righe secondo i listini ed i prezzi predefiniti collegati all\'articolo e ai piani sconto collegati all\'anagrafica.').'",
652-
type: "warning",
651+
html: `'.tr('Confermando verranno aggiornati i prezzi delle righe secondo i listini ed i prezzi predefiniti collegati all\'articolo e ai piani sconto collegati all\'anagrafica.').'.<br><br>
652+
{[ "type": "checkbox", "label": "", "name": "update_prezzo_acquisto", "value":"1", "values":" \"'.tr('Aggiornare prezzo di acquisto').'\",\"'.tr('Non aggiornare prezzo di acquisto').'\" " ]}<br>
653+
{[ "type": "checkbox", "label": "", "name": "update_prezzo_vendita", "value":"1", "values":" \"'.tr('Aggiornare prezzo di vendita').'\",\"'.tr('Non aggiornare prezzo di vendita').'\" " ]}<br>
654+
{[ "type": "checkbox", "label": "", "name": "update_descrizione", "value":"0", "values":" \"'.tr('Aggiornare descrizione').'\",\"'.tr('Non aggiornare descrizione').'\" " ]}<br>`, type: "warning",
653655
showCancelButton: true,
654656
confirmButtonText: "'.tr('').'"
655657
}).then(function () {
@@ -661,6 +663,9 @@ function aggiornaRighe(id) {
661663
id_record: globals.id_record,
662664
op: "update-price",
663665
righe: id,
666+
update_prezzo_acquisto: input("update_prezzo_acquisto").get(),
667+
update_prezzo_vendita: input("update_prezzo_vendita").get(),
668+
update_descrizione: input("update_descrizione").get(),
664669
},
665670
success: function (response) {
666671
renderMessages();

modules/interventi/actions.php

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1612,6 +1612,9 @@
16121612
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
16131613
$numero_totale = 0;
16141614
$id_righe = (array) post('righe');
1615+
$update_prezzo_acquisto = post('update_prezzo_acquisto');
1616+
$update_prezzo_vendita = post('update_prezzo_vendita');
1617+
$update_descrizione = post('update_descrizione');
16151618

16161619
foreach ($id_righe as $id_riga) {
16171620
$riga = Articolo::find($id_riga) ?: Riga::find($id_riga);
@@ -1621,19 +1624,26 @@
16211624
$sconto = 0;
16221625
if ($riga->isArticolo()) {
16231626
$id_articolo = $riga->idarticolo;
1624-
$prezzo_consigliato = getPrezzoConsigliato($id_anagrafica, $dir, $id_articolo);
1625-
if (!$prezzo_consigliato['prezzo_unitario']) {
1626-
$prezzo_consigliato = getPrezzoConsigliato(setting('Azienda predefinita'), $dir, $id_articolo);
1627-
}
1628-
$prezzo_unitario = $prezzo_consigliato['prezzo_unitario'];
1629-
$sconto = $prezzo_consigliato['sconto'];
16301627

1631-
$prezzo_unitario = $prezzo_unitario ?: ($prezzi_ivati ? $riga->articolo->prezzo_vendita_ivato : $riga->articolo->prezzo_vendita);
1632-
$riga->setPrezzoUnitario($prezzo_unitario, $riga->idiva);
1628+
if( $update_prezzo_vendita) {
1629+
$prezzo_consigliato = getPrezzoConsigliato($id_anagrafica, $dir, $id_articolo);
1630+
if (!$prezzo_consigliato['prezzo_unitario']) {
1631+
$prezzo_consigliato = getPrezzoConsigliato(setting('Azienda predefinita'), $dir, $id_articolo);
1632+
}
1633+
$prezzo_unitario = $prezzo_consigliato['prezzo_unitario'];
1634+
$sconto = $prezzo_consigliato['sconto'];
1635+
1636+
$prezzo_unitario = $prezzo_unitario ?: ($prezzi_ivati ? $riga->articolo->prezzo_vendita_ivato : $riga->articolo->prezzo_vendita);
1637+
$riga->setPrezzoUnitario($prezzo_unitario, $riga->idiva);
1638+
}
16331639

1634-
if ($dir == 'entrata') {
1640+
if ($dir == 'entrata' && $update_prezzo_acquisto) {
16351641
$riga->costo_unitario = $riga->articolo->prezzo_acquisto;
16361642
}
1643+
1644+
if( $update_descrizione) {
1645+
$riga->descrizione = $riga->articolo->getTranslation('title');
1646+
}
16371647
}
16381648

16391649
// Aggiunta sconto combinato se è presente un piano di sconto nell'anagrafica

modules/interventi/row-list.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -415,8 +415,10 @@ function confrontaRighe(id) {
415415
function aggiornaRighe(id) {
416416
swal({
417417
title: "'.tr('Aggiornare prezzi di queste righe?').'",
418-
html: "'.tr('Confermando verranno aggiornati i prezzi delle righe secondo i listini ed i prezzi predefiniti collegati all\'articolo e ai piani sconto collegati all\'anagrafica.').'",
419-
type: "warning",
418+
html: `'.tr('Confermando verranno aggiornati i prezzi delle righe secondo i listini ed i prezzi predefiniti collegati all\'articolo e ai piani sconto collegati all\'anagrafica.').'.<br><br>
419+
{[ "type": "checkbox", "label": "", "name": "update_prezzo_acquisto", "value":"1", "values":" \"'.tr('Aggiornare prezzo di acquisto').'\",\"'.tr('Non aggiornare prezzo di acquisto').'\" " ]}<br>
420+
{[ "type": "checkbox", "label": "", "name": "update_prezzo_vendita", "value":"1", "values":" \"'.tr('Aggiornare prezzo di vendita').'\",\"'.tr('Non aggiornare prezzo di vendita').'\" " ]}<br>
421+
{[ "type": "checkbox", "label": "", "name": "update_descrizione", "value":"0", "values":" \"'.tr('Aggiornare descrizione').'\",\"'.tr('Non aggiornare descrizione').'\" " ]}<br>`, type: "warning",
420422
showCancelButton: true,
421423
confirmButtonText: "'.tr('').'"
422424
}).then(function () {
@@ -428,6 +430,9 @@ function aggiornaRighe(id) {
428430
id_record: globals.id_record,
429431
op: "update-price",
430432
righe: id,
433+
update_prezzo_acquisto: input("update_prezzo_acquisto").get(),
434+
update_prezzo_vendita: input("update_prezzo_vendita").get(),
435+
update_descrizione: input("update_descrizione").get(),
431436
},
432437
success: function (response) {
433438
renderMessages();

modules/ordini/actions.php

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -894,6 +894,9 @@
894894
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
895895
$numero_totale = 0;
896896
$id_righe = (array) post('righe');
897+
$update_prezzo_acquisto = post('update_prezzo_acquisto');
898+
$update_prezzo_vendita = post('update_prezzo_vendita');
899+
$update_descrizione = post('update_descrizione');
897900

898901
foreach ($id_righe as $id_riga) {
899902
$riga = Articolo::find($id_riga) ?: Riga::find($id_riga);
@@ -912,11 +915,21 @@
912915

913916
if ($dir == 'entrata') {
914917
$prezzo_unitario = $prezzo_unitario ?: ($prezzi_ivati ? $riga->articolo->prezzo_vendita_ivato : $riga->articolo->prezzo_vendita);
915-
$riga->costo_unitario = $riga->articolo->prezzo_acquisto;
918+
919+
if ($update_prezzo_acquisto) {
920+
$riga->costo_unitario = $riga->articolo->prezzo_acquisto;
921+
}
916922
} else {
917923
$prezzo_unitario = $prezzo_unitario ?: $riga->articolo->prezzo_acquisto;
918924
}
919-
$riga->setPrezzoUnitario($prezzo_unitario, $riga->idiva);
925+
926+
if( $update_prezzo_vendita) {
927+
$riga->setPrezzoUnitario($prezzo_unitario, $riga->idiva);
928+
}
929+
930+
if( $update_descrizione) {
931+
$riga->descrizione = $riga->articolo->getTranslation('title');
932+
}
920933
}
921934

922935
// Aggiunta sconto combinato se è presente un piano di sconto nell'anagrafica

modules/ordini/row-list.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -638,8 +638,10 @@ function confrontaRighe(id) {
638638
function aggiornaRighe(id) {
639639
swal({
640640
title: "'.tr('Aggiornare prezzi di queste righe?').'",
641-
html: "'.tr('Confermando verranno aggiornati i prezzi delle righe secondo i listini ed i prezzi predefiniti collegati all\'articolo e ai piani sconto collegati all\'anagrafica.').'",
642-
type: "warning",
641+
html: `'.tr('Confermando verranno aggiornati i prezzi delle righe secondo i listini ed i prezzi predefiniti collegati all\'articolo e ai piani sconto collegati all\'anagrafica.').'.<br><br>
642+
{[ "type": "checkbox", "label": "", "name": "update_prezzo_acquisto", "value":"1", "values":" \"'.tr('Aggiornare prezzo di acquisto').'\",\"'.tr('Non aggiornare prezzo di acquisto').'\" " ]}<br>
643+
{[ "type": "checkbox", "label": "", "name": "update_prezzo_vendita", "value":"1", "values":" \"'.tr('Aggiornare prezzo di vendita').'\",\"'.tr('Non aggiornare prezzo di vendita').'\" " ]}<br>
644+
{[ "type": "checkbox", "label": "", "name": "update_descrizione", "value":"0", "values":" \"'.tr('Aggiornare descrizione').'\",\"'.tr('Non aggiornare descrizione').'\" " ]}<br>`, type: "warning",
643645
showCancelButton: true,
644646
confirmButtonText: "'.tr('').'"
645647
}).then(function () {
@@ -652,6 +654,9 @@ function aggiornaRighe(id) {
652654
id_record: globals.id_record,
653655
op: "update-price",
654656
righe: id,
657+
update_prezzo_acquisto: input("update_prezzo_acquisto").get(),
658+
update_prezzo_vendita: input("update_prezzo_vendita").get(),
659+
update_descrizione: input("update_descrizione").get(),
655660
},
656661
success: function (response) {
657662
renderMessages();

0 commit comments

Comments
 (0)