Skip to content

Commit 84e6770

Browse files
committed
fix: avviso banca di addebito non selezionata per fatture con metodo di pagamento riba
1 parent 1db1512 commit 84e6770

2 files changed

Lines changed: 26 additions & 70 deletions

File tree

modules/fatture/edit.php

Lines changed: 26 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,11 @@
426426
</div>
427427

428428
<div class="col-md-3">
429+
<?php
430+
$pagamento = $dbo->fetchOne('SELECT `codice_modalita_pagamento_fe` FROM `co_pagamenti` WHERE `id` = '.prepare($record['idpagamento']));
431+
$show_riba_warning = $dir == 'entrata' && !empty($pagamento['codice_modalita_pagamento_fe']) && $pagamento['codice_modalita_pagamento_fe'] == 'MP12' && empty($record['id_banca_controparte']);
432+
?>
433+
<span id="riba-warning" class="badge badge-warning pull-right"><?php echo tr('Nessuna banca di addebito selezionata'); ?></span>
429434
{[ "type": "select", "label": "<?php echo tr('Pagamento'); ?>", "name": "idpagamento", "required": 1, "ajax-source": "pagamenti", "value": "$idpagamento$" ]}
430435
</div>
431436

@@ -1029,69 +1034,11 @@
10291034
echo '
10301035
<script type="text/javascript">
10311036
1032-
// Imposta la direzione del documento nella sessione
1033-
session_set("superselect,dir", "'.$dir.'", 0);
1034-
1035-
// Imposta la banca controparte nella sessione
1036-
session_set("superselect,id_banca_controparte", $("#id_banca_controparte").val(), 0);
1037-
1038-
// Funzione per aggiornare il testo del pagamento in base alla banca
1039-
function aggiornaTestoPagamento() {
1040-
var bancaVal = $("#id_banca_controparte").val();
1041-
var pagamentoData = $("#idpagamento").selectData();
1042-
var bancaMancante = !bancaVal || bancaVal == "" || bancaVal == "null";
1043-
1044-
if (pagamentoData && pagamentoData.codice_modalita_pagamento_fe == "MP12") {
1045-
var avviso = " ('.tr('Nessuna banca di addebito selezionata').')";
1046-
var testoOriginale = pagamentoData.text || "";
1047-
var descrizioneBase = (pagamentoData.descrizione || "").replace(avviso, "");
1048-
1049-
// Rimuovi avviso esistente dal testo
1050-
var testoSenzaAvviso = testoOriginale.replace(avviso, "");
1051-
1052-
if (bancaMancante) {
1053-
// Aggiungi avviso prima della chiusura del link </a> o alla fine
1054-
var nuovoTesto;
1055-
if (testoSenzaAvviso.indexOf("</a>") !== -1) {
1056-
nuovoTesto = testoSenzaAvviso.replace("</a>", avviso + "</a>");
1057-
} else {
1058-
nuovoTesto = testoSenzaAvviso + avviso;
1059-
}
1060-
1061-
var nuovoData = $.extend({}, pagamentoData);
1062-
nuovoData.text = nuovoTesto;
1063-
nuovoData.descrizione = descrizioneBase + avviso;
1064-
1065-
$("#idpagamento").selectSetNew(pagamentoData.id, nuovoTesto, nuovoData);
1066-
} else {
1067-
var nuovoData = $.extend({}, pagamentoData);
1068-
nuovoData.text = testoSenzaAvviso;
1069-
nuovoData.descrizione = descrizioneBase;
1070-
1071-
$("#idpagamento").selectSetNew(pagamentoData.id, testoSenzaAvviso, nuovoData);
1072-
}
1073-
}
1074-
}
1075-
1076-
// Controllo iniziale al caricamento
1077-
$(document).ready(function() {
1078-
setTimeout(function() {
1079-
aggiornaTestoPagamento();
1080-
content_was_modified = false;
1081-
}, 500);
1082-
});
1083-
10841037
$("#idtipodocumento").change(function() {
10851038
updateSelectOption("idtipodocumento", $(this).val());
10861039
session_set("superselect,idtipodocumento",$(this).val(), 0);
10871040
});
10881041
1089-
$("#id_banca_controparte").change(function() {
1090-
session_set("superselect,id_banca_controparte", $(this).val(), 0).then(function() {
1091-
aggiornaTestoPagamento();
1092-
});
1093-
});
1094-
10951042
$("#idanagrafica").change(function() {
10961043
updateSelectOption("idanagrafica", $(this).val());
10971044
session_set("superselect,idanagrafica", $(this).val(), 0);
@@ -1119,6 +1066,27 @@ function aggiornaTestoPagamento() {
11191066
echo '
11201067
});
11211068
1069+
$("#idpagamento").change(function() {
1070+
checkRibaWarning();
1071+
});
1072+
1073+
$("#id_banca_controparte").change(function() {
1074+
checkRibaWarning();
1075+
});
1076+
1077+
function checkRibaWarning() {
1078+
if ("'.($dir == 'entrata' ? 'true' : 'false').'") {
1079+
let pagamentoData = $("#idpagamento").selectData();
1080+
let bancaControparte = $("#id_banca_controparte").val();
1081+
1082+
if (pagamentoData && pagamentoData.codice_modalita_pagamento_fe === "MP12" && !bancaControparte) {
1083+
$("#riba-warning").show();
1084+
} else {
1085+
$("#riba-warning").hide();
1086+
}
1087+
}
1088+
}
1089+
11221090
$("#ricalcola_scadenze").click(function() {
11231091
swal({
11241092
title: "'.tr('Desideri ricalcolare le scadenze?').'",

modules/pagamenti/ajax/select.php

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,6 @@
6666
);
6767
$rs = $data['results'];
6868

69-
// Controllo metodi di pagamento con Ri.Ba. per le fatture di vendita
70-
if (!empty($superselect['dir']) && $superselect['dir'] == 'entrata') {
71-
$id_banca_controparte = $superselect['id_banca_controparte'] ?? '';
72-
$banca_mancante = empty($id_banca_controparte) || $id_banca_controparte == 'null';
73-
74-
foreach ($rs as $k => $r) {
75-
if ($r['codice_modalita_pagamento_fe'] == 'MP12' && $banca_mancante) {
76-
$rs[$k]['text'] = $r['descrizione'].' '.tr('(Nessuna banca di addebito selezionata)');
77-
}
78-
}
79-
}
80-
8169
$results = [
8270
'results' => $rs,
8371
'recordsFiltered' => $data['recordsFiltered'],

0 commit comments

Comments
 (0)