2017-08-04 16:28:16 +02:00
< ? php
2020-09-07 15:04:06 +02:00
/*
* OpenSTAManager : il software gestionale open source per l ' assistenza tecnica e la fatturazione
2021-01-20 15:08:51 +01:00
* Copyright ( C ) DevCode s . r . l .
2020-09-07 15:04:06 +02:00
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < https :// www . gnu . org / licenses />.
*/
2017-08-04 16:28:16 +02:00
include_once __DIR__ . '/../../core.php' ;
2017-09-22 15:19:59 +02:00
$module = Modules :: get ( $id_module );
2017-08-04 16:28:16 +02:00
if ( $module [ 'name' ] == 'Fatture di vendita' ) {
$dir = 'entrata' ;
2017-09-04 12:02:29 +02:00
$tipo_anagrafica = tr ( 'Cliente' );
2017-08-04 16:28:16 +02:00
} else {
$dir = 'uscita' ;
2017-09-04 12:02:29 +02:00
$tipo_anagrafica = tr ( 'Fornitore' );
2017-08-04 16:28:16 +02:00
}
2023-02-10 10:05:25 +01:00
$id_anagrafica = ! empty ( get ( 'idanagrafica' )) ? get ( 'idanagrafica' ) : get ( '' );
2018-07-03 11:37:15 +02:00
2020-12-29 01:11:11 +01:00
$idtipodocumento = $dbo -> selectOne ( 'co_tipidocumento' , [ 'id' ], [
'predefined' => 1 ,
'dir' => $dir ,
])[ 'id' ];
2017-08-04 16:28:16 +02:00
?>
2018-02-23 16:04:50 +01:00
< form action = " " method = " post " id = " add-form " >
2017-08-04 16:28:16 +02:00
< input type = " hidden " name = " op " value = " add " >
< input type = " hidden " name = " backto " value = " record-edit " >
2018-02-18 19:53:23 +01:00
< input type = " hidden " name = " dir " value = " <?php echo $dir ; ?> " >
2017-08-04 16:28:16 +02:00
2022-03-09 10:33:55 +01:00
<!-- Fix creazione da Anagrafica -->
< input type = " hidden " name = " id_record " value = " " >
2017-08-04 16:28:16 +02:00
< div class = " row " >
2020-04-22 18:17:25 +02:00
< ? php
if ( $dir == 'uscita' ) {
echo '
< div class = " col-md-3 " >
{[ " type " : " text " , " label " : " '.tr('N. fattura del fornitore').' " , " required " : 1 , " name " : " numero_esterno " , " class " : " text-center " , " value " : " " ]}
</ div > ' ;
$size = 3 ;
} else {
$size = 6 ;
}
?>
< div class = " col-md-<?php echo $size ; ?> " >
2017-09-04 12:02:29 +02:00
{[ " type " : " date " , " label " : " <?php echo tr('Data'); ?> " , " name " : " data " , " required " : 1 , " value " : " -now- " ]}
2017-08-04 16:28:16 +02:00
</ div >
2018-03-07 23:50:28 +01:00
< div class = " col-md-6 " >
2018-07-09 15:27:43 +02:00
{[ " type " : " select " , " label " : " <?php echo $tipo_anagrafica ; ?> " , " name " : " idanagrafica " , " id " : " idanagrafica_add " , " required " : 1 , " ajax-source " : " <?php echo $module['name'] == 'Fatture di vendita' ? 'clienti' : 'fornitori'; ?> " , " value " : " <?php echo $id_anagrafica ; ?> " , " icon-after " : " add|<?php echo Modules::get('Anagrafiche')['id']; ?>|tipoanagrafica=<?php echo $tipo_anagrafica ; ?> " ]}
2017-08-04 16:28:16 +02:00
</ div >
2018-03-07 23:50:28 +01:00
</ div >
< div class = " row " >
< div class = " col-md-6 " >
2021-04-15 18:22:44 +02:00
{[ " type " : " select " , " label " : " <?php echo tr('Tipo documento'); ?> " , " name " : " idtipodocumento " , " required " : 1 , " values " : " query=SELECT id, CONCAT(codice_tipo_documento_fe, ' - ', descrizione) AS descrizione FROM co_tipidocumento WHERE enabled = 1 AND dir = '<?php echo $dir ; ?>' ORDER BY codice_tipo_documento_fe " , " value " : " <?php echo $idtipodocumento ; ?> " ]}
2017-08-04 16:28:16 +02:00
</ div >
2018-09-24 18:10:16 +02:00
2018-03-08 00:45:32 +01:00
< div class = " col-md-6 " >
2022-11-28 09:27:25 +01:00
{[ " type " : " select " , " label " : " <?php echo tr('Sezionale'); ?> " , " name " : " id_segment " , " required " : 1 , " ajax-source " : " segmenti " , " select-options " : < ? php echo json_encode ([ 'id_module' => $id_module , 'is_sezionale' => 1 ]); ?> , "value": "<?php echo $_SESSION['module_'.$id_module]['id_segment']; ?>" ]}
2018-03-08 00:45:32 +01:00
</ div >
2017-08-04 16:28:16 +02:00
</ div >
2021-06-28 17:14:54 +02:00
< div id = " info " class = " hidden " >
< div class = " row " >
< div class = " col-md-6 " >
< div id = " info-title-bozza " class = " box " >
< div class = " box-header with-border " >
< h3 class = " box-title " >< ? php echo tr ( 'Fatture in stato Bozza del cliente' ); ?> </h3>
< div class = " box-tools pull-right " >
< button type = " button " class = " btn btn-box-tool " data - widget = " collapse " >
< i class = " fa fa-minus " ></ i >
</ button >
</ div >
</ div >
< div class = " box-body " id = " info-content-bozza " ></ div >
</ div >
</ div >
< div class = " col-md-6 " >
< div id = " info-title-scadute " class = " box " >
< div class = " box-header with-border " >
< h3 class = " box-title " >< ? php echo tr ( 'Fatture con termini di pagamento trascorsi' ); ?> </h3>
< div class = " box-tools pull-right " >
< button type = " button " class = " btn btn-box-tool " data - widget = " collapse " >
< i class = " fa fa-minus " ></ i >
</ button >
</ div >
</ div >
< div class = " box-body " id = " info-content-scadute " ></ div >
</ div >
2020-03-16 10:04:49 +01:00
</ div >
</ div >
</ div >
2023-01-17 11:34:14 +01:00
<!-- DETTAGLI CLIENTE -->
< div class = " box box-info collapsable collapsed-box " >
< div class = " box-header with-border " >
< h3 class = " box-title " >< ? php echo tr ( 'Dettagli cliente' ); ?> </h3>
< div class = " box-tools pull-right " >
< button type = " button " class = " btn btn-box-tool " data - widget = " collapse " >
< i class = " fa fa-plus " ></ i >
</ button >
</ div >
</ div >
< div class = " box-body " id = " dettagli_cliente " >
< ? php echo tr ( 'Seleziona prima un cliente' ); ?> ...
</ div >
</ div >
2017-08-04 16:28:16 +02:00
<!-- PULSANTI -->
< div class = " row " >
< div class = " col-md-12 text-right " >
2017-09-04 12:02:29 +02:00
< button type = " submit " class = " btn btn-primary " >< i class = " fa fa-plus " ></ i > < ? php echo tr ( 'Aggiungi' ); ?> </button>
2017-08-04 16:28:16 +02:00
</ div >
</ div >
</ form >
2020-03-16 10:04:49 +01:00
< ? php
if ( $dir == 'entrata' ) {
echo '
< script >
$ ( document ) . ready ( function () {
2023-01-17 11:34:14 +01:00
if ( $ ( " #idanagrafica_add " ) . val ()){
// Carico nel panel i dettagli del cliente
$ . get ( " '.base_path().'/ajax_complete.php?module=Interventi&op=dettagli&id_anagrafica= " + $ ( " #idanagrafica_add " ) . val (), function ( data ){
$ ( " #dettagli_cliente " ) . html ( data );
});
}
2020-03-16 10:04:49 +01:00
$ ( " #idanagrafica_add " ) . change ( function () {
2020-08-17 09:47:18 +02:00
let data = $ ( this ) . selectData ();
2020-08-06 11:34:32 +02:00
2020-06-01 14:30:25 +02:00
if ( data !== undefined ) {
2021-06-28 17:14:54 +02:00
$ ( " #info " ) . removeClass ( " hidden " );
2020-03-16 10:04:49 +01:00
2020-06-01 14:30:25 +02:00
$ . ajax ({
url : globals . rootdir + " /actions.php " ,
type : " POST " ,
dataType : " json " ,
data : {
id_module : globals . id_module ,
id_anagrafica : data . id ,
op : " fatture_bozza " ,
},
success : function ( results ) {
2021-06-28 17:14:54 +02:00
2020-11-06 15:52:01 +01:00
$ ( " #info " ) . removeClass ( " box-info " );
$ ( " #info " ) . removeClass ( " box-warning " );
2020-06-01 14:30:25 +02:00
if ( results . length === 0 ){
2021-06-28 17:14:54 +02:00
$ ( " #info-title-bozza " ) . addClass ( " box-info " );
$ ( " #info-title-bozza " ) . removeClass ( " box-warning " );
$ ( " #info-content-bozza " ) . html ( " <p>'.tr('Per il cliente selezionato non è presente alcuna fattura in stato Bozza').'</p> " )
2020-06-01 14:30:25 +02:00
} else {
2020-08-17 09:47:18 +02:00
let content = " " ;
2020-06-01 14:30:25 +02:00
results . forEach ( function ( item ) {
content += " <li> " + item + " </li> " ;
});
2021-06-28 17:14:54 +02:00
$ ( " #info-title-bozza " ) . addClass ( " box-warning " );
$ ( " #info-title-bozza " ) . removeClass ( " box-info " );
$ ( " #info-content-bozza " ) . html ( " <p>'.tr('Attenzione: per il cliente selezionato sono presenti le seguenti fatture in stato Bozza').':</p><ul> " + content + " </ul> " )
2020-06-01 14:30:25 +02:00
}
2020-03-16 10:04:49 +01:00
}
2020-06-01 14:30:25 +02:00
});
2021-06-28 17:14:54 +02:00
$ . ajax ({
url : globals . rootdir + " /actions.php " ,
type : " POST " ,
dataType : " json " ,
data : {
id_module : globals . id_module ,
id_anagrafica : data . id ,
op : " fatture_scadute " ,
},
success : function ( results ) {
$ ( " #info " ) . removeClass ( " box-info " );
$ ( " #info " ) . removeClass ( " box-warning " );
if ( results . length === 0 ){
$ ( " #info-title-scadute " ) . addClass ( " box-info " );
$ ( " #info-title-scadute " ) . removeClass ( " box-warning " );
$ ( " #info-content-scadute " ) . html ( " <p>'.tr('Per il cliente selezionato non è presente alcuna fattura Scaduta').'</p> " )
} else {
let content = " " ;
results . forEach ( function ( item ) {
content += " <li> " + item + " </li> " ;
});
$ ( " #info-title-scadute " ) . addClass ( " box-warning " );
$ ( " #info-title-scadute " ) . removeClass ( " box-info " );
$ ( " #info-content-scadute " ) . html ( " <p>'.tr('Attenzione: per il cliente selezionato le seguenti fatture presentamento una o più rate scadute').':</p><ul> " + content + " </ul> " )
}
}
});
2023-01-17 11:34:14 +01:00
// Carico nel panel i dettagli del cliente
$ . get ( " '.base_path().'/ajax_complete.php?module=Interventi&op=dettagli&id_anagrafica= " + data . id , function ( data ){
$ ( " #dettagli_cliente " ) . html ( data );
});
2021-06-28 17:14:54 +02:00
} else {
2023-01-17 11:34:14 +01:00
$ ( " #dettagli_cliente " ) . html ( " '.tr('Seleziona prima un cliente').'... " );
2021-06-28 17:14:54 +02:00
$ ( " #info " ) . addClass ( " hidden " );
return ;
2020-06-01 14:30:25 +02:00
}
2020-03-16 10:04:49 +01:00
})
})
</ script > ' ;
}