<?php $disabled_fields = array(); $tecnici_default = array(); $idstatoagenda = "CALL"; // rimuovo session usate sui select combinati (sedi, preventivi, contratti, impianti) unset( $_SESSION['superselect']['idanagrafica'] ); unset( $_SESSION['superselect']['idsede'] ); //Se ho passato l'idanagrafica, carico il tipo di intervento di default $idanagrafica = $html->form('idanagrafica'); $idsede = $html->form('idsede'); //Calcolo orario di inizio e fine di default if( $html->form('orario_inizio') != '' ){ $orario_inizio = $html->form('orario_inizio'); $orario_fine = $html->form('orario_fine'); } else{ $orario_inizio = date("H:")."00"; $orario_fine = date("H:\0\0", strtotime( date("Y-m-d H:")."00" ) + 60*60); } $idcontratto_riga = $html->form('idcontratto_riga'); if( strtotime($html->form('data')) != '' ){ $data = date( "d/m/Y", strtotime($html->form('data')) ); } else{ $data = date( "d/m/Y" ); } $idintervento_template = get_var("Formato codice agenda"); $idintervento_template = str_replace( '#', '%', $idintervento_template ); $rs = $dbo->fetchArray("SELECT idintervento FROM agenda WHERE idintervento=(SELECT MAX(CAST(idintervento AS SIGNED)) FROM agenda) AND idintervento LIKE(\"".$idintervento_template."\") ORDER BY idintervento DESC LIMIT 0,1"); $new_codice = get_next_code( $rs[0]['idintervento'], 1, get_var("Formato codice agenda") ); if (!is_numeric($new_codice)): $rs = $dbo->fetchArray("SELECT idintervento FROM agenda WHERE idintervento LIKE(\"".$idintervento_template."\") ORDER BY idintervento DESC LIMIT 0,1"); $new_codice = get_next_code( $rs[0]['idintervento'], 1, get_var("Formato codice agenda") ); endif; ?> <form action="editor.php?id_module=$id_module$" method="post" id="add-form" onsubmit="return add_intervento();"> <input type="hidden" name="op" value="add"> <input type="hidden" name="ref" value="<?php echo $_GET['ref'];?>"> <input type="hidden" name="backto" value="record-edit"> <!-- DATI CLIENTE --> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title">Appuntamento n° <?php echo $new_codice ?> </h3> </div> <div class="panel-body"> <div class="row"> <div class="col-md-4"> {[ "type": "select", "label": "Anagrafica", "name": "idanagrafica", "required": 1, "class": "", "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione 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 deleted=0 <?php echo $filtro ?> ORDER BY ragione_sociale", "value": "<?php echo $idanagrafica ?>", "extra": "" ]} </div> <div class="col-md-4"> <?php if( $idanagrafica == '' ){ ?> {[ "type": "select", "label": "<?php echo _("Sede"); ?>", "name": "idsede", "required": 0, "class": "", "values": "", "value": "Seleziona prima un cliente...", "extra": "", "ajax-source": "sedi" ]} <?php } else{ ?> {[ "type": "select", "label": "<?php echo _("Sede"); ?>", "name": "idsede", "required": 0, "class": "", "values": "query=SELECT 0 AS id, 'Sede legale' AS descrizione UNION SELECT id, CONCAT_WS( ' - ', nomesede, citta ) AS descrizione FROM an_sedi WHERE idanagrafica='<?php echo $idanagrafica ?>'", "value": "<?php echo $idsede ?>", "extra": "<?php if( in_array('idsede', $disabled_fields) ){ echo "disabled='true'"; } ?>", "ajax-source": "sedi" ]} <?php } ?> </div> </div> </div> </div> <!-- DATI INTERVENTO --> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title">Dettaglio</h3> </div> <div class="panel-body"> <!-- RIGA 3 --> <div class="row"> <div class="col-md-3"> {[ "type": "text", "label": "<?php echo _("Data richiesta"); ?>", "name": "data_richiesta", "required": 1, "class": "datepicker text-center", "value": "<?php echo date('d/m/Y') ?>", "extra": "" ]} </div> <div class="col-md-3"> {[ "type": "text", "label": "<?php echo _("Data appuntamento"); ?>", "name": "data", "required": 1, "class": "datepicker text-center", "value": "<?php echo $data ?>", "extra": "" ]} </div> <div class="col-md-2 bootstrap-timepicker"> {[ "type": "text", "label": "<?php echo _("Orario inizio"); ?>", "name": "orario_inizio", "required": 1, "class": "time-mask text-center", "values": "", "value": "<?php echo $orario_inizio ?>", "extra": "" ]} </div> <div class="col-md-2 bootstrap-timepicker"> {[ "type": "text", "label": "<?php echo _("Orario fine"); ?>", "name": "orario_fine", "required": 1, "class": "time-mask text-center", "values": "", "value": "<?php echo $orario_fine ?>", "extra": "onfocus=\"if( $(this).val() == '' ){ $(this).val( $('#orario_inizio').val() ); }\"" ]} </div> <div class="col-md-2"> {[ "type": "text", "label": "<?php echo _("N°"); ?>", "name": "idintervento", "required": 1, "class": "text-center", "value": "<?php echo $new_codice ?>", "extra": "readonly" ]} </div> </div> <!-- RIGA 4 --> <div class="row"> <div class="col-md-4"> {[ "type": "select", "label": "<?php echo _("Tipologia"); ?>", "name": "idtipoagenda", "required": 1, "class": "", "values": "query=SELECT idtipoagenda AS id, descrizione FROM agenda_tipi", "value": "<?php echo $idtipoagenda ?>", "extra": "" ]} </div> <div class="col-md-4"> {[ "type": "select", "label": "<?php echo _("Stato"); ?>", "name": "idstatoagenda", "required": 1, "class": "", "values": "query=SELECT idstatoagenda AS id, descrizione, colore AS _bgcolor_ FROM agenda_stati", "value": "<?php echo $idstatoagenda ?>", "extra": "" ]} </div> </div> <!-- RIGA 5 --> <div class="row"> <div class="col-md-12"> {[ "type": "select", "label": "<?php echo _("Operatore"); ?>", "multiple": "1", "name": "idtecnico[]", "required": 1, "class": "", "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione 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 descrizione = 'Tecnico' AND deleted=0 ORDER BY ragione_sociale", "value": "<?php echo implode(',', $tecnici_default) ?>", "extra": "" ]} </div> <div class="col-md-12"> {[ "type": "textarea", "label": "<?php echo _("Richiesta"); ?>", "name": "richiesta", "required": 1, "class": "autosize", "value": "<?php echo $richiesta ?>", "extra": "style='max-height:80px; ' " ]} </div> </div> </div> </div> <!-- PULSANTI --> <div class="row"> <div class="col-md-12 text-right"> <button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> <?php echo _("Aggiungi"); ?></button> </div> </div> </form> <script src="<?php echo $js ?>/bootstrap-timepicker.min.js"></script> <script type="text/javascript" > $(document).ready( function(){ $("#idsede").prop("disabled", true); }); var ref = "<?php echo $_GET['ref'] ?>"; var id_module = "<?php echo $_GET['id_module'] ?>"; $('#idanagrafica').change( function(){ session_set( 'superselect,idanagrafica', $(this).val(), 0 ); $("#idsede").prop("disabled", false); $("#idsede").val(null).trigger("change"); }); $('#idsede').change( function(){ session_set( 'superselect,idsede', $(this).val(), 0 ); $("#matricola").val(null).trigger("change"); }); function add_intervento(){ if( $('#idtecnico option:selected').length == 0 ){ alert( "Seleziona almeno un operatore!" ); return false; } else if( $('#idintervento').val() != '' && $('#data').val() != '' && $('#idanagrafica').val() != '' && $('#idtipoagenda').val() != '' && $('#idstatoagenda').val() != '' && $('#richiesta').val() != '' ){ //Se l'aggiunta appuntamento proviene dal calendario, faccio il submit via ajax e ricarico gli eventi... if( ref=="agenda" ){ //Eventuale file actions.php customizzato <?php if( file_exists($docroot."/modules/agenda/custom/actions.php") ){ ?> $.post('<?php echo $rootdir ?>/modules/agenda/custom/actions.php', $('#add-form').serialize(), function(data,response){ <?php } else if( file_exists($docroot."/modules/agenda/actions.php") ){ ?> $.post('<?php echo $rootdir ?>/modules/agenda/actions.php', $('#add-form').serialize(), function(data,response){ <?php } ?> if( response=="success" ){ if( data!="ko" ){ $('#bs-popup').modal('hide'); $("#calendar").fullCalendar('refetchEvents'); $('#calendar').fullCalendar('render'); }else{ alert ("idintevento '"+$('#idintervento').val()+"' già esistente, controlla il codice appuntamento"); $('input#idintervento').focus(); } } }); } //...altrimenti faccio il submit normale else{ //Eventuale file actions.php customizzato <?php if( file_exists($docroot."/modules/agenda/custom/actions.php") ){ ?> $.post('<?php echo $rootdir ?>/modules/agenda/custom/actions.php', $('#add-form').serialize(), function(data,response){ <?php } else if( file_exists($docroot."/modules/agenda/actions.php") ){ ?> $.post('<?php echo $rootdir ?>/modules/agenda/actions.php', $('#add-form').serialize(), function(data,response){ <?php } ?> if( response=="success" ){ if( data!="ko" ){ $("#bs-popup").modal('hide'); window.location.href = "editor.php?id_module="+id_module+"&id_record="+data; }else{ alert ("idintevento '"+$('#idintervento').val()+"' già esistente, controlla il codice appuntamento"); $('input#idintervento').focus(); } } }); } } else{ alert ('Alcuni campi sono incompleti.'); } return false; } </script>