From f12103192bb9621c8575e509314dcdf90d3e5777 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Tue, 18 Sep 2018 17:58:15 +0200 Subject: [PATCH] Miglioramento orari lavorativi (#287) --- modules/dashboard/edit.php | 12 ++++++------ src/Settings.php | 22 ++++++++++++---------- update/2_4_2.sql | 7 +++++++ 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/modules/dashboard/edit.php b/modules/dashboard/edit.php index 6df4aa376..37bbc628d 100644 --- a/modules/dashboard/edit.php +++ b/modules/dashboard/edit.php @@ -574,12 +574,12 @@ if (empty($domenica)) { slotDuration: '00:15:00', defaultView: '', lazyFetching: true, selectHelper: true, diff --git a/src/Settings.php b/src/Settings.php index f60010859..85b95e68d 100644 --- a/src/Settings.php +++ b/src/Settings.php @@ -135,16 +135,18 @@ class Settings // Lista predefinita if (preg_match("/list\[(.+?)\]/", $setting->tipo, $m)) { - $m = explode(',', $m[1]); - $list = ''; - for ($j = 0; $j < count($m); ++$j) { - if ($j != 0) { - $list .= ','; - } - $list .= '\\"'.$m[$j].'\\": \\"'.$m[$j].'\\"'; + $values = explode(',', $m[1]); + + $list = []; + foreach ($values as $value) { + $list[] = [ + 'id' => $value, + 'text' => $value, + ]; } + $result = ' - {[ "type": "select", "label": "'.$setting->nome.'", "name": "setting['.$setting->id.']", "values": "list='.$list.'", "value": "'.$setting->valore.'", "required": "'.intval($required).'" ]}'; + {[ "type": "select", "label": "'.$setting->nome.'", "name": "setting['.$setting->id.']", "values": '.json_encode($list).', "value": "'.$setting->valore.'", "required": "'.intval($required).'" ]}'; } // Lista da query @@ -159,8 +161,8 @@ class Settings {[ "type": "checkbox", "label": "'.$setting->nome.'", "name": "setting['.$setting->id.']", "placeholder": "'.tr('Attivo').'", "value": "'.$setting->valore.'", "required": "'.intval($required).'" ]}'; } - // Textarea - elseif ($setting->tipo == 'textarea' || $setting->tipo == 'ckeditor') { + // Campi di default + elseif (in_array($setting->tipo, ['textarea', 'ckeditor', 'timestamp', 'date', 'time'])) { $result = ' {[ "type": "'.$setting->tipo.'", "label": "'.$setting->nome.'", "name": "setting['.$setting->id.']", "value": '.json_encode($setting->valore).', "required": "'.intval($required).'" ]}'; } diff --git a/update/2_4_2.sql b/update/2_4_2.sql index 7a2606b30..40adf3233 100644 --- a/update/2_4_2.sql +++ b/update/2_4_2.sql @@ -293,3 +293,10 @@ DROP TABLE `co_preventivi_interventi`; -- Aggiunto input CKEditor automatico UPDATE `zz_settings` SET `tipo` = 'ckeditor' WHERE `nome` = 'Dicitura fissa fattura'; + +-- Miglioramento dell'impostazione "Orario lavorativo" +UPDATE `zz_settings` SET `sezione` = 'Dashboard' WHERE `nome` IN ('Vista dashboard', 'Visualizzare la domenica sul calendario', 'Utilizzare i tooltip sul calendario'); +DELETE FROM `zz_settings` WHERE `nome` = 'Abilitare orario lavorativo'; +INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES +(NULL, 'Inizio orario lavorativo', '00:00:00', 'time', 1, 'Dashboard', 1), +(NULL, 'Fine orario lavorativo', '23:59:00', 'time', 1, 'Dashboard', 2);