From 79c6137bb1469a545452a30ccdc20055a00758f9 Mon Sep 17 00:00:00 2001 From: Luca Date: Fri, 16 Feb 2018 13:16:17 +0100 Subject: [PATCH] =?UTF-8?q?Aggiunta=20la=20possibilit=C3=A0=20di=20cambiar?= =?UTF-8?q?e=20la=20descrizione=20per=20alcuni=20stati=20intervento?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/functions.js | 4 ++++ modules/interventi/add.php | 4 ++-- modules/stati_intervento/actions.php | 32 +++++++++++++++++++--------- modules/stati_intervento/add.php | 2 +- update/2_3_1.sql | 10 ++++++++- 5 files changed, 38 insertions(+), 14 deletions(-) diff --git a/lib/functions.js b/lib/functions.js index 7f1f25b39..dfd774bee 100644 --- a/lib/functions.js +++ b/lib/functions.js @@ -1001,6 +1001,10 @@ function start_inputmask(element) { $(element+'.email-mask').inputmask('Regex', { regex: "^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^-]+(?:\\.[a-zA-Z0-9_!#$%&'*+/=?`{|}~^-]+)*@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", }); + + $(element+'.alphanumeric-mask').inputmask('Regex', { + regex: "[A-Za-z0-9]{10}", + }); if (isMobile.any()) { $(element+'.inputmask-decimal, '+element+'.date-mask, '+element+'.timestamp-mask').each(function () { diff --git a/modules/interventi/add.php b/modules/interventi/add.php index d0f4ba678..8fd15c93b 100644 --- a/modules/interventi/add.php +++ b/modules/interventi/add.php @@ -71,7 +71,7 @@ elseif (!empty($idcontratto) && !empty($idcontratto_riga)) { $idimpianto = implode(',', array_column($rs, 'idimpianto')); // Seleziono "In programmazione" come stato - $rs = $dbo->fetchArray("SELECT * FROM in_statiintervento WHERE descrizione='In programmazione'"); + $rs = $dbo->fetchArray("SELECT * FROM in_statiintervento WHERE codice='WIP'"); $idstatointervento = $rs[0]['idstatointervento']; } @@ -184,7 +184,7 @@ if (empty($new_codice)) {
- {[ "type": "select", "label": "", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento", "value": "" ]} + {[ "type": "select", "label": "", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted = 0", "value": "" ]}
diff --git a/modules/stati_intervento/actions.php b/modules/stati_intervento/actions.php index d6066daff..e161213f6 100644 --- a/modules/stati_intervento/actions.php +++ b/modules/stati_intervento/actions.php @@ -14,7 +14,7 @@ switch (post('op')) { $query = 'UPDATE in_statiintervento SET descrizione='.prepare($descrizione).' WHERE idstatointervento='.prepare($id_record).' AND `default`=0'; $dbo->query($query); - $_SESSION['infos'][] = tr('Informazioni salvate correttamente!'); + $_SESSION['infos'][] = tr('Informazioni salvate correttamente.'); break; @@ -22,20 +22,32 @@ switch (post('op')) { $idstatointervento = post('idstatointervento'); $descrizione = post('descrizione'); $colore = post('colore'); + + + + 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; - $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!'); - + $_SESSION['infos'][] = tr('Nuovo stato di intervento aggiunto.'); + + } + break; case 'delete': - $query = 'DELETE FROM in_statiintervento WHERE idstatointervento='.prepare($id_record).' AND `default`=0'; - $dbo->query($query); + $query = 'UPDATE in_statiintervento SET deleted = 1 WHERE idstatointervento='.prepare($id_record).' AND `default`=0'; + + $dbo->query($query); - $_SESSION['infos'][] = tr('Stato di intervento eliminato!'); + $_SESSION['infos'][] = tr('Stato di intervento eliminato.'); break; } diff --git a/modules/stati_intervento/add.php b/modules/stati_intervento/add.php index 5e386cb1f..ba652eb1f 100644 --- a/modules/stati_intervento/add.php +++ b/modules/stati_intervento/add.php @@ -8,7 +8,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "idstatointervento", "required": 1, "value": "" ]} + {[ "type": "text", "label": "", "name": "idstatointervento", "class": "alphanumeric-mask", "required": 1, "value": "" ]}
diff --git a/update/2_3_1.sql b/update/2_3_1.sql index 109395a37..b410460af 100644 --- a/update/2_3_1.sql +++ b/update/2_3_1.sql @@ -45,9 +45,17 @@ UPDATE `zz_widgets` SET `query` = 'SELECT COUNT(an_anagrafiche.idanagrafica) AS -- Aggiungo 1=1 nel WHERE e 2=2 nel HAVING per il widget tutte le anagrafiche UPDATE `zz_widgets` SET `query` = 'SELECT COUNT(an_anagrafiche.idanagrafica) AS dato FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE 1=1 AND deleted=0 HAVING 2=2' WHERE `zz_widgets`.`name` = 'Tutte le anagrafiche'; - -- Aggiornamento widget "Crediti da clienti" anche con totali parziali UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT(da_pagare-pagato, 2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_tipidocumento.dir=\'entrata\'' WHERE `zz_widgets`.`name` = 'Crediti da clienti'; -- Aggiornamento widget "Debiti verso fornitori" anche con totali parziali UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT( -(da_pagare-pagato), 2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_tipidocumento.dir=\'uscita\'' WHERE `zz_widgets`.`name` = 'Debiti verso fornitori'; + +-- Aggiungo flag deleted per gli stati intervento +ALTER TABLE `in_statiintervento` ADD `deleted` BOOLEAN NOT NULL DEFAULT FALSE AFTER `completato`; + +-- Do la possibilità di modificare la descrizione per lo stato Chiamata e In programmazione +UPDATE `in_statiintervento` SET `default` = '0' WHERE `in_statiintervento`.`idstatointervento` = 'CALL' OR `in_statiintervento`.`idstatointervento` = 'WIP'; + +-- 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';