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.
 
 
 
 
 
 

235 righe
22 KiB

<?php
echo $this->Breadcrumb->render([
[
'title' => 'Home',
'icon' => 'fa fa-home',
'url' => '/',
],
[
'title' => __('Documenti'),
'icon' => 'fa fa-book',
],
[
'title' => __('Lista Pratiche di attingimento'),
'icon' => 'fa fa-list',
'url' => ['controller' => 'WaterDrawingPaperworks', 'action' => 'index'],
],
[
'title' => __('Dettagli Pratica di attingimento'),
'icon' => 'fa fa-info',
'url' => ['controller' => 'WaterDrawingPaperworks', 'action' => 'view', $waterDrawingDerivation->water_drawing_paperwork_id],
],
[
'title' => __('Modifica Punto di prelievo/derivazione'),
'icon' => 'fa fa-pencil-alt',
],
]);
?>
<div class="card card-primary card-outline">
<div class="card-header d-sm-flex">
<h2 class="card-title"><?= __('Modifica Punto di prelievo/derivazione') ?></h2>
</div>
<?php echo $this->Form->create($waterDrawingDerivation, ['role' => 'form', 'type' => 'file']); ?>
<div class="card-body">
<div class="row">
<div class="col-md-3">
<?= $this->Form->control('water_drawing_derivation_type_id', ['label' => __('Tipo di derivazione'), 'options' => $waterDrawingDerivationTypes]) ?>
</div>
<div class="col-md-9">
<?= $this->Form->control('water_body', ['label' => __('Corpo idrico'), 'type' => 'text']) ?>
</div>
<div class="col-md-12">
<?= $this->Form->control('description', ['label' => __('Descrizione'), 'type' => 'text']) ?>
</div>
<!-- BACINO: -->
<div class="col-md-10">
<?= $this->Form->control('wbcod', ['label' => __('Codice corpo idrico sotterraneo'), 'type' => 'text', 'readonly' => true]) ?>
</div>
<div class="col-md-2">
<button type="button" style="margin-top:2.2rem;" class="btn btn-info btn-sm" onclick="copyCode('wbcod')">Usa come corpo idrico</button>
</div>
<!-- ZONA DRENANTE: -->
<div class="col-md-10">
<?= $this->Form->control('cw_wise_co', ['label' => __('Codice area afferente al corpo idrico marino costiero'), 'type' => 'text', 'readonly' => true]) ?>
</div>
<div class="col-md-2">
<button type="button" style="margin-top:2.2rem;" class="btn btn-info btn-sm" onclick="copyCode('cw-wise-co')">Usa come corpo idrico</button>
</div>
<!-- SPARTIACQUA: -->
<div class="col-md-10">
<?= $this->Form->control('swbcode', ['label' => __('Codice corpo idrico superficiale'), 'type' => 'text', 'readonly' => true]) ?>
</div>
<div class="col-md-2">
<button type="button" style="margin-top:2.2rem;" class="btn btn-info btn-sm" onclick="copyCode('swbcode')">Usa come corpo idrico</button>
</div>
<!-- CAMPI DI PROVA - CANCELLARE SINO A QUI -->
<div class="col-md-12">
<?= $this->Cell('Map', [
[-2, -3, -4], // Array $layer_ids = null -> null = nessun layer verrà caricato. [] = tutti i layers della table maps verranno caricati. [1,2,3] = solamente i layers della table maps con id 1,2 e 3 verranno caricati
false, // Bool $get_current_position = false -> true = viene eseguito lo zoom in mappa sulla posizione utente (se disponibile dal browser e l'utente da i permessi)
[ // Array $tools = null -> null/[] = nessun tool verrà visualizzato in mappa. Altrimenti verranno inseriti i tools specificati e le relative configurazioni come specificato di seguito
'drawing_layer_name' // String $drawing_layer_name = null -> se specificato, verrà utilizzato come nome del layer che gestisce le geometrie disegnate. Se lasciato vuoto o null, il nome di default verrà utilizzato
=> __('Posizione Punto di prelievo/derivazione'),
'geocoding' => true, // Bool $geocoding = false -> se true, visualizza in mappa (nel riquadro dei tools in alto a sinistra) un button con icona "freccia di localizzazione" per accedere alla funzione di geocoding. se l'indirizzo inserito è valido, verrà inserito un punto in mappa nella relativa location individuata
'point' => true, // Bool $point = false -> se true, visualizza in mappa (nel riquadro dei tools in alto a sinistra) un button con icona "marker" per attivare la funzione di inserimento punti in mappa
'multiple_points' => false, // Bool $multiple_points = false -> se true, permette l'inserimento di più punti in mappa. ATTENZIONE: se il tool di geocoding è attivo, $multiple_points non verrà considerato e non sarà permesso inserire più punti in mappa!
'polygon' => false, // Bool $polygon = false -> se true, visualizza in mappa (nel riquadro dei tools in alto a sinistra) un button con icona "polygon" per attivare la funzione di disegno poligoni in mappa
'circle' => false, // Bool $circle = false -> se true, visualizza in mappa (nel riquadro dei tools in alto a sinistra) un button con icona "circle" per attivare la funzione di disegno cerchi in mappa
'delete_geometry' => false, // Bool $delete-geometry = false -> se true, visualizza in mappa (nel riquadro dei tools in alto a sinistra) un button con icona "cestino" per attivare la funzione di cancellazione geometrie (puntare sulla geometria precedentemente disegnata che si vuole eliminare). ATTENZIONE: se nessuno tra $geocoding, $point, $polygon e $circle è true, il button di cancellazione non verrà renderizzato!
'fields' => [ // Array $fields = null -> null/[] = nessun campo verrà renderizzato o fillato. Altrimenti verranno gestiti i campi in base alle relative configurazioni come specificato di seguito
'longitude' => [ // Array = null -> null/[] = il campo feature_collection non verrà gestito. Altrimenti verrà gestito come specificato di seguito
'render' => false, // Bool $render = false -> se true, verrà renderizzato il campo. Nota: se $render è false, $hidden, $name e $description (se specificati) non verranno utilizzati. Invece $id (se specificato) permetterà il filling del campo esistente con id specificato
'hidden' => false, // Bool $hidden = false -> se true, verrà renderizzato il campo NASCOSTO. Nota: se $render = false, non verrà preso in considerazione
'readonly' => false, // Bool $readonly = false -> se true, verrà renderizzato il campo in modalità READ ONLY. Nota: se $render = false, non verrà preso in considerazione
'id' // String $id = null -> se specificato, verrà utilizzato come id del campo. Nota: se $render è false, questo id verrà utilizzato per il filling del campo già esistente con l'id specifiato
=> 'longitude',
'name' // String $name = null -> se specificato, verrà utilizzato come name del campo. Nota: se $render = false, non verrà preso in considerazione
=> 'longitude',
'label' // String $label = null -> se specificato, verrà utilizzato come label del campo. Nota: se $render = false, non verrà preso in considerazione
=> __('Coordinata WGS84 EPSG:4326 Lon'),
],
'latitude' => [ // Array = null -> null/[] = il campo feature_collection non verrà gestito. Altrimenti verrà gestito come specificato di seguito
'render' => false, // Bool $render = false -> se true, verrà renderizzato il campo. Nota: se $render è false, $hidden, $name e $description (se specificati) non verranno utilizzati. Invece $id (se specificato) permetterà il filling del campo esistente con id specificato
'hidden' => false, // Bool $hidden = false -> se true, verrà renderizzato il campo NASCOSTO. Nota: se $render = false, non verrà preso in considerazione
'readonly' => false, // Bool $readonly = false -> se true, verrà renderizzato il campo in modalità READ ONLY. Nota: se $render = false, non verrà preso in considerazione
'id' // String $id = null -> se specificato, verrà utilizzato come id del campo. Nota: se $render è false, questo id verrà utilizzato per il filling del campo già esistente con l'id specifiato
=> 'latitude',
'name' // String $name = null -> se specificato, verrà utilizzato come name del campo. Nota: se $render = false, non verrà preso in considerazione
=> 'latitude',
'label' // String $label = null -> se specificato, verrà utilizzato come label del campo. Nota: se $render = false, non verrà preso in considerazione
=> __('Coordinata WGS84 EPSG:4326 Lat'),
],
'district' => [ // Array = null -> null/[] = il campo feature_collection non verrà gestito. Altrimenti verrà gestito come specificato di seguito
'render' => false, // Bool $render = false -> se true, verrà renderizzato il campo. Nota: se $render è false, $hidden, $name e $description (se specificati) non verranno utilizzati. Invece $id (se specificato) permetterà il filling del campo esistente con id specificato
'hidden' => false, // Bool $hidden = false -> se true, verrà renderizzato il campo NASCOSTO. Nota: se $render = false, non verrà preso in considerazione
'readonly' => false, // Bool $readonly = false -> se true, verrà renderizzato il campo in modalità READ ONLY. Nota: se $render = false, non verrà preso in considerazione
'id' // String $id = null -> se specificato, verrà utilizzato come id del campo. Nota: se $render è false, questo id verrà utilizzato per il filling del campo già esistente con l'id specifiato
=> 'district',
'name' // String $name = null -> se specificato, verrà utilizzato come name del campo. Nota: se $render = false, non verrà preso in considerazione
=> 'district',
'label' // String $label = null -> se specificato, verrà utilizzato come label del campo. Nota: se $render = false, non verrà preso in considerazione
=> __('Comune'),
],
'address' => [ // Array = null -> null/[] = il campo feature_collection non verrà gestito. Altrimenti verrà gestito come specificato di seguito
'render' => false, // Bool $render = false -> se true, verrà renderizzato il campo. Nota: se $render è false, $hidden, $name e $description (se specificati) non verranno utilizzati. Invece $id (se specificato) permetterà il filling del campo esistente con id specificato
'hidden' => false, // Bool $hidden = false -> se true, verrà renderizzato il campo NASCOSTO. Nota: se $render = false, non verrà preso in considerazione
'readonly' => false, // Bool $readonly = false -> se true, verrà renderizzato il campo in modalità READ ONLY. Nota: se $render = false, non verrà preso in considerazione
'id' // String $id = null -> se specificato, verrà utilizzato come id del campo. Nota: se $render è false, questo id verrà utilizzato per il filling del campo già esistente con l'id specifiato
=> 'location',
'name' // String $name = null -> se specificato, verrà utilizzato come name del campo. Nota: se $render = false, non verrà preso in considerazione
=> 'location',
'label' // String $label = null -> se specificato, verrà utilizzato come label del campo. Nota: se $render = false, non verrà preso in considerazione
=> __('Contrada/Località'),
],
'district_code' => [ // Array = null -> null/[] = il campo feature_collection non verrà gestito. Altrimenti verrà gestito come specificato di seguito
'render' => false, // Bool $render = false -> se true, verrà renderizzato il campo. Nota: se $render è false, $hidden, $name e $description (se specificati) non verranno utilizzati. Invece $id (se specificato) permetterà il filling del campo esistente con id specificato
'hidden' => false, // Bool $hidden = false -> se true, verrà renderizzato il campo NASCOSTO. Nota: se $render = false, non verrà preso in considerazione
'readonly' => false, // Bool $readonly = false -> se true, verrà renderizzato il campo in modalità READ ONLY. Nota: se $render = false, non verrà preso in considerazione
'id' // String $id = null -> se specificato, verrà utilizzato come id del campo. Nota: se $render è false, questo id verrà utilizzato per il filling del campo già esistente con l'id specifiato
=> 'istat',
'name' // String $name = null -> se specificato, verrà utilizzato come name del campo. Nota: se $render = false, non verrà preso in considerazione
=> 'istat',
'label' // String $label = null -> se specificato, verrà utilizzato come label del campo. Nota: se $render = false, non verrà preso in considerazione
=> __('ISTAT'),
],
],
'geo_resources' => [ // Array = null -> null/[] = geo_resources serve a specificare delle geo-risorse dalle quali vogliamo estrarre degli attributi. per ogni geo-risorsa, tra le altre cose, bisogna specificare il mapping dei campi nella forma "attributo_geo_risorsa":"id-campo-nel-form"
[
'table_name' => 'geo.rw_watersheds', // Nome della tabella dove risiede la geo-risorsa. Specificare il prefisso (esempio 'geo') qualora la risorsa si trovi al di fuori del datasource 'default' di Jixel
'geometry_name' => 'SHAPE', // specifica il nome del campo di tipo GEOMETRY della geo-risorsa (se si omette, verrà preso il nome di default 'SHAPE')
'attributes_fields' => [ // elenco key/value che specifica gli attributi(KEY) da estrarre dalla geo-risorsa ed il corrispondere ID del campo(VALUE) del form a cui assegnare il valore estratto dall'attributo.
'swbcode' => 'swbcode'
],
],
[
'table_name' => 'geo.cw_draining_areas', // Nome della tabella dove risiede la geo-risorsa. Specificare il prefisso (esempio 'geo') qualora la risorsa si trovi al di fuori del datasource 'default' di Jixel
'geometry_name' => 'SHAPE', // specifica il nome del campo di tipo GEOMETRY della geo-risorsa (se si omette, verrà preso il nome di default 'SHAPE')
'attributes_fields' => [ // elenco key/value che specifica gli attributi(KEY) da estrarre dalla geo-risorsa ed il corrispondere ID del campo(VALUE) del form a cui assegnare il valore estratto dall'attributo.
'cw_wise_co' => 'cw-wise-co'
],
],
[
'table_name' => 'geo.gwbs', // Nome della tabella dove risiede la geo-risorsa. Specificare il prefisso (esempio 'geo') qualora la risorsa si trovi al di fuori del datasource 'default' di Jixel
'geometry_name' => 'SHAPE', // specifica il nome del campo di tipo GEOMETRY della geo-risorsa (se si omette, verrà preso il nome di default 'SHAPE')
'attributes_fields' => [ // elenco key/value che specifica gli attributi(KEY) da estrarre dalla geo-risorsa ed il corrispondere ID del campo(VALUE) del form a cui assegnare il valore estratto dall'attributo.
'wbcod' => 'wbcod',
],
],
[
'external' => true, // se la geo-risorsa è un servizio esterno, bisogna specificare 'external' => true!
'url' // se la geo-risorsa è esterna va specificata la 'url' per chiamare il servizio
=> 'https://wms.cartografia.agenziaentrate.gov.it/inspire/ajax/ajax.php?op=getDatiOggetto',
'lon_parameter_name' => 'lon', // lon_parameter_name specifica come si chiama il parametro del servizio esterno per fornire in input la coordinata 'lon'
'lat_parameter_name' => 'lat', // lat_parameter_name specifica come si chiama il parametro del servizio esterno per fornire in input la coordinata 'lat'
'attributes_fields' => [ // elenco key/value che specifica gli attributi(KEY) da estrarre dalla geo-risorsa ed il corrispondere ID del campo(VALUE) del form a cui assegnare il valore estratto dall'attributo.
'COD_COMUNE' => 'cadastral-code',
'FOGLIO' => 'cadastral-sheet',
'NUM_PART' => 'cadastral-parcel',
],
],
],
],
null, // Int $zoom_to_layer_with_id = null -> se si specifica un Int, verrà eseguito lo zoom sull'extent del layer con quell'id
]); ?>
<?= $this->Form->control('feature_collection', ['type' => 'hidden']); ?>
</div>
<div class="col-md-6">
<?= $this->Form->control('district', ['label' => __('Comune'), 'type' => 'text', 'requred' => true]) ?>
</div>
<div class="col-md-6">
<?= $this->Form->control('cadastral_code', ['label' => __('Codice catastale (Belfiore)'), 'type' => 'text']) ?>
</div>
<div class="col-md-12">
<?= $this->Form->control('location', ['label' => __('Contrada/Località'), 'type' => 'text']) ?>
</div>
<div class="col-md-6">
<?= $this->Form->control('cadastral_sheet', ['label' => __('Foglio di Mappa'), 'requred' => true, 'min' => 0]) ?>
</div>
<div class="col-md-6">
<?= $this->Form->control('cadastral_parcel', ['label' => __('Particella'), 'requred' => true, 'min' => 0]) ?>
</div>
<div class="col-md-6">
<?= $this->Form->control('longitude', ['label' => __('Coordinata WGS84 EPSG:4326 Lon'), 'readonly' => true, 'requred' => true,]) ?>
</div>
<div class="col-md-6">
<?= $this->Form->control('latitude', ['label' => __('Coordinata WGS84 EPSG:4326 Lat'), 'readonly' => true, 'requred' => true,]) ?>
</div>
<div class="col-md-6">
<?= $this->Form->control('istat', ['label' => __('Codice ISTAT'), 'type' => 'text']) ?>
</div>
<div class="col-md-6">
<?= $this->Form->control('derivation_status', ['label' => __('Status della derivazione'), 'type' => 'text']) ?>
</div>
<div class="col-md-4">
<?= $this->Form->control('withdrawals_amount', ['label' => __('N. prelievi'), 'type' => 'text']) ?>
</div>
<div class="col-md-4">
<?= $this->Form->control('annual_volume', ['label' => __('Volume annuo (m^3)'), 'type' => 'number', 'min' => 0]) ?>
</div>
<div class="col-md-4">
<?= $this->Form->control('average_flow_rate', ['label' => __('Portata media (l/s)'), 'type' => 'number', 'min' => 0]) ?>
</div>
<div class="col-md-12">
<div id="fields-errors" style="color:red;"></div>
<?php echo $this->Form->submit(__('Salva'), ['id' => 'submitForm']); ?>
</div>
</div>
<?php echo $this->Form->end(); ?>
</div>
</div>
<script>
window.addEventListener('DOMContentLoaded', function() {
$('#water-drawing-derivation-type-id').select2({
minimumResultsForSearch: -1,
width: '100%'
});
});
function copyCode(text) {
let value = $('#' + text).val();
$('#water-body').val(value).trigger('change');
}
</script>