Skip to content

Commit aa492f6

Browse files
committed
2 parents 262ef4d + 8538c2d commit aa492f6

3 files changed

Lines changed: 84 additions & 8 deletions

File tree

modules/scadenzario/actions.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,5 +182,27 @@
182182

183183
flash()->info(tr('Stampa allegata correttamente!'));
184184

185+
break;
186+
187+
case 'update_inline_scadenza':
188+
$id_scadenza = post('id_scadenza');
189+
$scadenza = Scadenza::find($id_scadenza);
190+
191+
if (!empty($scadenza)) {
192+
// Aggiornamento dei campi modificabili inline
193+
$scadenza->id_banca_azienda = post('id_banca_azienda') ?: null;
194+
$scadenza->id_banca_controparte = post('id_banca_controparte') ?: null;
195+
$scadenza->id_pagamento = post('id_pagamento') ?: null;
196+
$scadenza->data_concordata = post('data_concordata') ?: null;
197+
$scadenza->da_pagare = post('da_pagare') ?: 0;
198+
$scadenza->pagato = post('pagato') ?: 0;
199+
200+
$scadenza->save();
201+
202+
flash()->info(tr('Scadenza aggiornata!'));
203+
} else {
204+
flash()->error(tr('Scadenza non trovata!'));
205+
}
206+
185207
break;
186208
}

modules/scadenzario/edit.php

