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' ;
switch ( filter ( 'op' )) {
case 'update' :
$descrizione = filter ( 'descrizione' );
if ( isset ( $descrizione )) {
2022-04-05 11:59:49 +02:00
if ( $dbo -> fetchNum ( 'SELECT * FROM `dt_causalet` WHERE `deleted_at` IS NULL AND `descrizione`=' . prepare ( $descrizione ) . ' AND `id`!=' . prepare ( $id_record )) == 0 ) {
2018-09-27 12:54:57 +02:00
$predefined = post ( 'predefined' );
2018-09-26 10:49:38 +02:00
if ( ! empty ( $predefined )) {
2018-11-15 17:39:40 +01:00
$dbo -> query ( 'UPDATE dt_causalet SET predefined = 0' );
2018-09-26 10:49:38 +02:00
}
$dbo -> update ( 'dt_causalet' , [
'descrizione' => $descrizione ,
2020-07-14 13:30:25 +02:00
'is_importabile' => filter ( 'is_importabile' ),
2021-01-14 16:03:13 +01:00
'reversed' => filter ( 'reversed' ),
2018-09-26 10:49:38 +02:00
'predefined' => $predefined ,
2023-06-26 15:12:43 +02:00
'is_rientrabile' => filter ( 'is_rientrabile' ),
2018-09-26 10:49:38 +02:00
], [ 'id' => $id_record ]);
2018-07-19 17:29:21 +02:00
flash () -> info ( tr ( 'Salvataggio completato!' ));
2017-08-04 16:28:16 +02:00
} else {
2018-09-26 10:49:38 +02:00
flash () -> error ( tr ( " E' già presente una tipologia di _TYPE_ con la stessa descrizione " , [
2017-09-10 14:35:41 +02:00
'_TYPE_' => 'causale' ,
2018-07-07 13:56:22 +02:00
]));
2017-08-04 16:28:16 +02:00
}
} else {
2020-03-03 10:33:32 +01:00
flash () -> error ( tr ( 'Ci sono stati alcuni errori durante il salvataggio' ));
2017-08-04 16:28:16 +02:00
}
break ;
case 'add' :
$descrizione = filter ( 'descrizione' );
if ( isset ( $descrizione )) {
2022-04-05 11:59:49 +02:00
if ( $dbo -> fetchNum ( 'SELECT * FROM `dt_causalet` WHERE `deleted_at` IS NULL AND `descrizione`=' . prepare ( $descrizione )) == 0 ) {
2018-11-15 15:16:31 +01:00
$dbo -> insert ( 'dt_causalet' , [
'descrizione' => $descrizione ,
2020-07-14 13:30:25 +02:00
'is_importabile' => 1 ,
2018-09-26 10:49:38 +02:00
]);
2017-08-04 16:28:16 +02:00
$id_record = $dbo -> lastInsertedID ();
2018-11-30 16:10:15 +01:00
if ( isAjaxRequest ()) {
2018-11-15 19:06:42 +01:00
echo json_encode ([ 'id' => $id_record , 'text' => $descrizione ]);
}
2017-08-04 16:28:16 +02:00
2018-07-19 17:29:21 +02:00
flash () -> info ( tr ( 'Aggiunta nuova tipologia di _TYPE_' , [
2017-09-10 14:35:41 +02:00
'_TYPE_' => 'causale' ,
2018-07-07 13:56:22 +02:00
]));
2017-08-04 16:28:16 +02:00
} else {
2018-09-26 10:49:38 +02:00
flash () -> error ( tr ( " E' già presente una tipologia di _TYPE_ con la stessa descrizione " , [
2017-09-10 14:35:41 +02:00
'_TYPE_' => 'causale' ,
2018-07-07 13:56:22 +02:00
]));
2017-08-04 16:28:16 +02:00
}
} else {
2018-07-25 12:34:54 +02:00
flash () -> error ( tr ( 'Ci sono stati alcuni errori durante il salvataggio' ));
2017-08-04 16:28:16 +02:00
}
break ;
case 'delete' :
2018-03-27 23:59:20 +02:00
$documenti = $dbo -> fetchNum ( 'SELECT id FROM dt_ddt WHERE idcausalet=' . prepare ( $id_record ) . '
UNION SELECT id FROM co_documenti WHERE idcausalet = ' . prepare ( $id_record ));
if ( isset ( $id_record ) && empty ( $documenti )) {
2017-08-04 16:28:16 +02:00
$dbo -> query ( 'DELETE FROM `dt_causalet` WHERE `id`=' . prepare ( $id_record ));
2018-06-26 14:30:26 +02:00
} else {
2021-09-13 09:47:40 +02:00
$dbo -> update ( 'dt_causalet' , [
'deleted_at' => date ( 'Y-m-d H:i:s' ),
], [ 'id' => $id_record ]);
2017-08-04 16:28:16 +02:00
}
2021-09-08 12:33:57 +02:00
flash () -> info ( tr ( 'Tipologia di _TYPE_ eliminata con successo.' , [
'_TYPE_' => 'causale' ,
]));
2017-08-04 16:28:16 +02:00
break ;
}