From a690141e664eadf101a9279679fcfa018a01b736 Mon Sep 17 00:00:00 2001 From: Luca Date: Fri, 16 Feb 2018 16:01:54 +0100 Subject: [PATCH] Spostato il controllo per elimnazione dello stato intervento dal campo "default" al campo "can_delete" --- modules/interventi/edit.php | 2 +- modules/stati_intervento/actions.php | 21 ++++++++++----------- update/2_3_1.sql | 1 - 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/modules/interventi/edit.php b/modules/interventi/edit.php index 841ae7b1c..15af8d52d 100644 --- a/modules/interventi/edit.php +++ b/modules/interventi/edit.php @@ -155,7 +155,7 @@ if (empty($records[0]['firma_file'])) {
- {[ "type": "select", "label": "", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento", "value": "$idstatointervento$" ]} + {[ "type": "select", "label": "", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted = 0", "value": "$idstatointervento$" ]}
diff --git a/modules/stati_intervento/actions.php b/modules/stati_intervento/actions.php index e161213f6..0ca96b01d 100644 --- a/modules/stati_intervento/actions.php +++ b/modules/stati_intervento/actions.php @@ -10,8 +10,8 @@ switch (post('op')) { $query = 'UPDATE in_statiintervento SET colore='.prepare($colore).' WHERE idstatointervento='.prepare($id_record); $dbo->query($query); - // Aggiorna descrizione solo se non è uno stato di default - $query = 'UPDATE in_statiintervento SET descrizione='.prepare($descrizione).' WHERE idstatointervento='.prepare($id_record).' AND `default`=0'; + // Aggiorna descrizione + $query = 'UPDATE in_statiintervento SET descrizione='.prepare($descrizione).' WHERE idstatointervento='.prepare($id_record); $dbo->query($query); $_SESSION['infos'][] = tr('Informazioni salvate correttamente.'); @@ -23,27 +23,26 @@ switch (post('op')) { $descrizione = post('descrizione'); $colore = post('colore'); - - + //controllo idstatointervento che non sia duplicato if (count($dbo->fetchArray('SELECT idstatointervento FROM in_statiintervento WHERE idstatointervento='.prepare($idstatointervento).''))>0){ - $_SESSION['errors'][] = tr('Stato di intervento già esistente.'); - }else{ - - $query = 'INSERT INTO in_statiintervento(idstatointervento, descrizione, colore) VALUES ('.prepare($idstatointervento).', '.prepare($descrizione).', '.prepare($colore).')'; $dbo->query($query); $id_record = $idstatointervento; - $_SESSION['infos'][] = tr('Nuovo stato di intervento aggiunto.'); - } break; case 'delete': - $query = 'UPDATE in_statiintervento SET deleted = 1 WHERE idstatointervento='.prepare($id_record).' AND `default`=0'; + + //scelgo se settare come eliminato o cancellare direttamente la riga se non è stato utilizzato negli interventi + if (count($dbo->fetchArray('SELECT id FROM in_interventi WHERE idstatointervento='.prepare($id_record).''))>0){ + $query = 'UPDATE in_statiintervento SET deleted = 1 WHERE idstatointervento='.prepare($id_record).' AND `can_delete`=1'; + }else{ + $query = 'DELETE FROM in_statiintervento WHERE idstatointervento='.prepare($id_record).' AND `can_delete`=1'; + } $dbo->query($query); diff --git a/update/2_3_1.sql b/update/2_3_1.sql index 4570e1a8b..304ce1f63 100644 --- a/update/2_3_1.sql +++ b/update/2_3_1.sql @@ -57,7 +57,6 @@ ALTER TABLE `in_statiintervento` ADD `deleted` BOOLEAN NOT NULL DEFAULT FALSE AF -- Aggiorno query modulo stati intervento UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `in_statiintervento` WHERE 1=1 AND deleted = 0 HAVING 2=2' WHERE `zz_modules`.`name` = 'Stati di intervento'; - -- Aggiungo il flag can_delete ed elimino il flag `default` in quanto non serve più ALTER TABLE `in_statiintervento` ADD `can_delete` BOOLEAN NOT NULL DEFAULT TRUE AFTER `default`; ALTER TABLE `in_statiintervento` DROP `default`;