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' ;
2024-04-19 16:44:08 +02:00
use Modules\DDT\AspettoBeni ;
2017-08-04 16:28:16 +02:00
switch ( post ( 'op' )) {
case 'update' :
$descrizione = post ( 'descrizione' );
2024-04-19 16:44:08 +02:00
if ( isset ( $descrizione )) {
2024-06-11 16:58:27 +02:00
$aspetto_new = AspettoBeni :: where ( 'id' , '=' , ( new AspettoBeni ()) -> getByField ( 'title' , $descrizione )) -> orWhere ( 'name' , $descrizione ) -> where ( 'id' , '!=' , $id_record ) -> first ();
2024-04-19 16:44:08 +02:00
if ( empty ( $aspetto_new )) {
$aspetto -> setTranslation ( 'title' , $descrizione );
if ( Models\Locale :: getDefault () -> id == Models\Locale :: getPredefined () -> id ) {
$aspetto -> name = $descrizione ;
2024-04-23 09:56:36 +02:00
}
2024-04-19 16:44:08 +02:00
$aspetto -> save ();
flash () -> info ( tr ( 'Salvataggio completato.' ));
} else {
flash () -> error ( tr ( " E' già presente un aspetto beni con questa descrizione. " ));
}
2017-08-04 16:28:16 +02:00
} else {
2024-04-19 16:44:08 +02:00
flash () -> error ( tr ( 'Ci sono stati alcuni errori durante il salvataggio' ));
2017-08-04 16:28:16 +02:00
}
2024-04-19 16:44:08 +02:00
2017-08-04 16:28:16 +02:00
break ;
case 'add' :
$descrizione = post ( 'descrizione' );
2024-04-19 16:44:08 +02:00
if ( isset ( $descrizione )) {
2024-06-11 16:58:27 +02:00
if ( empty ( AspettoBeni :: where ( 'id' , '=' , ( new AspettoBeni ()) -> getByField ( 'title' , $descrizione )) -> orWhere ( 'name' , $descrizione ) -> where ( 'id' , '!=' , $id_record ) -> first ())) {
2024-04-19 16:44:08 +02:00
$aspetto = AspettoBeni :: build ();
if ( Models\Locale :: getDefault () -> id == Models\Locale :: getPredefined () -> id ) {
$aspetto -> name = $descrizione ;
}
$aspetto -> save ();
2024-04-23 09:56:36 +02:00
2024-04-19 16:44:08 +02:00
$id_record = $dbo -> lastInsertedID ();
$aspetto -> setTranslation ( 'title' , $descrizione );
$aspetto -> save ();
2018-11-30 16:10:15 +01:00
2024-04-19 16:44:08 +02:00
if ( isAjaxRequest ()) {
echo json_encode ([ 'id' => $id_record , 'text' => $descrizione ]);
}
2024-02-27 09:59:44 +01:00
2024-04-19 16:44:08 +02:00
flash () -> info ( tr ( 'Aggiunto nuovo Aspetto beni.' ));
} else {
flash () -> error ( tr ( " E' già presente un aspetto beni con questa descrizione. " ));
2018-11-30 16:10:15 +01:00
}
2017-08-04 16:28:16 +02:00
} else {
2024-04-19 16:44:08 +02:00
flash () -> error ( tr ( 'Ci sono stati alcuni errori durante il salvataggio' ));
2017-08-04 16:28:16 +02:00
}
break ;
case 'delete' :
2024-02-27 09:59:44 +01:00
$documenti = $dbo -> fetchNum ( 'SELECT `id` FROM `dt_ddt` WHERE `idaspettobeni`=' . prepare ( $id_record ) . ' UNION SELECT `id` FROM `co_documenti` WHERE `idaspettobeni`=' . prepare ( $id_record ));
2018-06-26 14:30:26 +02:00
2024-04-12 16:59:19 +02:00
if (( ! empty ( $id_record )) && empty ( $documenti )) {
2017-08-04 16:28:16 +02:00
$dbo -> query ( 'DELETE FROM `dt_aspettobeni` WHERE `id`=' . prepare ( $id_record ));
2024-02-27 09:59:44 +01:00
flash () -> info ( tr ( 'Aspetto beni eliminato con successo.' ));
2018-06-26 14:30:26 +02:00
} else {
2018-07-19 17:29:21 +02:00
flash () -> error ( tr ( 'Sono presenti dei documenti collegati a questo aspetto beni.' ));
2017-08-04 16:28:16 +02:00
}
break ;
}