2020-12-29 00:39:30 +01:00
< ? php
/*
* 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-12-29 00:39:30 +01: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 />.
*/
include_once __DIR__ . '/../../core.php' ;
switch ( filter ( 'op' )) {
case 'update' :
$descrizione = filter ( 'descrizione' );
$dir = filter ( 'dir' );
$codice_tipo_documento_fe = filter ( 'codice_tipo_documento_fe' );
if ( isset ( $descrizione ) && isset ( $dir ) && isset ( $codice_tipo_documento_fe )) {
2024-02-26 15:53:39 +01:00
if ( $dbo -> fetchNum ( 'SELECT * FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = ' . prepare ( setting ( 'Lingua' )) . ') WHERE `dir`=' . prepare ( $dir ) . ' AND `name`=' . prepare ( $descrizione ) . ' AND `codice_tipo_documento_fe`=' . prepare ( $codice_tipo_documento_fe ) . ' AND `id`!=' . prepare ( $id_record )) == 0 ) {
2020-12-29 00:39:30 +01:00
$predefined = post ( 'predefined' );
if ( ! empty ( $predefined )) {
2024-02-26 15:53:39 +01:00
$dbo -> query ( 'UPDATE `co_tipidocumento` SET `predefined` = 0 WHERE `dir` = ' . prepare ( $dir ));
2020-12-29 00:39:30 +01:00
}
$dbo -> update ( 'co_tipidocumento' , [
'dir' => $dir ,
'codice_tipo_documento_fe' => $codice_tipo_documento_fe ,
'help' => filter ( 'help' ),
'predefined' => $predefined ,
2020-12-29 01:11:11 +01:00
'enabled' => post ( 'enabled' ),
2023-09-27 17:08:33 +02:00
'id_segment' => post ( 'id_segment' ),
2020-12-29 00:39:30 +01:00
], [ 'id' => $id_record ]);
2024-02-26 15:53:39 +01:00
$dbo -> update ( 'co_tipidocumento_lang' , [
'name' => $descrizione ,
], [ 'id_record' => $id_record , 'id_lang' => setting ( 'Lingua' )]);
2020-12-29 00:39:30 +01:00
flash () -> info ( tr ( 'Salvataggio completato!' ));
} else {
2021-03-12 18:12:26 +01:00
flash () -> error ( tr ( " E' già presente una tipologia di _TYPE_ con la stessa combinazione di direzione, descrizione e tipo documento FE " , [
2020-12-29 00:39:30 +01:00
'_TYPE_' => 'tipo documento' ,
]));
}
} else {
flash () -> error ( tr ( 'Ci sono stati alcuni errori durante il salvataggio' ));
}
break ;
case 'add' :
$descrizione = filter ( 'descrizione' );
$dir = filter ( 'dir' );
$codice_tipo_documento_fe = filter ( 'codice_tipo_documento_fe' );
if ( isset ( $descrizione ) && isset ( $dir ) && isset ( $codice_tipo_documento_fe )) {
2024-02-26 15:53:39 +01:00
if ( $dbo -> fetchNum ( 'SELECT * FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = ' . prepare ( setting ( 'Lingua' )) . ') WHERE `dir`=' . prepare ( $dir ) . ' AND `name`=' . prepare ( $descrizione ) . ' AND `codice_tipo_documento_fe`=' . prepare ( $codice_tipo_documento_fe )) == 0 ) {
2020-12-29 00:39:30 +01:00
$dbo -> insert ( 'co_tipidocumento' , [
'dir' => $dir ,
'codice_tipo_documento_fe' => $codice_tipo_documento_fe ,
]);
$id_record = $dbo -> lastInsertedID ();
2024-02-26 15:53:39 +01:00
$dbo -> insert ( 'co_tipidocumento_lang' , [
'name' => $descrizione ,
'id_record' => $id_record ,
'id_lang' => setting ( 'Lingua' ),
]);
2020-12-29 00:39:30 +01:00
if ( isAjaxRequest ()) {
echo json_encode ([ 'id' => $id_record , 'text' => $descrizione ]);
}
flash () -> info ( tr ( 'Aggiunta nuova tipologia di _TYPE_' , [
'_TYPE_' => 'tipo documento' ,
]));
} else {
2021-03-12 18:12:26 +01:00
flash () -> error ( tr ( " E' già presente una tipologia di _TYPE_ con la stessa combinazione di direzione, descrizione e tipo documento FE " , [
2020-12-29 00:39:30 +01:00
'_TYPE_' => 'tipo documento' ,
]));
}
} else {
flash () -> error ( tr ( 'Ci sono stati alcuni errori durante il salvataggio' ));
}
break ;
case 'delete' :
2024-02-26 15:53:39 +01:00
$documenti = $dbo -> fetchNum ( 'SELECT `id` FROM `co_documenti` WHERE `idtipodocumento` =' . prepare ( $id_record ));
2020-12-29 00:39:30 +01:00
if ( isset ( $id_record ) && empty ( $documenti )) {
$dbo -> query ( 'DELETE FROM `co_tipidocumento` WHERE `id`=' . prepare ( $id_record ));
flash () -> info ( tr ( 'Tipologia di _TYPE_ eliminata con successo.' , [
'_TYPE_' => 'tipo documento' ,
]));
} else {
$dbo -> update ( 'co_tipidocumento' , [
'deleted_at' => date (),
2020-12-29 01:11:11 +01:00
'predefined' => 0 ,
'enabled' => 0 ,
2020-12-29 00:39:30 +01:00
], [ 'id' => $id_record ]);
flash () -> info ( tr ( 'Tipologia di _TYPE_ eliminata con successo.' , [
'_TYPE_' => 'tipo documento' ,
]));
}
break ;
2021-02-18 18:48:44 +01:00
}