2018-04-19 15:16:58 +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-04-19 15:16:58 +02:00
2018-07-07 13:56:22 +02:00
include_once __DIR__ . '/../../core.php' ;
2019-10-04 17:00:53 +02:00
use Modules\CategorieDocumentali\Categoria ;
2018-07-07 13:56:22 +02:00
switch ( post ( 'op' )) {
case 'update' :
2018-07-07 14:24:59 +02:00
$descrizione = post ( 'descrizione' );
// Verifico che il nome non sia duplicato
2024-02-27 09:39:20 +01:00
$count = $dbo -> fetchNum ( 'SELECT `name` FROM `do_categorie` LEFT JOIN `do_categorie_lang` ON (`do_categorie_lang`.`id_record` = `do_categorie`.`id` AND `do_categorie_lang`.`id_lang` = ' . prepare ( setting ( 'Lingua' )) . ') WHERE `name`=' . prepare ( $descrizione ) . ' AND `deleted_at` IS NULL AND `do_categorie`.`id` !=' . prepare ( $id_record ));
2018-07-07 14:24:59 +02:00
if ( $count != 0 ) {
2018-07-19 17:29:21 +02:00
flash () -> error ( tr ( 'Categoria _NAME_ già esistente!' , [
2018-07-19 12:50:34 +02:00
'_NAME_' => $descrizione ,
2018-07-07 14:24:59 +02:00
]));
2018-07-19 12:50:34 +02:00
} else {
2024-02-27 09:39:20 +01:00
$dbo -> query ( 'UPDATE `do_categorie_lang` SET `name` = ' . prepare ( $descrizione ) . ' WHERE `id_record` = ' . prepare ( $id_record ) . ' AND `id_lang` = ' . prepare ( setting ( 'Lingua' )));
2019-10-04 17:00:53 +02:00
$categoria -> syncPermessi ( post ( 'permessi' ) ? : []);
2018-07-07 13:56:22 +02:00
2018-07-19 17:29:21 +02:00
flash () -> info ( tr ( 'Informazioni salvate correttamente!' ));
2018-07-07 13:56:22 +02:00
}
2018-07-07 14:24:59 +02:00
2018-07-07 13:56:22 +02:00
break ;
case 'add' :
2018-07-07 14:24:59 +02:00
$descrizione = post ( 'descrizione' );
2019-10-04 17:00:53 +02:00
// Verifico che il nome non sia duplicato
2024-02-27 09:39:20 +01:00
$count = $dbo -> fetchNum ( 'SELECT `name` FROM `do_categorie` LEFT JOIN `do_categorie_lang` ON (`do_categorie_lang`.`id_record` = `do_categorie`.`id` AND `do_categorie_lang`.`id_lang` = ' . prepare ( setting ( 'Lingua' )) . ') WHERE `name`=' . prepare ( $descrizione ) . ' AND `deleted_at` IS NULL' );
2019-10-04 17:00:53 +02:00
if ( $count != 0 ) {
flash () -> error ( tr ( 'Categoria _NAME_ già esistente!' , [
'_NAME_' => $descrizione ,
]));
} else {
2024-03-06 10:56:09 +01:00
$categoria = Categoria :: build ();
2019-10-04 17:00:53 +02:00
$id_record = $categoria -> id ;
2024-03-06 10:56:09 +01:00
$dbo -> query ( 'INSERT INTO `do_categorie_lang` (`id_record`, `id_lang`, `name`) VALUES (' . prepare ( $id_record ) . ', ' . prepare ( setting ( 'Lingua' )) . ', ' . prepare ( $descrizione ) . ')' );
2019-10-04 17:00:53 +02:00
if ( isAjaxRequest ()) {
echo json_encode ([ 'id' => $id_record , 'text' => $descrizione ]);
2018-07-07 13:56:22 +02:00
}
2019-10-04 17:00:53 +02:00
flash () -> info ( tr ( 'Nuova categoria documenti aggiunta!' ));
2018-07-07 13:56:22 +02:00
}
2018-07-07 14:24:59 +02:00
2018-07-07 13:56:22 +02:00
break ;
case 'delete' :
2024-02-27 09:39:20 +01:00
$dbo -> query ( 'UPDATE `do_categorie` SET `deleted_at` = NOW() WHERE `id` = ' . prepare ( $id_record ));
2018-07-07 14:24:59 +02:00
2019-10-04 17:00:53 +02:00
flash () -> info ( tr ( 'Categoria documenti eliminata!' ));
2018-07-07 13:56:22 +02:00
break ;
}