2018-09-26 10:49:38 +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 />.
*/
2018-09-26 10:49:38 +02:00
include_once __DIR__ . '/../../core.php' ;
switch ( filter ( 'op' )) {
case 'update' :
$descrizione = filter ( 'descrizione' );
2021-03-31 10:31:23 +02:00
$vettore = post ( 'esterno' );
2024-02-27 11:57:42 +01:00
$predefined = post ( 'predefined' );
2018-09-26 10:49:38 +02:00
2024-04-18 17:44:05 +02:00
if ( empty ( $dbo -> fetchArray ( 'SELECT * FROM `dt_spedizione` LEFT JOIN `dt_spedizione_lang` ON (`dt_spedizione`.`id`=`dt_spedizione_lang`.`id_record` AND `dt_spedizione_lang`.`id_lang`=' . prepare ( Models\Locale :: getDefault () -> id ) . ') WHERE `title`=' . prepare ( $descrizione ) . ' AND `dt_spedizione`.`id`!=' . prepare ( $id_record )))) {
2018-09-26 10:49:38 +02:00
if ( ! empty ( $predefined )) {
2024-02-27 11:57:42 +01:00
$dbo -> query ( 'UPDATE `dt_spedizione` SET `predefined` = 0' );
2018-09-26 10:49:38 +02:00
}
$dbo -> update ( 'dt_spedizione' , [
'predefined' => $predefined ,
2021-03-31 10:31:23 +02:00
'esterno' => $vettore ,
2018-09-26 10:49:38 +02:00
], [ 'id' => $id_record ]);
2024-02-27 11:57:42 +01:00
$dbo -> update ( 'dt_spedizione_lang' , [
'name' => $descrizione ,
2024-03-22 15:52:24 +01:00
], [ 'id_record' => $id_record , 'id_lang' => Models\Locale :: getDefault () -> id ]);
2024-02-27 11:57:42 +01:00
2018-09-26 10:49:38 +02:00
flash () -> info ( tr ( 'Salvataggio completato!' ));
} else {
flash () -> error ( tr ( " E' già presente una tipologia di _TYPE_ con la stessa descrizione " , [
'_TYPE_' => 'spedizione' ,
]));
}
break ;
case 'add' :
$descrizione = filter ( 'descrizione' );
2024-04-18 17:44:05 +02:00
if ( $dbo -> fetchNum ( 'SELECT * FROM `dt_spedizione_lang` WHERE `title`=' . prepare ( $descrizione )) == 0 ) {
2018-09-26 10:49:38 +02:00
$dbo -> insert ( 'dt_spedizione' , [
2024-02-27 11:57:42 +01:00
'predefined' => 0 ,
2018-09-26 10:49:38 +02:00
]);
$id_record = $dbo -> lastInsertedID ();
2024-02-27 11:57:42 +01:00
$dbo -> insert ( 'dt_spedizione_lang' , [
'id_record' => $id_record ,
2024-03-22 15:52:24 +01:00
'id_lang' => Models\Locale :: getDefault () -> id ,
2024-02-27 11:57:42 +01:00
'name' => $descrizione ,
]);
2018-09-26 10:49:38 +02:00
flash () -> info ( tr ( 'Aggiunta nuova tipologia di _TYPE_' , [
'_TYPE_' => 'spedizione' ,
]));
} else {
flash () -> error ( tr ( " E' già presente una tipologia di _TYPE_ con la stessa descrizione " , [
'_TYPE_' => 'spedizione' ,
]));
}
break ;
case 'delete' :
2024-02-27 11:57:42 +01:00
$documenti = $dbo -> fetchNum ( 'SELECT `id` FROM `dt_ddt` WHERE `idspedizione`=' . prepare ( $id_record ) . '
UNION SELECT `id` FROM `co_documenti` WHERE `idspedizione` = ' . prepare ( $id_record ));
2018-09-26 10:49:38 +02:00
2024-04-12 16:59:19 +02:00
if (( ! empty ( $id_record )) && empty ( $documenti )) {
2018-09-26 10:49:38 +02:00
$dbo -> query ( 'DELETE FROM `dt_spedizione` WHERE `id`=' . prepare ( $id_record ));
flash () -> info ( tr ( 'Tipologia di _TYPE_ eliminata con successo!' , [
'_TYPE_' => 'spedizione' ,
]));
} else {
flash () -> error ( tr ( 'Sono presenti dei documenti collegati a questo porto.' ));
}
break ;
}