Lines changed: 61 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -225,38 +225,38 @@
225225
<input type="hidden" name="id_scadenza['.$i.']" value="'.$scadenza['id'].'">
226226
<td>
227227
'.($dir == 'entrata' ?
228-
'{[ "type": "select", "name": "id_banca_azienda['.$i.']", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "'.$scadenza['id_banca_azienda'].'", "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'" ]}'
228+
'{[ "type": "select", "name": "id_banca_azienda['.$i.']", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "'.$scadenza['id_banca_azienda'].'", "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')" ]}'
229229
:
230-
'{[ "type": "select", "name": "id_banca_controparte['.$i.']", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).', "value": "'.$scadenza['id_banca_controparte'].'", "icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'"]}
230+
'{[ "type": "select", "name": "id_banca_controparte['.$i.']", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).', "value": "'.$scadenza['id_banca_controparte'].'", "icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')"]}
231231
').'
232232
</td>
233233
234234
<td>
235235
'.($dir == 'entrata' ?
236-
'{[ "type": "select", "name": "id_banca_controparte['.$i.']", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).', "value": "'.$scadenza['id_banca_controparte'].'", "icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'"]}'
236+
'{[ "type": "select", "name": "id_banca_controparte['.$i.']", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).', "value": "'.$scadenza['id_banca_controparte'].'", "icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')"]}'
237237
:
238-
'{[ "type": "select", "name": "id_banca_azienda['.$i.']", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "'.$scadenza['id_banca_azienda'].'", "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'" ]}'
238+
'{[ "type": "select", "name": "id_banca_azienda['.$i.']", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "'.$scadenza['id_banca_azienda'].'", "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')" ]}'
239239
).'
240240
</td>
241241
242242
<td>
243-
{[ "type": "select", "name": "id_pagamento['.$i.']", "values": "query=SELECT `co_pagamenti`.`id`, `fe_modalita_pagamento_lang`.`title` as descrizione FROM `fe_modalita_pagamento` LEFT JOIN `fe_modalita_pagamento_lang` ON (`fe_modalita_pagamento_lang`.`id_record` = `fe_modalita_pagamento`.`codice` AND `fe_modalita_pagamento_lang`.`id_lang` = '.Models\Locale::getDefault()->id.') INNER JOIN `co_pagamenti` ON `fe_modalita_pagamento`.`codice` = `co_pagamenti`.`codice_modalita_pagamento_fe` GROUP BY title", "value": "'.$pagamento.'" ]}
243+
{[ "type": "select", "name": "id_pagamento['.$i.']", "values": "query=SELECT `co_pagamenti`.`id`, `fe_modalita_pagamento_lang`.`title` as descrizione FROM `fe_modalita_pagamento` LEFT JOIN `fe_modalita_pagamento_lang` ON (`fe_modalita_pagamento_lang`.`id_record` = `fe_modalita_pagamento`.`codice` AND `fe_modalita_pagamento_lang`.`id_lang` = '.Models\Locale::getDefault()->id.') INNER JOIN `co_pagamenti` ON `fe_modalita_pagamento`.`codice` = `co_pagamenti`.`codice_modalita_pagamento_fe` GROUP BY title", "value": "'.$pagamento.'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')" ]}
244244
</td>
245245
246246
<td>
247247
{[ "type": "date", "name": "scadenza['.$i.']", "value": "'.$scadenza['scadenza'].'", "readonly": 1 ]}
248248
</td>
249249
250250
<td>
251-
{[ "type": "date", "name": "data_concordata['.$i.']", "value": "'.$scadenza['data_concordata'].'" ]}
251+
{[ "type": "date", "name": "data_concordata['.$i.']", "value": "'.$scadenza['data_concordata'].'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')" ]}
252252
</td>
253253
254254
<td class="text-right">
255-
{[ "type": "number", "name": "da_pagare['.$i.']", "decimals": 2, "value": "'.numberFormat($scadenza['da_pagare'], 2).'", "onchange": "controlloTotale()" ]}
255+
{[ "type": "number", "name": "da_pagare['.$i.']", "decimals": 2, "value": "'.numberFormat($scadenza['da_pagare'], 2).'", "onchange": "controlloTotale(); aggiornaScadenzaInline('.$scadenza['id'].')" ]}
256256
</td>
257257
258258
<td class="text-right">
259-
{[ "type": "number", "name": "pagato['.$i.']", "decimals": 2, "value": "'.numberFormat($scadenza['pagato']).'" ]}
259+
{[ "type": "number", "name": "pagato['.$i.']", "decimals": 2, "value": "'.numberFormat($scadenza['pagato']).'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')" ]}
260260
</td>
261261
262262
<td>
@@ -441,5 +441,58 @@ function controlloTotale() {
441441
$("#diff").html(diff.toLocale());
442442
$("#totale_utente").html(totale_utente.toLocale());
443443
}
444+
445+
function aggiornaScadenzaInline(id_scadenza) {
446+
content_was_modified = false;
447+
448+
// Trova la riga della scadenza e l indice
449+
var $row = $("input[name*=\"id_scadenza\"][value=\"" + id_scadenza + "\"]").closest("tr");
450+
var index = null;
451+
452+
// Trova l indice corretto dal nome del campo
453+
$row.find("input[name*=\"id_scadenza\"]").each(function() {
454+
var name = $(this).attr("name");
455+
var match = name.match(/\[(\d+)\]/);
456+
if (match) {
457+
index = match[1];
458+
}
459+
});
460+
461+
if (index === null) {
462+
console.error("Impossibile trovare l indice della scadenza");
463+
return;
464+
}
465+
466+
// Recupera i valori dai campi
467+
var id_banca_azienda = input("id_banca_azienda[" + index + "]").get();
468+
var id_banca_controparte = input("id_banca_controparte[" + index + "]").get();
469+
var id_pagamento = input("id_pagamento[" + index + "]").get();
470+
var data_concordata = input("data_concordata[" + index + "]").get();
471+
var da_pagare = input("da_pagare[" + index + "]").get();
472+
var pagato = input("pagato[" + index + "]").get();
473+
474+
$.ajax({
475+
url: globals.rootdir + "/actions.php",
476+
type: "POST",
477+
data: {
478+
id_module: globals.id_module,
479+
id_record: globals.id_record,
480+
op: "update_inline_scadenza",
481+
id_scadenza: id_scadenza,
482+
id_banca_azienda: id_banca_azienda,
483+
id_banca_controparte: id_banca_controparte,
484+
id_pagamento: id_pagamento,
485+
data_concordata: data_concordata,
486+
da_pagare: da_pagare,
487+
pagato: pagato
488+
},
489+
success: function (response) {
490+
renderMessages();
491+
},
492+
error: function() {
493+
console.error("Errore durante il salvataggio della scadenza");
494+
}
495+
});
496+
}
444497
</script>';
445498
}

modules/scadenzario/src/Scadenza.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ class Scadenza extends Model
3535
protected $casts = [
3636
'scadenza' => 'date',
3737
'data_pagamento' => 'date',
38+
'data_concordata' => 'date',
3839
];
3940

4041
public static function build($idanagrafica = null, $descrizione = null, $importo = null, $data_scadenza = null, $id_pagamento = null, $id_banca_azienda = null, $id_banca_controparte = null, $type = 'fattura', $is_pagato = false, $iddocumento = null)

0 commit comments

Comments
 (0)