diff --git a/ajax_select.php b/ajax_select.php index 4ca1eaa1d..92c89e873 100644 --- a/ajax_select.php +++ b/ajax_select.php @@ -59,7 +59,7 @@ switch ($op) { if (Modules::get('Anagrafiche')['permessi'] != '-') { //$citta_cliente = ", IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')'))"; - $query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale $citta_cliente) AS descrizione, idtipointervento_default FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale"; + $query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale $citta_cliente) AS descrizione, idtipointervento_default, idzona FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale"; foreach ($elements as $element) { $filter[] = 'an_anagrafiche.idanagrafica='.prepare($element); @@ -77,6 +77,7 @@ switch ($op) { } $custom['idtipointervento'] = 'idtipointervento_default'; + $custom['idzona'] = 'idzona'; } break; @@ -189,7 +190,7 @@ switch ($op) { case 'sedi': if (Modules::get('Anagrafiche')['permessi'] != '-' && isset($superselect['idanagrafica'])) { - $query = "SELECT * FROM (SELECT 0 AS id, 'Sede legale' AS descrizione UNION SELECT id, CONCAT_WS(' - ', nomesede, citta) FROM an_sedi |where|) AS tab |filter| ORDER BY id"; + $query = "SELECT * FROM (SELECT 0 AS id, 'Sede legale' AS descrizione, (SELECT an_anagrafiche.idzona FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica = ".prepare($superselect['idanagrafica']).") AS idzona UNION SELECT id, CONCAT_WS(' - ', nomesede, citta), idzona AS idzona FROM an_sedi |where|) AS tab |filter| ORDER BY id"; foreach ($elements as $element) { $filter[] = 'id='.prepare($element); @@ -201,6 +202,8 @@ switch ($op) { $search_fields[] = 'nomesede LIKE '.prepare('%'.$search.'%'); $search_fields[] = 'citta LIKE '.prepare('%'.$search.'%'); } + + $custom['idzona'] = 'idzona'; } break; diff --git a/modules/interventi/add.php b/modules/interventi/add.php index 65253801a..d0f4ba678 100644 --- a/modules/interventi/add.php +++ b/modules/interventi/add.php @@ -173,7 +173,7 @@ if (empty($new_codice)) { </div> <div class="col-md-4"> - {[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, nome AS descrizione FROM an_zone ORDER BY nome", "value": "<?php echo $idzona; ?>" ]} + {[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY nome", "value": "<?php echo $idzona; ?>", "extra": "readonly" ]} </div> </div> @@ -270,11 +270,34 @@ if (empty($new_codice)) { $("#idimpianti").prop("disabled", value); $("#idimpianti").selectReset(); + + 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); + } + + }); $('#idsede').change( function(){ session_set('superselect,idsede', $(this).val(), 0); $("#idimpianti").selectReset(); + + + 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); + } + }); $('#idpreventivo').change( function(){ diff --git a/modules/interventi/edit.php b/modules/interventi/edit.php index 4328ce300..d06fe55b1 100644 --- a/modules/interventi/edit.php +++ b/modules/interventi/edit.php @@ -128,6 +128,13 @@ if (empty($records[0]['firma_file'])) { <div class="col-md-3"> {[ "type": "date", "label": "<?php echo tr('Data richiesta'); ?>", "name": "data_richiesta", "required": 1, "value": "$data_richiesta$" ]} </div> + + <div class="col-md-3"> + {[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY nome", "value": "$idzona$" ,"extra": "readonly" ]} + </div> + + + </div> @@ -275,6 +282,17 @@ if (empty($records[0]['firma_file'])) { $("#idsede").selectReset(); $("#idpreventivo").selectReset(); $("#idcontratto").selectReset(); + + 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); + } + }); $('#idpreventivo').change( function(){ @@ -293,6 +311,19 @@ if (empty($records[0]['firma_file'])) { $('#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); + } + }); + + </script> diff --git a/modules/interventi/init.php b/modules/interventi/init.php index bd32a320f..da2e94d5f 100644 --- a/modules/interventi/init.php +++ b/modules/interventi/init.php @@ -3,7 +3,7 @@ include_once __DIR__.'/../../core.php'; if (isset($id_record)) { - $records = $dbo->fetchArray('SELECT *, (SELECT colore FROM in_statiintervento WHERE idstatointervento=in_interventi.idstatointervento) AS colore, (SELECT idpreventivo FROM co_preventivi_interventi WHERE idintervento=in_interventi.id LIMIT 0,1) AS idpreventivo FROM in_interventi WHERE id='.prepare($id_record).Modules::getAdditionalsQuery($id_module)); + $records = $dbo->fetchArray('SELECT *, IF((in_interventi.idsede = 0), (SELECT idzona FROM an_anagrafiche WHERE idanagrafica = in_interventi.idanagrafica), (SELECT idzona FROM an_sedi WHERE id = in_interventi.idsede)) AS idzona, (SELECT colore FROM in_statiintervento WHERE idstatointervento=in_interventi.idstatointervento) AS colore, (SELECT idpreventivo FROM co_preventivi_interventi WHERE idintervento=in_interventi.id LIMIT 0,1) AS idpreventivo FROM in_interventi WHERE id='.prepare($id_record).Modules::getAdditionalsQuery($id_module)); } $jscript_modules[] = $rootdir.'/modules/interventi/js/interventi_helperjs.js';