1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-16 19:40:44 +01:00

Salvataggio modifiche a inserimento righe in Interventi (#443)

This commit is contained in:
Thomas Zilio 2020-08-03 12:43:30 +02:00
parent f7bb7f91a0
commit 684d4f8208
10 changed files with 224 additions and 114 deletions

View File

@ -200,8 +200,12 @@ async function modificaRiga(button) {
// Salvataggio via AJAX // Salvataggio via AJAX
let valid = await salvaForm(button, $("#edit-form")); let valid = await salvaForm(button, $("#edit-form"));
// Apertura modal
if (valid) { if (valid) {
// Chiusura tooltip
if ($(button).hasClass("tooltipstered"))
$(button).tooltipster("close");
// Apertura modal
openModal("'.tr('Modifica riga').'", "'.$module->fileurl('row-edit.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&riga_id=" + id + "&riga_type=" + type); openModal("'.tr('Modifica riga').'", "'.$module->fileurl('row-edit.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&riga_id=" + id + "&riga_type=" + type);
} }
} }

View File

@ -262,8 +262,12 @@ async function modificaRiga(button) {
// Salvataggio via AJAX // Salvataggio via AJAX
let valid = await salvaForm(button, $("#edit-form")); let valid = await salvaForm(button, $("#edit-form"));
// Apertura modal
if (valid) { if (valid) {
// Chiusura tooltip
if ($(button).hasClass("tooltipstered"))
$(button).tooltipster("close");
// Apertura modal
openModal("'.tr('Modifica riga').'", "'.$module->fileurl('row-edit.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&riga_id=" + id + "&riga_type=" + type); openModal("'.tr('Modifica riga').'", "'.$module->fileurl('row-edit.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&riga_id=" + id + "&riga_type=" + type);
} }
} }

View File

@ -361,8 +361,12 @@ async function modificaRiga(button) {
// Salvataggio via AJAX // Salvataggio via AJAX
let valid = await salvaForm(button, $("#edit-form")); let valid = await salvaForm(button, $("#edit-form"));
// Apertura modal
if (valid) { if (valid) {
// Chiusura tooltip
if ($(button).hasClass("tooltipstered"))
$(button).tooltipster("close");
// Apertura modal
openModal("'.tr('Modifica riga').'", "'.$module->fileurl('row-edit.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&riga_id=" + id + "&riga_type=" + type); openModal("'.tr('Modifica riga').'", "'.$module->fileurl('row-edit.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&riga_id=" + id + "&riga_type=" + type);
} }
} }

View File

