Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 

951 righe
61 KiB

<!doctype html>
<?php
include '../../lib/api.php';
if (!Utils::isStatoSportelloPreparazione()) {
Utils::RedirectTo(HTTP_PRIVATE_SECTION . 'info.php');
}
$nucleo = $LoggedAccount->loadNucleoFamiliare();
$id_sconto = (isset($_POST['ID']) && intval($_POST['ID']) > 0 ? intval($_POST['ID']) : 0);
$sconto = new DomandaSconti($id_sconto);
$istanza = Domanda::loadDomandaFromAccount();
$controlliDomanda = $istanza->checkDatiPreSave();
$sezioni = 2;
$btn_view = 0;
if ($sconto->ID > 0 && $sconto->ID_DOMANDA != $istanza->ID) {
Utils::RedirectTo(HTTP_PRIVATE_SECTION . 'sconto.php');
}
if (intval($istanza->ID) <= 0) {
Utils::RedirectTo(HTTP_PRIVATE_SECTION . 'dashboard.php');
} elseif ($controlliDomanda['checkDati']) {
$btn_view++;
$controlloAllegati = Allegati::checkDocumentiObbligatoriCompletati();
if ($controlloAllegati) {
$btn_view++;
}
} else {
Utils::RedirectTo(HTTP_PRIVATE_SECTION . 'dashboard.php');
}
if ($sezioni != $btn_view) {
Utils::RedirectTo(HTTP_PRIVATE_SECTION . 'dashboard.php');
}
$state = array();
//Utils::print_array($sconto).exit();
if ($sconto->STATO > RS_IN_ELABORAZIONE) {
$state['disabled'] = "disabled";
}
$toDay = new DateTime();
$oggi = $toDay->format('Y-m-d');
$data_inizio_bando = new DateTime(MIN_DATA_CONTRIBUTO_JS);
$oggiMeno30 = $toDay->modify('-' . MIN_DATA_VOLO . ' days');
if ($oggiMeno30 < $data_inizio_bando) {
$meno30 = $data_inizio_bando->format('Y-m-d');
} else {
$meno30 = $oggiMeno30->format('Y-m-d');
}
$isPresenteIntegrazione = false;
if (ATTIVA_SOCCORSO_ISTRUTTORIO) {
$integrazione = RichiestaIntegrazione::loadFromDomanda($id_sconto);
$isPresenteIntegrazione = is_array($integrazione) && count($integrazione) > 0 ? true : false;
$datiIntegrazione = $integrazione[0];
}
?>
<html lang="en">
<? include_once ROOT . 'layout/head.php'; ?>
<body>
<?
include_once ROOT . 'layout/header.php';
?>
<main role="main">
<header class="masthead masthead-page">
<div class="container ">
<div class="row ">
<div class="col-lg-12 p-3">
<div class="row">
<div class="col-lg-2">
<img src="<?= BASE_HTTP ?>assets/img/footer_web_loghi_white.png" alt="" class="logo-footer"/>
</div>
<div class="col-lg-10">
<h6><?= TEXT_ASSESSORATO_BANDO ?></h6>
<h6><?= TEXT_DESCRIZIONE_BANDO ?></h6>
</div>
</div>
<?
$txtBenvenuto = ($LoggedAccount->Anagrafica->SESSO == "M" ? "Benvenuto Sig." : "Benvenuta Sig.ra");
$contenuto = $txtBenvenuto . ' <b>' . $LoggedAccount->Anagrafica->COGNOME . ' ' . $LoggedAccount->Anagrafica->NOME . '</b>';
?>
<h3 class="mb-2"><?= $contenuto ?></h3>
</div>
</div>
</div>
<?
include_once ROOT . 'layout/header_svg.php';
?>
</header>
<div class="container">
<? include_once ROOT . 'layout/loader.php'; ?>
<div class="row">
<div class="col-sm-12">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="javascript:goToPage('dashboard')">Pagina iniziale</a></li>
<li class="breadcrumb-item"><a href="javascript:goBack()">Sezione Richieste Sconti sui Voli</a></li>
<li class="breadcrumb-item active" aria-current="page">Richiesta Sconto</li>
</ol>
</nav>
</div>
</div>
<? if ($isPresenteIntegrazione && ATTIVA_SOCCORSO_ISTRUTTORIO) { ?>
<div class="row">
<div class="col-sm-12">
<div class="card">
<div class="card-header bg-danger text-white">
<div class="row">
<div class="col-lg-12">
<i class="fas fa-question"></i>&nbsp;Richiesta di Integrazione
</div>
</div>
</div>
<div class="card-body">
<table class="table table-bordered">
<tr>
<td width='40%'>
<strong>
Data Richiesta Integrazione
</strong>
</td>
<td><?= Date::dateOracleTimeStamp($datiIntegrazione['DATA_RICHIESTA'], 'd-m-Y') ?></td>
</tr>
<tr>
<td>
<strong>
Descrizione Richiesta
</strong>
</td>
<td><?= $datiIntegrazione['DESCRIZIONE_RICHIESTA'] ?></td>
</tr>
<? if ($datiIntegrazione['FILEPATH_PDF_PROTOCOLLATO'] != "") { ?>
<tr>
<td>
<strong>
Documento Ufficiale
</strong>
</td>
<td>
<button class='btn btn-sm btn-primary' onclick="openStreamer('<?= $datiIntegrazione['ID'] ?>', 'richiesta_iniziale', 'richiesta_integrazione');">
<i class="fas fa-download"></i>
Scarica
</button>
</td>
</tr>
<? } ?>
<tr>
<td>
<strong>
Protocollo
</strong>
</td>
<td><?= $datiIntegrazione['NUMERO_PROTOCOLLO'] . " del " . Date::dateOracleTimeStamp($datiIntegrazione['DATA_PROTOCOLLO'], 'd-m-Y H:i:s') ?></td>
</tr>
<tr>
<td>
<strong>
Termine ultimo per la presentazione dell'integrazione richiesta
</strong>
</td>
<td><?= Date::dateOracleDate($datiIntegrazione['SCADENZA'], 'd-m-Y') ?></td>
</tr>
<tr>
<td>
<strong>
Stato procedura di integrazione
</strong>
</td>
<td><?= str_replace("_", " ", $datiIntegrazione['STATO']) ?></td>
</tr>
<tr>
<td>
<strong>
Note
</strong>
</td>
<td><?= $datiIntegrazione['NOTE_OPERATORE'] ?></td>
</tr>
<? if ($datiIntegrazione['STATO'] != RI_INTEGRAZIONE_IN_ATTESA) { ?>
<tr>
<td>
<strong>
Data Risposta
</strong>
</td>
<td><?= Date::dateOracleDate($datiIntegrazione['DATA_CARICAMENTO'], 'd-m-Y') ?></td>
</tr>
<tr>
<td>
<strong>
Integrazione
</strong>
</td>
<td>
<?= $datiIntegrazione['NOTE_UTENTE'] ?><br>
<button class='btn btn-sm btn-primary' onclick="openStreamer('<?= $datiIntegrazione['ID'] ?>', 'integrazione', 'richiesta_integrazione');">
<i class="fas fa-download"></i>
Scarica Documento Inviato
</button>
</td>
</tr>
<? } ?>
</table>
<? if ($datiIntegrazione['STATO'] == RI_INTEGRAZIONE_IN_ATTESA) { ?>
<div class='card'>
<form id="form-add-integrazione" class="needs-validation" action="javascript:saveIntegrazione()" novalidate>
<div class='card-body'>
<input type="hidden" name="csrf_contratti" value="<?= $_SESSION['Token']['csrf_contratti'] ?>" readonly>
<input type="hidden" name="ID_INTEGRAZIONE" value="<?= $datiIntegrazione['ID'] ?>" readonly>
<input type="hidden" name="ID_DOMANDA_SCONTI" value="<?= $datiIntegrazione['ID_DOMANDA_SCONTI'] ?>" readonly>
<div class="form-group">
<div class="row">
<div class='col-sm-12'>
<label for="note_utente"> Note:<span class="text-danger">*&nbsp;</span></label>
<textarea class="form-control" id="note_utente" name='NOTE_UTENTE'></textarea>
<div class="invalid-tooltip">
Il campo è obbligatorio!
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-12">
<div class="card text-danger bg-light mb-3">
<div class="card-header">
<b>Documento di integrazione <span class="text-danger">*&nbsp;</span> [formato pdf, dimensione max 30mb]</b>
</div>
<div class="card-body">
<div class="row p-1">
<div class="col-12">
<div class="input-group custom-file-button">
<label class="input-group-text" for="FILEPATH_RISPOSTA">Scegli il file</label>
<input type="file" class="form-control" name="FILEPATH_RISPOSTA" id="FILEPATH_RISPOSTA" required>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<div class="row">
<div class="col-sm-12">
<span class="text-danger h5"><b>*&nbsp;I campi contrassegnati con l'asterisco sono obbligatori</b></span>
</div>
</div>
<div class="row ">
<div class="offset-sm-2 col-sm-10 text-right ">
<? if ($datiIntegrazione['STATO'] == RI_INTEGRAZIONE_IN_ATTESA) { ?>
<button type="submit" class="btn btn-md btn-success"><i class="fas fa-save"></i>&nbsp;Salva</button>
<? } ?>
&nbsp;&nbsp;&nbsp;
<button type="button" id="btn-dashboard" class="btn btn-md btn-primary" onclick="goBack()"><i class="fas fa-ship"></i>&nbsp;Torna alla sezione richieste rimborsi</button>
</div>
</div>
</div>
</form>
</div>
<? } ?>
</div>
</div>
</div>
</div>
<? } ?>
<div class="row">
<div class="col-sm-12">
<div class="card">
<div class="card-header bg-primary text-white">
<div class="row">
<div class="col-lg-12">
<i class="fas fa-plus"></i>&nbsp;Richiesta Sconto
</div>
</div>
</div>
<form id="form-add-sconto" class="needs-validation" action="javascript:saveSconto()" novalidate>
<div class="card-body">
<input type="hidden" readonly name="ID" id="ID_SCONTO" value="<?= $sconto->ID ?>">
<div class="form-group">
<div class="row">
<div class='col-sm-3'>
<label for="codice_fiscale">Passeggero:<span class="text-danger">*&nbsp;</span></label>
<select <?= $state['disabled'] ?> class="form-control" required id="codice_fiscale" name="CODICE_FISCALE">
<option value="">...Seleziona...</option>
<? foreach ($nucleo as $passeggero) { ?>
<option value="<?= $passeggero['CODICE_FISCALE'] ?>" <?= $sconto->CODICE_FISCALE == $passeggero['CODICE_FISCALE'] ? "selected" : "" ?>><?= $passeggero['COGNOME'] . " " . $passeggero['NOME'] ?></option>
<? } ?>
</select>
<div class="invalid-tooltip">
Il campo è obbligatorio!
</div>
<small class="text-info">Scegliere il passeggero dal nucleo familiare</small>
</div>
<div class='col-sm-3'>
<label for="numero_volo" >Numero di Volo (es. ITY1786):<span class="text-danger">*&nbsp;</span></label>
<input <?= $state['disabled'] ?> type="text" autocomplete="new-password" required class="form-control" id="numero_volo" name="NUMERO_VOLO" value="<?= $sconto->NUMERO_VOLO ?>">
<div class="invalid-tooltip">
Il campo è obbligatorio!
</div>
<small class="text-info">Inserire il numero del volo presente sulla carta d'imbarco</small>
</div>
<div class='col-sm-3'>
<!---->
<label for="DATA_ACQUISTO">Data Acquisto Biglietto:<span class="text-danger">*&nbsp;</span></label>
<input <?= $state['disabled'] ?> type="date" required autocomplete="off" class="form-control" id="DATA_ACQUISTO" name="DATA_ACQUISTO" min='<?= MIN_DATA_ACQUISTO_BIGLIETTO_JS; ?>' max='<?= $oggi ?>' value="<?= (trim($sconto->DATA_ACQUISTO) != "" ? Date::dateOracleDateNascita($sconto->DATA_ACQUISTO, 'Y-m-d') : '') ?>">
<div class="invalid-tooltip">
Il campo è obbligatorio!
</div>
<small class="text-info">Inserire la data di acquisto del biglietto</small>
</div>
<div class='col-sm-3'>
<label for="DATA_VOLO">Data Volo:<span class="text-danger">*&nbsp;</span></label>
<input <?= $state['disabled'] ?> type="date" required autocomplete="off" class="form-control" id="DATA_VOLO" name="DATA_VOLO" min='<?= $meno30; ?>' max='<?= $oggi ?>' value="<?= (trim($sconto->DATA_VOLO) != "" ? Date::dateOracleDateNascita($sconto->DATA_VOLO, 'Y-m-d') : '') ?>">
<div class="invalid-tooltip">
Il campo è obbligatorio!
</div>
<small class="text-info">Inserire la data presente sulla carta d'imbarco</small>
</div>
</div>
</div>
<div class="row mt-3 mb-3">
<div class="col-sm-12">
<h5 class='text-danger text-center'>
<u>
<strong>
<?= ASSUNZIONE_RESP_SCONTO ?>
</strong>
</u>
</h5>
</div>
</div>
<?php /* ?>
<div class="form-group">
<div class="row">
<div class='col-sm-12'>
<label for="CITTADINANZA">Stato di Cittadinanza del passeggero:<span class="text-danger">*&nbsp;</span></label>
<select <?= $state['readonly'] ?> style="width: 100%" required class="form-control cfinput" id="CITTADINANZA" name="CITTADINANZA"></select>
<div class="invalid-tooltip">
Il campo è obbligatorio!
</div>
</div>
</div>
</div>
<?php */ ?>
<div class="form-group">
<div class="row">
<div class='col-sm-6'>
<label for="AEROPORTO_PARTENZA">Aeroporto di partenza:<span class="text-danger">*&nbsp;</span></label>
<select <?= $state['readonly'] ?> style="width: 100%" required="" class="form-control cfinput" id="AEROPORTO_PARTENZA" name="AEROPORTO_PARTENZA"></select>
<input type="hidden" id="AEROPORTO_PARTENZA_CODICE" name="AEROPORTO_PARTENZA_CODICE" value="<?= $sconto->AEROPORTO_PARTENZA_CODICE ?>">
<div class="invalid-tooltip">
Il campo è obbligatorio!
</div>
</div>
<div class='col-sm-6'>
<label for="AEROPORTO_DESTINAZIONE">Aeroporto di destinazione:<span class="text-danger">*&nbsp;</span></label>
<select <?= $state['readonly'] ?> style="width: 100%" required="" class="form-control cfinput" id="AEROPORTO_DESTINAZIONE" name="AEROPORTO_DESTINAZIONE"></select>
<input type="hidden" id="AEROPORTO_DESTINAZIONE_CODICE" name="AEROPORTO_DESTINAZIONE_CODICE" value="<?= $sconto->AEROPORTO_DESTINAZIONE_CODICE ?>">
<div class="invalid-tooltip">
Il campo è obbligatorio!
</div>
</div>
</div>
</div>
<div class="form-group">
<div class='row'>
<div class='col-sm-6'>
<label for="COMPAGNIA_AEREA">Compagnia Aerea:<span class="text-danger">*&nbsp;</span></label>
<select <?= $state['readonly'] ?> style="width: 100%" required="" class="form-control" id="COMPAGNIA_AEREA" name="COMPAGNIA_AEREA"></select>
<input type="hidden" id="COMPAGNIA_ID" name="COMPAGNIA_ID" value="<?= $sconto->COMPAGNIA_ID ?>">
<div class="invalid-tooltip">
Il campo è obbligatorio!
</div>
</div>
<div class='col-sm-6'>
<label for="costo_tratta">Costo del volo per singola tratta <span class="text-danger">*</span></label>
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text"><i class="fas fa-euro-sign"></i></div>
</div>
<input <?= $state['disabled'] ?> placeholder="Importo Minimo € 1" class="form-control " required autocomplete="new-password" name="COSTO_TRATTA" id="costo_tratta" value="<?= floatval($sconto->COSTO_TRATTA) > 0 ? number_format($sconto->COSTO_TRATTA, 2, ',', '') : "" ?>" step="0.01" min="0">
</div>
<small class="text-danger">(Inserire il separatore solo per le DUE cifre decimali Es.: 56,74) <br/>Costo totale della singola tratta, comprensivo di tutte le tasse, spese e accessori fatturate dal vettore.</small>
</div>
</div>
</div>
<!--id="rigaForzaResidenza"-->
<?
$dataAcquisto = new DateTime($sconto->DATA_ACQUISTO);
$dataAutodichiearazione = new DateTime(DATA_INIZIO_AUTODICHIARAZIONE_SCONTO);
if ($dataAcquisto >= $dataAutodichiearazione) {
?>
<div class="form-group mb-3" id="rigaForzaResidenza">
<div class="row row-group card border-secondary mb-3 p-2">
<div class="col-lg-12">
<div class="custom-control custom-radio">
<input type="radio" <?= $state['disabled'] ?> required="" id="FORZA_RESIDENZA_1" name="FORZA_RESIDENZA" value="1" class="custom-control-input" <?= ($sconto->FORZA_RESIDENZA == 1 ? 'checked' : '') ?>>
<label class="custom-control-label" for="FORZA_RESIDENZA_1">
<?=
LABEL_FORZA_RESIDENZA . " "
. "<span class='text-danger'><b><u>NON E' STATO APPLICATO</u></b></span> " . LABEL_FORZA_RESIDENZA_PARTE_2 . ""
. " e pertanto <span class='text-danger'><b><u>chiedo l'applicazione dello stesso tramite questa piattaforma.</u></b></span>"
?>
</label>
</div><br>
<div class="custom-control custom-radio">
<input type="radio" <?= $state['disabled'] ?> required="" id="FORZA_RESIDENZA_0" name="FORZA_RESIDENZA" value="0" class="custom-control-input" <?= ($sconto->FORZA_RESIDENZA == 0 ? 'checked' : '') ?>>
<label class="custom-control-label" for="FORZA_RESIDENZA_0">
<?= LABEL_FORZA_RESIDENZA . " è stato applicato " . LABEL_FORZA_RESIDENZA_PARTE_2 . "." ?>
</label>
</div>
</div>
</div>
<!-- <div class='card'>
<div class='card-body'>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="forza_residenza" name="FORZA_RESIDENZA" <?= ($sconto->FORZA_RESIDENZA == 1 ? "checked" : ""); ?>>
<label class="form-check-label text-danger h5" for="forza_residenza">
<strong><?= LABEL_FORZA_RESIDENZA ?></strong>
</label>
</div>
</div>
</div>-->
</div>
<? }
?>
<? if ($sconto->STATO == RS_IN_ELABORAZIONE) { ?>
<div class="form-group">
<div class="row">
<div class='col-sm-6'>
<?
if ($sconto->FILEPATH_BIGLIETTO == "") {
?>
<div class="row">
<div class="col-12">
<div class="card text-danger bg-light mb-3">
<div class="card-header">Biglietto Elettronico <span class="text-danger">*&nbsp;</span> [formato pdf, dimensione max 30mb]</div>
<div class="card-body">
<div class="row p-1">
<div class="col-12">
<div class="progress mb-2">
<div id="progress_FILEPATH_BIGLIETTO" class="progress-bar bg-warning" role="progressbar" style="width: 0%" aria-valuenow="0" aria-valuemin="0" aria-valuemax="0">
<smal id="msg_FILEPATH_BIGLIETTO"></smal>
</div>
</div>
<div class="input-group custom-file-button">
<label class="input-group-text" for="FILEPATH_BIGLIETTO">Scegli il file</label>
<input type="file" accept="application/pdf" class="form-control" name="FILEPATH_BIGLIETTO" id="FILEPATH_BIGLIETTO" required>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<? } else { ?>
<div class="row">
<div class="col-12">
<div class="card text-white bg-primary mb-3">
<div class="card-header">Biglietto Elettronico [formato pdf, dimensione max 30mb]</div>
<div class="card-body">
<div class="row p-1">
<div class="col-10">
<div class="progress">
<div class="progress-bar bg-success" role="progressbar" style="width: 100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100">Caricato</div>
</div>
</div>
<div class="col-2">
<button type="button" class="btn btn-sm btn-success" onclick="openStreamer('<?= $sconto->ID ?>', 'biglietto', 'download_sconti');" alt="Download allegato" title="Download"><i class="fas fa-download"></i></button>
</div>
</div>
<div class="row p-1">
<div class="col-12">
<div class="progress mb-2">
<div id="progress_FILEPATH_BIGLIETTO" class="progress-bar bg-warning" role="progressbar" style="width: 0%" aria-valuenow="0" aria-valuemin="0" aria-valuemax="0">
<smal id="msg_FILEPATH_BIGLIETTO"></smal>
</div>
</div>
<div class="input-group custom-file-button">
<label class="input-group-text" for="FILEPATH_BIGLIETTO">Sostituisci il file</label>
<input type="file" accept="application/pdf" class="form-control" name="FILEPATH_BIGLIETTO" id="FILEPATH_BIGLIETTO">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<? } ?>
</div>
<div class='col-sm-6'>
<?
if ($sconto->FILEPATH_CARTAIMBARCO == "") {
?>
<div class="row">
<div class="col-12">
<div class="card text-danger bg-light mb-3">
<div class="card-header">Carta di imbarco <span class="text-danger">*&nbsp;</span> [formato pdf, dimensione max 30mb]</div>
<div class="card-body">
<div class="row p-1">
<div class="col-12">
<div class="progress mb-2">
<div id="progress_FILEPATH_CARTAIMBARCO" class="progress-bar bg-warning" role="progressbar" style="width: 0%" aria-valuenow="0" aria-valuemin="0" aria-valuemax="0">
<smal id="msg_FILEPATH_CARTAIMBARCO"></smal>
</div>
</div>
<div class="input-group custom-file-button">
<label class="input-group-text" for="FILEPATH_CARTAIMBARCO">Scegli il file</label>
<input type="file" accept="application/pdf" class="form-control" name="FILEPATH_CARTAIMBARCO" id="FILEPATH_CARTAIMBARCO" required>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<? } else { ?>
<div class="row">
<div class="col-12">
<div class="card text-white bg-primary mb-3">
<div class="card-header">Carta di imbarco [formato pdf, dimensione max 30mb]</div>
<div class="card-body">
<div class="row p-1">
<div class="col-10">
<div class="progress">
<div class="progress-bar bg-success" role="progressbar" style="width: 100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100">Caricato</div>
</div>
</div>
<div class="col-2">
<button type="button" class="btn btn-sm btn-success" onclick="openStreamer('<?= $sconto->ID ?>', 'imbarco', 'download_sconti');" alt="Download allegato" title="Download"><i class="fas fa-download"></i></button>
</div>
</div>
<div class="row p-1">
<div class="col-12">
<div class="progress mb-2">
<div id="progress_FILEPATH_CARTAIMBARCO" class="progress-bar bg-warning" role="progressbar" style="width: 0%" aria-valuenow="0" aria-valuemin="0" aria-valuemax="0">
<smal id="msg_FILEPATH_CARTAIMBARCO"></smal>
</div>
</div>
<div class="input-group custom-file-button">
<label class="input-group-text" for="FILEPATH_CARTAIMBARCO">Sostituisci il file</label>
<input type="file" accept="application/pdf" class="form-control" name="FILEPATH_CARTAIMBARCO" id="FILEPATH_CARTAIMBARCO">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<? } ?>
</div>
</div>
</div>
<? } ?>
<div class="card-footer">
<div class="row">
<div class="col-sm-12">
<span class="text-danger h5"><b>*&nbsp;I campi contrassegnati con l'asterisco sono obbligatori</b></span>
</div>
</div>
<div class="row ">
<div class="offset-sm-2 col-sm-10 text-right ">
<? if ($sconto->STATO == RS_IN_ELABORAZIONE) { ?>
<button type="submit" class="btn btn-md btn-success"><i class="fas fa-save"></i>&nbsp;Salva</button>
<? } ?>
&nbsp;&nbsp;&nbsp;
<button type="button" id="btn-dashboard" class="btn btn-md btn-primary" onclick="goBack()"><i class="fas fa-plane"></i>&nbsp;Torna alla sezione richieste sconti</button>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</main>
<? include_once ROOT . 'layout/footer.php'; ?>
</body>
<script>
var id = "<?= $id_sconto ?>";
var isModified = false;
var compagnieAderentiGenerali = "<?= COMPAGNIE_ADERENTI ?>";
var scaliGenerali = "<?= SCALI_FASE1 ?>";
var compagnieAderenti = compagnieAderentiGenerali.split("|");
var scaliFase1 = scaliGenerali.split("|");
$.fn.alphanum.setNumericSeparators({
thousandsSeparator: " ",
decimalSeparator: ","
});
$('#costo_tratta').numeric({
allowThouSep: false,
maxPreDecimalPlaces: 5,
maxDecimalPlaces: 2,
min: <?= IMPORTO_MINIMO_VOLO ?>,
max: 1000,
});
$('#form-add-sconto :input').each(function () {
<?
if ($sconto->STATO == RS_IN_ELABORAZIONE) {
?>
$(this).change(function () {
isModified = true;
if ($(this)[0].type === 'date') {
verifyDateField($(this));
} else {
$(this).addClass('is-valid');
}
});
<?
}
?>
});
$(document).ready(function () {
if (compagnieAderenti.includes(<?= $sconto->COMPAGNIA_ID ?>)) {
$("#rigaForzaResidenza").attr("hidden", false);
} else {
$("#rigaForzaResidenza").attr("hidden", true);
}
$("#FILEPATH_BIGLIETTO").change(function (e) {
$("#msg_FILEPATH_BIGLIETTO").empty();
if (e.target.files[0]) {
$("#progress_FILEPATH_BIGLIETTO").css("width", "100%");
$("#msg_FILEPATH_BIGLIETTO").append('File pronto per essere salvato');
} else {
$("#progress_FILEPATH_BIGLIETTO").css("width", "0%");
}
});
$("#FILEPATH_CARTAIMBARCO").change(function (e) {
$("#msg_FILEPATH_CARTAIMBARCO").empty();
if (e.target.files[0]) {
$("#progress_FILEPATH_CARTAIMBARCO").css("width", "100%");
$("#msg_FILEPATH_CARTAIMBARCO").append('File pronto per essere salvato');
} else {
$("#progress_FILEPATH_CARTAIMBARCO").css("width", "0%");
}
});
$("#AEROPORTO_PARTENZA").select2({
language: "it",
minimumInputLength: 0,
ajax: {
url: WS_CALL + "?module=tratte_aeroporti&action=searchAeroporto",
type: "post",
dataType: 'json',
delay: 250,
data: function (params) {
return {
searchTerm: params.term // search term
};
},
processResults: function (response) {
return {
results: response
};
},
cache: true
}
});
$('#AEROPORTO_PARTENZA').on('select2:select', function (e) {
var data = e.params.data;
if (data) {
$("#COMPAGNIA_AEREA").val('');
//console.log($("#COMPAGNIA_AEREA"));
$("#AEROPORTO_DESTINAZIONE").val('');
$("#AEROPORTO_DESTINAZIONE_CODICE").val('');
$("#AEROPORTO_PARTENZA_CODICE").val(data.codice);
$("#AEROPORTO_DESTINAZIONE").select2({
language: "it",
minimumInputLength: 0,
ajax: {
url: WS_CALL + "?module=tratte_aeroporti&action=searchAeroportoRitorno&codice=" + data.codice,
type: "post",
dataType: 'json',
delay: 250,
data: function (params) {
return {
searchTerm: params.term // search term
};
},
processResults: function (response) {
return {
results: response
};
},
cache: true
}
});
} else {
functionSwall('error', "Selezionare un Aeroporto presente nella lista sottostante!", 'error');
$("#AEROPORTO_DESTINAZIONE").val("");
$("#AEROPORTO_PARTENZA_CODICE").val("");
}
});
$('#AEROPORTO_DESTINAZIONE').on('select2:select', function (e) {
var data = e.params.data;
if (data) {
$("#AEROPORTO_DESTINAZIONE_CODICE").val(data.codice);
var partenza = $("#AEROPORTO_PARTENZA_CODICE").val();
var destinazione = data.codice;
$("#COMPAGNIA_AEREA").val('');
$("#COMPAGNIA_ID").val('');
$("#COMPAGNIA_AEREA").select2({
language: "it",
minimumInputLength: 0,
ajax: {
url: WS_CALL + "?module=tratte_aeroporti&action=searchCompagnie&partenza=" + partenza + "&destinazione=" + destinazione,
type: "post",
dataType: 'json',
delay: 250,
data: function (params) {
return {
searchTerm: params.term // search term
};
},
processResults: function (response) {
return {
results: response
};
},
cache: true
}
});
} else {
functionSwall('error', "Selezionare un Aeroporto presente nella lista sottostante!", 'error');
$("#AEROPORTO_DESTINAZIONE_CODICE").val("");
}
});
$('#COMPAGNIA_AEREA').on('select2:select', function (e) {
var data = e.params.data;
if (data) {
$("#COMPAGNIA_ID").val(data.codice);
if (compagnieAderenti.includes(data.codice) && (scaliFase1.includes($("#AEROPORTO_DESTINAZIONE_CODICE").val()) && scaliFase1.includes($("#AEROPORTO_PARTENZA_CODICE").val()))) {
$("#rigaForzaResidenza").attr("hidden", false);
} else {
$("#rigaForzaResidenza").attr("hidden", true);
}
} else {
functionSwall('error', "Selezionare un Aeroporto presente nella lista sottostante!", 'error');
$("#COMPAGNIA_ID").val("");
}
});
<?
if ($sconto->AEROPORTO_PARTENZA != "") {
?>
$("#AEROPORTO_PARTENZA").select2("trigger", "select", {
data: {
id: '<?= addslashes($sconto->AEROPORTO_PARTENZA) ?>',
text: '<?= addslashes($sconto->AEROPORTO_PARTENZA) ?>'
}
});
$("#AEROPORTO_PARTENZA_CODICE").val('<?= $sconto->AEROPORTO_PARTENZA_CODICE ?>');
<?
}
if ($sconto->AEROPORTO_DESTINAZIONE != "") {
?>
$("#AEROPORTO_DESTINAZIONE").select2("trigger", "select", {
data: {
id: '<?= addslashes($sconto->AEROPORTO_DESTINAZIONE) ?>',
text: '<?= addslashes($sconto->AEROPORTO_DESTINAZIONE) ?>'
}
});
$("#AEROPORTO_DESTINAZIONE_CODICE").val('<?= $sconto->AEROPORTO_DESTINAZIONE_CODICE ?>');
<? } ?>
<?
if ($sconto->COMPAGNIA_AEREA != "") {
?>
$("#COMPAGNIA_AEREA").select2("trigger", "select", {
data: {
id: '<?= addslashes($sconto->COMPAGNIA_AEREA) ?>',
text: '<?= addslashes($sconto->COMPAGNIA_AEREA) ?>'
}
});
if (compagnieAderenti.includes('<?= addslashes($sconto->COMPAGNIA_ID) ?>') && (scaliFase1.includes('<?= addslashes($sconto->AEROPORTO_PARTENZA_CODICE) ?>') && scaliFase1.includes('<?= addslashes($sconto->AEROPORTO_DESTINAZIONE_CODICE) ?>'))) {
$("#rigaForzaResidenza").attr("hidden", false);
} else {
$("#rigaForzaResidenza").attr("hidden", true);
}
$("#COMPAGNIA_ID").val('<?= addslashes($sconto->COMPAGNIA_ID) ?>');
$("#AEROPORTO_DESTINAZIONE_CODICE").val('<?= $sconto->AEROPORTO_DESTINAZIONE_CODICE ?>');
<? } ?>
});
<? if ($sconto->STATO == RS_IN_ELABORAZIONE) { ?>
function saveSconto() {
$('#loader').show();
var form = document.getElementById('form-add-sconto');
var formInvio = new FormData(form);
formInvio.append('module', 'sconto');
formInvio.append('action', 'saveSconto');
postdata(WS_CALL, formInvio, function (response) {
var risp = jQuery.parseJSON(response);
if (risp.esito === 1) {
$('#loader').hide();
isModified = false;
Swal.fire({
type: 'success',
title: 'OK',
text: "Operazione completata con successo",
showCancelButton: false,
confirmButtonColor: '#3085d6',
confirmButtonText: 'OK',
allowOutsideClick: false
}).then((result) => {
goBack();
});
} else {
$('#loader').hide();
functionSwall('error', risp.erroreDescrizione, "");
}
});
}
<? } ?>
function goBack() {
if (isModified) {
Swal.fire({
title: "Attenzione",
text: "Sei sicuro di volere procedere? Eventuali modifiche non salvate andranno perse.",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'OK',
cancelButtonText: 'Annulla'
}).then((result) => {
if (result.value) {
$.redirect(HTTP_PRIVATE_SECTION + "sconti.php");
}
});
} else {
$.redirect(HTTP_PRIVATE_SECTION + "sconti.php");
}
}
function openStreamer(id, t, action) {
var object = {
id: id,
module: 'streamerFile',
action: action,
type: t
};
$.redirect(WS_CALL, object, "POST");
}
function verifyDateField(t) {
var arr1 = t[0].min.split("-");
var arr2 = t[0].max.split("-");
var arr3 = t.val().split("-");
var d1 = new Date(arr1[0], arr1[1] - 1, arr1[2]);
var d2 = new Date(arr2[0], arr2[1] - 1, arr2[2]);
var d3 = new Date(arr3[0], arr3[1] - 1, arr3[2]);
var r1 = d1.getTime();
var r2 = d2.getTime();
var r3 = d3.getTime();
if (Number.isNaN(r3)) {
t.removeClass('is-valid').addClass('is-invalid');
} else {
if (r1 > r3 || r3 > r2) {
t.removeClass('is-valid').addClass('is-invalid');
} else {
t.removeClass('is-invalid').addClass('is-valid');
}
}
}
function redirectDomanda() {
var object = {
ID: id
};
if (isModified) {
Swal.fire({
title: "Attenzione",
text: "Sicuro di volere procedere? Eventuali modifiche non salvate andranno perse.",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'OK'
}).then((result) => {
if (result.value) {
$.redirect("page_sconto.php", object);
}
});
} else {
$.redirect("page_sconto.php", object);
}
}
<? if ($datiIntegrazione['STATO'] == RI_INTEGRAZIONE_IN_ATTESA) { ?>
function saveIntegrazione() {
Swal.fire({
title: "Attenzione",
html: "Sei sicuro di volere procedere?<br>Dopo l'invio della documentazione non sarà più possibile apportare modifiche ai dati sottomessi.",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'OK',
cancelButtonText: 'Annulla'
}).then((result) => {
if (result.value) {
$('#loader').show();
var form = document.getElementById('form-add-integrazione');
var formInvio = new FormData(form);
formInvio.append('module', 'sconto');
formInvio.append('action', 'saveIntegrazione');
postdata(WS_CALL, formInvio, function (response) {
var risp = jQuery.parseJSON(response);
if (risp.esito === 1) {
$('#loader').hide();
isModified = false;
Swal.fire({
type: 'success',
title: 'OK',
text: "Operazione completata con successo",
showCancelButton: false,
confirmButtonColor: '#3085d6',
confirmButtonText: 'OK',
allowOutsideClick: false
}).then((result) => {
goBack();
});
} else {
$('#loader').hide();
functionSwall('error', risp.erroreDescrizione, "");
}
});
}
});
}
<? } ?>
$(window).on('load', function () {
setTimeout(() => $('html, body').scrollTop(0), 200);
});
</script>
</html>