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
let valid = await salvaForm(button, $("#edit-form"));
// Apertura modal
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);
}
}

View File

@ -262,8 +262,12 @@ async function modificaRiga(button) {
// Salvataggio via AJAX
let valid = await salvaForm(button, $("#edit-form"));
// Apertura modal
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);
}
}

View File

@ -361,8 +361,12 @@ async function modificaRiga(button) {
// Salvataggio via AJAX
let valid = await salvaForm(button, $("#edit-form"));
// Apertura modal
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);
}
}

View File

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

View File

@ -73,7 +73,7 @@ if (!empty($sessioni)) {
// Tipologia
echo '
<tr>
<tr data-id="'.$sessione['id'].'">
<td>
'.$sessione['descrizione_tipo'].'
</td>';
@ -178,7 +178,9 @@ if (!empty($sessioni)) {
if (!$is_completato) {
echo '
<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>
</td>';
@ -220,6 +222,23 @@ echo '
<script>$(document).ready(init)</script>
<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() {';
if (empty($sessioni)) {

View File

@ -236,30 +236,30 @@ $_SESSION['superselect']['permetti_movimento_a_zero'] = false;
if (!$block_edit) {
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').'
</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_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').'
</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_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').'
</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').'">
<button class="btn btn-sm btn-primary tip" title="'.tr('Aggiungi descrizione').'" onclick="gestioneDescrizione(this)">
<i class="fa fa-plus"></i> '.tr('Descrizione').'
</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_sconto" data-toggle="tooltip" data-title="'.tr('Aggiungi sconto/maggiorazione').'">
<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').'
</a>';
</button>';
}
// Conteggio numero articoli intervento per eventuale blocco della sede di partenza
@ -325,14 +325,49 @@ include $structure->filepath('row-list.php');
'_PERSON_' => '<b>'.$record['firma_nome'].'</b>',
]).'</div>';
}
?>
echo '
</div>
</div>
{( "name": "log_email", "id_module": "$id_module$", "id_record": "$id_record$" )}
<script>
$('#idanagrafica').change(function () {
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);
session_set("superselect,idanagrafica", $(this).val(), 0);
$("#idsede_destinazione").selectReset();
$("#idpreventivo").selectReset();
@ -340,54 +375,51 @@ include $structure->filepath('row-list.php');
if (($(this).val())) {
if (($(this).selectData().idzona)) {
$('#idzona').val($(this).selectData().idzona).change();
$("#idzona").val($(this).selectData().idzona).change();
} else {
$('#idzona').val('').change();
$("#idzona").val("").change();
}
}
});
});
$('#idpreventivo').change(function () {
if ($('#idcontratto').val() && $(this).val()) {
$('#idcontratto').val('').trigger('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('');
$("#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);
});
$("#matricola").change(function () {
session_set("superselect,marticola", $(this).val(), 0);
});
$('#idsede').change(function () {
$("#idsede").change(function () {
if (($(this).val())) {
if (($(this).selectData().idzona)) {
$('#idzona').val($(this).selectData().idzona).change();
$("#idzona").val($(this).selectData().idzona).change();
} else {
$('#idzona').val('').change();
$("#idzona").val("").change();
}
//session_set('superselect,idzona', $(this).selectData().idzona, 0);
//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);
$("#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);
$("#id_documento_fe").prop("required", true);
}
});
</script>
});
</script>';
{( "name": "log_email", "id_module": "$id_module$", "id_record": "$id_record$" )}
<?php
// Collegamenti diretti
// 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`');

View File

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

View File

@ -45,7 +45,7 @@ if (!$righe->isEmpty()) {
$descrizione = (!empty($riga->articolo) ? $riga->codice.' - ' : '').$riga['descrizione'];
echo '
<tr '.$extra.'>
<tr data-id="'.$riga->id.'" data-type="'.get_class($riga).'" '.$extra.'>
<td>
'.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.
if (!$record['flag_completato']) {
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 '
<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>
</button>';
</a>';
}
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>
</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>
</button>
</a>
</div>';
echo '
</td>';
}
echo '
@ -144,29 +148,64 @@ if (!$righe->isEmpty()) {
<p>'.tr('Nessuna riga presente').'.</p>';
}
?>
echo '
<script type="text/javascript">
function elimina_riga(type, id){
if(confirm('<?php echo tr('Eliminare questa riga?'); ?>')) {
$.post(globals.rootdir + '/actions.php', {
op: 'delete_riga',
async function modificaRiga(button) {
var riga = $(button).closest("tr");
var id = riga.data("id");
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_record: globals.id_record,
type: type,
idriga: id,
}, function (data, result) {
if (result == 'success') {
// Ricarico le righe
$('#righe').load('<?php echo $module->fileurl('row-list.php'); ?>?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>');
// Ricarico la tabella dei costi
$('#costi').load('<?php echo $module->fileurl('ajax_costi.php'); ?>?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>');
// Toast
alertPush();
op: "delete_riga",
riga_type: type,
riga_id: id,
},
success: function (response) {
location.reload();
},
error: function() {
location.reload();
}
});
}
}
</script>
}).catch(swal.noop);
}
function modificaSeriali(button) {
var riga = $(button).closest("tr");
var id = riga.data("id");
var type = riga.data("type");
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);
}
</script>';

View File

@ -243,8 +243,12 @@ async function modificaRiga(button) {
// Salvataggio via AJAX
let valid = await salvaForm(button, $("#edit-form"));
// Apertura modal
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);
}
}

View File

@ -226,8 +226,12 @@ async function modificaRiga(button) {
// Salvataggio via AJAX
let valid = await salvaForm(button, $("#edit-form"));
// Apertura modal
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);
}
}