@ -59,7 +59,7 @@ switch (post('op')) {
$mail->save(); $mail->save();
} }
aggiorna_sedi_movimenti('interventi', $id_record); aggiorna_sedi_movimenti('interventi', $id_record);
flash()->info(tr('Informazioni salvate correttamente!')); flash()->info(tr('Attività modificata correttamente!'));
break; break;
@ -187,9 +187,9 @@ switch (post('op')) {
break; break;
case 'delete_riga': case 'delete_riga':
$id_riga = post('idriga'); $id_riga = post('riga_id');
$type = post('type'); $type = post('riga_type');
$riga = $intervento->getRiga($type, $id_riga); $riga = $intervento->getRiga($type, $id_riga);
if (!empty($riga)) { if (!empty($riga)) {
try { try {

View File

@ -73,7 +73,7 @@ if (!empty($sessioni)) {
// Tipologia // Tipologia
echo ' echo '
<tr> <tr data-id="'.$sessione['id'].'">
<td> <td>
'.$sessione['descrizione_tipo'].' '.$sessione['descrizione_tipo'].'
</td>'; </td>';
@ -178,7 +178,9 @@ if (!empty($sessioni)) {
if (!$is_completato) { if (!$is_completato) {
echo ' echo '
<td class="text-center"> <td class="text-center">
<button type="button" class="btn btn-sm btn-warning" onclick="launch_modal(\''.tr('Modifica sessione').'\', \''.$module->fileurl('manage_sessione.php').'?id_module='.$id_module.'&id_record='.$id_record.'&id_sessione='.$sessione['id'].'\');" title="'.tr('Modifica sessione').'"><i class="fa fa-edit"></i></button> <button type="button" class="btn btn-sm btn-warning tip" title="'.tr('Modifica sessione').'" onclick="modificaSessione(this)">
<i class="fa fa-edit"></i>
</button>
<button type="button" class="btn btn-sm btn-danger" id="delbtn_'.$sessione['id'].'" onclick="elimina_sessione(\''.$sessione['id'].'\');" title="Elimina riga" class="only_rw"><i class="fa fa-trash"></i></button> <button type="button" class="btn btn-sm btn-danger" id="delbtn_'.$sessione['id'].'" onclick="elimina_sessione(\''.$sessione['id'].'\');" title="Elimina riga" class="only_rw"><i class="fa fa-trash"></i></button>
</td>'; </td>';
@ -220,6 +222,23 @@ echo '
<script>$(document).ready(init)</script> <script>$(document).ready(init)</script>
<script type="text/javascript"> <script type="text/javascript">
async function modificaSessione(button) {
var riga = $(button).closest("tr");
var id = riga.data("id");
// Salvataggio via AJAX
let valid = await salvaForm(button, $("#edit-form"));
if (valid) {
// Chiusura tooltip
if ($(button).hasClass("tooltipstered"))
$(button).tooltipster("close");
// Apertura modal
openModal("'.tr('Modifica riga').'", "'.$module->fileurl('manage_sessione.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&id_sessione=" + id);
}
}
$(document).ready(function() {'; $(document).ready(function() {';
if (empty($sessioni)) { if (empty($sessioni)) {

View File

@ -236,30 +236,30 @@ $_SESSION['superselect']['permetti_movimento_a_zero'] = false;
if (!$block_edit) { if (!$block_edit) {
echo ' echo '
<a class="btn btn-sm btn-primary" data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_articolo" data-toggle="tooltip" data-title="'.tr('Aggiungi articolo').'"> <button class="btn btn-sm btn-primary tip" title="'.tr('Aggiungi articolo').'" onclick="gestioneArticolo(this)">
<i class="fa fa-plus"></i> '.tr('Articolo').' <i class="fa fa-plus"></i> '.tr('Articolo').'
</a>'; </button>';
echo ' echo '
<a class="btn btn-sm btn-primary"data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_barcode" data-toggle="tooltip" data-title="'.tr('Aggiungi articoli tramite barcode').'"> <button class="btn btn-sm btn-primary tip" title="'.tr('Aggiungi articoli tramite barcode').'" onclick="gestioneBarcode(this)">
<i class="fa fa-plus"></i> '.tr('Barcode').' <i class="fa fa-plus"></i> '.tr('Barcode').'
</a>'; </button>';
echo ' echo '
<a class="btn btn-sm btn-primary" data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_riga" data-toggle="tooltip" data-title="'.tr('Aggiungi riga').'"> <button class="btn btn-sm btn-primary tip" title="'.tr('Aggiungi riga').'" onclick="gestioneRiga(this)">
<i class="fa fa-plus"></i> '.tr('Riga').' <i class="fa fa-plus"></i> '.tr('Riga').'
</a>'; </button>';
/* /*
echo '
<a class="btn btn-sm btn-primary" data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_descrizione" data-toggle="tooltip" data-title="'.tr('Aggiungi descrizione').'">
<i class="fa fa-plus"></i> '.tr('Descrizione').'
</a>';
*/
echo ' echo '
<a class="btn btn-sm btn-primary" data-href="'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&is_sconto" data-toggle="tooltip" data-title="'.tr('Aggiungi sconto/maggiorazione').'"> <button class="btn btn-sm btn-primary tip" title="'.tr('Aggiungi descrizione').'" onclick="gestioneDescrizione(this)">
<i class="fa fa-plus"></i> '.tr('Descrizione').'
</button>';*/
echo '
<button class="btn btn-sm btn-primary tip" title="'.tr('Aggiungi sconto/maggiorazione').'" onclick="gestioneSconto(this)">
<i class="fa fa-plus"></i> '.tr('Sconto/maggiorazione').' <i class="fa fa-plus"></i> '.tr('Sconto/maggiorazione').'
</a>'; </button>';
} }
// Conteggio numero articoli intervento per eventuale blocco della sede di partenza // Conteggio numero articoli intervento per eventuale blocco della sede di partenza
@ -325,69 +325,101 @@ include $structure->filepath('row-list.php');
'_PERSON_' => '<b>'.$record['firma_nome'].'</b>', '_PERSON_' => '<b>'.$record['firma_nome'].'</b>',
]).'</div>'; ]).'</div>';
} }
?>
echo '
</div> </div>
</div> </div>
<script>
$('#idanagrafica').change(function () {
updateSelectOption("idanagrafica", $(this).val());
session_set('superselect,idanagrafica', $(this).val(), 0);
$("#idsede_destinazione").selectReset();
$("#idpreventivo").selectReset();
$("#idcontratto").selectReset();
if (($(this).val())) {
if (($(this).selectData().idzona)) {
$('#idzona').val($(this).selectData().idzona).change();
} else {
$('#idzona').val('').change();
}
}
});
$('#idpreventivo').change(function () {
if ($('#idcontratto').val() && $(this).val()) {
$('#idcontratto').val('').trigger('change');
}
});
$('#idcontratto').change(function () {
if ($('#idpreventivo').val() && $(this).val()) {
$('#idpreventivo').val('').trigger('change');
$('input[name=idcontratto_riga]').val('');
}
});
$('#matricola').change(function () {
session_set('superselect,marticola', $(this).val(), 0);
});
$('#idsede').change(function () {
if (($(this).val())) {
if (($(this).selectData().idzona)) {
$('#idzona').val($(this).selectData().idzona).change();
} else {
$('#idzona').val('').change();
}
//session_set('superselect,idzona', $(this).selectData().idzona, 0);
}
});
$('#codice_cig, #codice_cup').bind("keyup change", function (e) {
if ($('#codice_cig').val() == '' && $('#codice_cup').val() == '') {
$('#id_documento_fe').prop('required', false);
} else {
$('#id_documento_fe').prop('required', true);
}
});
</script>
{( "name": "log_email", "id_module": "$id_module$", "id_record": "$id_record$" )} {( "name": "log_email", "id_module": "$id_module$", "id_record": "$id_record$" )}
<?php <script>
function gestioneArticolo(button) {
gestioneRiga(button, "is_articolo");
}
function gestioneBarcode(button) {
gestioneRiga(button, "is_barcode");
}
function gestioneSconto(button) {
gestioneRiga(button, "is_sconto");
}
function gestioneDescrizione(button) {
gestioneRiga(button, "is_descrizione");
}
async function gestioneRiga(button, options) {
// Salvataggio via AJAX
let valid = await salvaForm(button, $("#edit-form"));
// Apertura modal
if (valid) {
// Lettura titolo e chiusura tooltip
let title = $(button).tooltipster("content");
$(button).tooltipster("close");
// Apertura modal
options = options ? options : "is_riga";
openModal(title, "'.$structure->fileurl('row-add.php').'?id_module='.$id_module.'&id_record='.$id_record.'&" + options);
}
}
$("#idanagrafica").change(function () {
updateSelectOption("idanagrafica", $(this).val());
session_set("superselect,idanagrafica", $(this).val(), 0);
$("#idsede_destinazione").selectReset();
$("#idpreventivo").selectReset();
$("#idcontratto").selectReset();
if (($(this).val())) {
if (($(this).selectData().idzona)) {
$("#idzona").val($(this).selectData().idzona).change();
} else {
$("#idzona").val("").change();
}
}
});
$("#idpreventivo").change(function () {
if ($("#idcontratto").val() && $(this).val()) {
$("#idcontratto").val("").trigger("change");
}
});
$("#idcontratto").change(function () {
if ($("#idpreventivo").val() && $(this).val()) {
$("#idpreventivo").val("").trigger("change");
$("input[name=idcontratto_riga]").val("");
}
});
$("#matricola").change(function () {
session_set("superselect,marticola", $(this).val(), 0);
});
$("#idsede").change(function () {
if (($(this).val())) {
if (($(this).selectData().idzona)) {
$("#idzona").val($(this).selectData().idzona).change();
} else {
$("#idzona").val("").change();
}
//session_set("superselect,idzona", $(this).selectData().idzona, 0);
}
});
$("#codice_cig, #codice_cup").bind("keyup change", function (e) {
if ($("#codice_cig").val() == "" && $("#codice_cup").val() == "") {
$("#id_documento_fe").prop("required", false);
} else {
$("#id_documento_fe").prop("required", true);
}
});
</script>';
// Collegamenti diretti // Collegamenti diretti
// Fatture collegate a questo intervento // Fatture collegate a questo intervento
$elementi = $dbo->fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_statidocumento`.`descrizione` AS stato_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` JOIN `co_statidocumento` ON `co_statidocumento`.`id` = `co_documenti`.`idstatodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idintervento` = '.prepare($id_record).') ORDER BY `data`'); $elementi = $dbo->fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_statidocumento`.`descrizione` AS stato_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` JOIN `co_statidocumento` ON `co_statidocumento`.`id` = `co_documenti`.`idstatodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idintervento` = '.prepare($id_record).') ORDER BY `data`');

View File

@ -18,8 +18,8 @@ $options = [
]; ];
// Dati della riga // Dati della riga
$id_riga = get('idriga'); $id_riga = get('riga_id');
$type = get('type'); $type = get('riga_type');
$riga = $documento->getRiga($type, $id_riga); $riga = $documento->getRiga($type, $id_riga);
$result = $riga->toArray(); $result = $riga->toArray();

View File

@ -45,7 +45,7 @@ if (!$righe->isEmpty()) {
$descrizione = (!empty($riga->articolo) ? $riga->codice.' - ' : '').$riga['descrizione']; $descrizione = (!empty($riga->articolo) ? $riga->codice.' - ' : '').$riga['descrizione'];
echo ' echo '
<tr '.$extra.'> <tr data-id="'.$riga->id.'" data-type="'.get_class($riga).'" '.$extra.'>
<td> <td>
'.Modules::link($riga->isArticolo() ? Modules::get('Articoli')['id'] : null, $riga->isArticolo() ? $riga['idarticolo'] : null, $descrizione); '.Modules::link($riga->isArticolo() ? Modules::get('Articoli')['id'] : null, $riga->isArticolo() ? $riga['idarticolo'] : null, $descrizione);
@ -112,23 +112,27 @@ if (!$righe->isEmpty()) {
// Visibile solo se l'intervento non è stato nè fatturato nè completato. // Visibile solo se l'intervento non è stato nè fatturato nè completato.
if (!$record['flag_completato']) { if (!$record['flag_completato']) {
echo ' echo '
<td class="text-center">'; <td class="text-center">
<div class="input-group-btn">';
if ($riga->abilita_serial) { if ($riga->isArticolo() && !empty($riga->abilita_serial)) {
echo ' echo '
<button type="button" class="btn btn-info btn-xs" data-toggle="tooltip" onclick="launch_modal(\''.tr('Modifica articoli').'\', \''.$rootdir.'/modules/fatture/add_serial.php?id_module='.$id_module.'&id_record='.$id_record.'&idarticolo='.$riga->idarticolo.'&idriga='.$riga->id.'\');"> <a class="btn btn-primary btn-xs" title="'.tr('Modifica seriali della riga').'" onclick="modificaSeriali(this)">
<i class="fa fa-barcode"></i> <i class="fa fa-barcode"></i>
</button>'; </a>';
} }
echo ' echo '
<button type="button" class="btn btn-warning btn-xs" data-toggle="tooltip" onclick="launch_modal(\''.tr('Modifica').'\', \''.$structure->fileurl('row-edit.php').'?id_module='.$id_module.'&id_record='.$id_record.'&idriga='.$riga->id.'&type='.urlencode(get_class($riga)).'\');"> <a class="btn btn-xs btn-warning" title="'.tr('Modifica riga').'" onclick="modificaRiga(this)">
<i class="fa fa-edit"></i> <i class="fa fa-edit"></i>
</button> </a>
<button type="button" class="btn btn-danger btn-xs" data-toggle="tooltip" onclick="elimina_riga(\''.addslashes(get_class($riga)).'\', \''.$riga->id.'\');"> <a class="btn btn-xs btn-danger" title="'.tr('Rimuovi riga').'" onclick="rimuoviRiga(this)">
<i class="fa fa-trash"></i> <i class="fa fa-trash"></i>
</button> </a>
</div>';
echo '
</td>'; </td>';
} }
echo ' echo '
@ -144,29 +148,64 @@ if (!$righe->isEmpty()) {
<p>'.tr('Nessuna riga presente').'.</p>'; <p>'.tr('Nessuna riga presente').'.</p>';
} }
?> echo '
<script type="text/javascript"> <script type="text/javascript">
function elimina_riga(type, id){ async function modificaRiga(button) {
if(confirm('<?php echo tr('Eliminare questa riga?'); ?>')) { var riga = $(button).closest("tr");
$.post(globals.rootdir + '/actions.php', { var id = riga.data("id");
op: 'delete_riga', var type = riga.data("type");
// Salvataggio via AJAX
let valid = await salvaForm(button, $("#edit-form"));
if (valid) {
// Chiusura tooltip
if ($(button).hasClass("tooltipstered"))
$(button).tooltipster("close");
// Apertura modal
openModal("'.tr('Modifica sessione').'", "'.$module->fileurl('row-edit.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&riga_id=" + id + "&riga_type=" + type);
}
}
function rimuoviRiga(button) {
swal({
title: "'.tr('Rimuovere questa riga?').'",
html: "'.tr('Sei sicuro di volere rimuovere questa riga dal documento?').' '.tr("L'operazione è irreversibile").'.",
type: "warning",
showCancelButton: true,
confirmButtonText: "'.tr('Sì').'"
}).then(function () {
var riga = $(button).closest("tr");
var id = riga.data("id");
var type = riga.data("type");
$.ajax({
url: globals.rootdir + "/actions.php",
type: "POST",
dataType: "json",
data: {
id_module: globals.id_module, id_module: globals.id_module,
id_record: globals.id_record, id_record: globals.id_record,
type: type, op: "delete_riga",
idriga: id, riga_type: type,
}, function (data, result) { riga_id: id,
if (result == 'success') { },
// Ricarico le righe success: function (response) {
$('#righe').load('<?php echo $module->fileurl('row-list.php'); ?>?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>'); location.reload();
},
error: function() {
location.reload();
}
});
}).catch(swal.noop);
}
// Ricarico la tabella dei costi function modificaSeriali(button) {
$('#costi').load('<?php echo $module->fileurl('ajax_costi.php'); ?>?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>'); var riga = $(button).closest("tr");
var id = riga.data("id");
var type = riga.data("type");
// Toast openModal("'.tr('Aggiorna SN').'", globals.rootdir + "/modules/fatture/add_serial.php?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&riga_id=" + id + "&riga_type=" + type);
alertPush(); }
} </script>';
});
}
}
</script>

View File

@ -243,8 +243,12 @@ async function modificaRiga(button) {
// Salvataggio via AJAX // Salvataggio via AJAX
let valid = await salvaForm(button, $("#edit-form")); let valid = await salvaForm(button, $("#edit-form"));
// Apertura modal
if (valid) { if (valid) {
// Chiusura tooltip
if ($(button).hasClass("tooltipstered"))
$(button).tooltipster("close");
// Apertura modal
openModal("'.tr('Modifica riga').'", "'.$module->fileurl('row-edit.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&riga_id=" + id + "&riga_type=" + type); openModal("'.tr('Modifica riga').'", "'.$module->fileurl('row-edit.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&riga_id=" + id + "&riga_type=" + type);
} }
} }

View File

@ -226,8 +226,12 @@ async function modificaRiga(button) {
// Salvataggio via AJAX // Salvataggio via AJAX
let valid = await salvaForm(button, $("#edit-form")); let valid = await salvaForm(button, $("#edit-form"));
// Apertura modal
if (valid) { if (valid) {
// Chiusura tooltip
if ($(button).hasClass("tooltipstered"))
$(button).tooltipster("close");
// Apertura modal
openModal("'.tr('Modifica riga').'", "'.$module->fileurl('row-edit.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&riga_id=" + id + "&riga_type=" + type); openModal("'.tr('Modifica riga').'", "'.$module->fileurl('row-edit.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&riga_id=" + id + "&riga_type=" + type);
} }
} }