From 8dba03e2bbe5194ba795b1af16cea2364ae78b6b Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Fri, 27 Oct 2023 10:23:52 +0200 Subject: [PATCH] Aggiunta modulo Gestione task --- modules/gestione-task/actions.php | 37 +++++++ modules/gestione-task/edit.php | 165 ++++++++++++++++++++++++++++++ modules/gestione-task/init.php | 24 +++++ update/2_4_51.sql | 13 ++- 4 files changed, 238 insertions(+), 1 deletion(-) create mode 100644 modules/gestione-task/actions.php create mode 100644 modules/gestione-task/edit.php create mode 100644 modules/gestione-task/init.php diff --git a/modules/gestione-task/actions.php b/modules/gestione-task/actions.php new file mode 100644 index 000000000..cca2f746b --- /dev/null +++ b/modules/gestione-task/actions.php @@ -0,0 +1,37 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +switch (post('op')) { + case 'update': + + $dbo->update('zz_tasks', [ + 'name' => (count($dbo->fetchArray('SELECT `name` FROM `zz_tasks` WHERE `name` = '.prepare(post('name')))) > 0) ? $dbo->fetchOne('SELECT `name` FROM `zz_tasks` WHERE `id` ='.$id_record)['name'] : post('name'), + 'class' => post('class'), + 'expression' => post('expression'), + ], ['id' => $id_record]); + + flash()->info(tr('Informazioni salvate correttamente.')); + + break; + + } + + \ No newline at end of file diff --git a/modules/gestione-task/edit.php b/modules/gestione-task/edit.php new file mode 100644 index 000000000..df7249e8b --- /dev/null +++ b/modules/gestione-task/edit.php @@ -0,0 +1,165 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +echo ' +
+ + + + +
+
+ {[ "type": "text", "label": "'.tr('Nome').'", "name": "name", "required": 1, "value": "$name$" ]} +
+
+ {[ "type": "text", "label": "'.tr('Classe').'", "name": "class", "required": 1, "value": "$class$" ]} +
+
+ {[ "type": "date", "label": "'.tr('Data prossima esecuzione').'", "name": "next_execution_at", "value": "$next_execution_at$", "readonly": 1 ]} +
+
+ {[ "type": "date", "label": "'.tr('Data precedente esecuzione').'", "name": "last_executed_at", "value": "$last_executed_at$", "readonly": 1 ]} +
+
+
+
+ {[ "type": "text", "label": "'.tr('Espressione').'", "name": "expression", "required": 1, "class": "text-center", "value": "$expression$", "extra": "", "readonly": 1 ]} +
'; +$expression = $record['expression']; + +preg_match('/(.*?) (.*?) (.*?) (.*?) (.*?)/U', $record['expression'], $exp); + +$minuto = $exp[1]; +$ora = $exp[2]; +$giorno = $exp[3]; +$mese = $exp[4]; +$giorno_sett = $exp[5]; + +echo ' +
+
+
+ {[ "type": "text", "label": "'.tr('Minuto').'", "name": "minuto", "required": 1, "class": "text-center", "value": "'.$minuto.'", "readonly": 1]} +
+
+ {[ "type": "select", "label": "'.tr(' ').'", "name": "minuti", "value": "'.$minuto.'", "values":"list=\"*\": \"'.tr('Una volta al minuto (*)').'\",\"*/5\": \"'.tr('Una volta ogni cinque minuti (*/5)').'\",\"0,30\": \"'.tr('Una volta ogni trenta minuti (0,30)').'\",\"5\": \"'.tr('Al minuto 5 dell\'ora (5)').'\",\" \": \"'.tr('Personalizzato').'\""]} +
+
+
+
+ {[ "type": "text", "label": "'.tr('Ora').'", "name": "ora", "required": 1, "class": "text-center", "value": "'.$ora.'", "extra": "", "readonly": 1 ]} +
+
+ {[ "type": "select", "label": "'.tr(' ').'", "name": "ore", "value": "'.$ora.'", "values":"list=\"*\": \"'.tr('Ogni ora (*)').'\",\"*/2\": \"'.tr('Ogni due ore (*/2)').'\",\"*/4\": \"'.tr('Ogni 15 minuti (*/4)').'\",\"0,12\": \"'.tr('Ogni 12 ore (0,12)').'\",\"5\": \"'.tr('5:00 a.m. (5)').'\",\"17\": \"'.tr('5:00 p.m. (17)').'\",\" \": \"'.tr('Personalizzato').'\""]} +
+
+
+
+ {[ "type": "text", "label": "'.tr('Giorno').'", "name": "giorno", "required": 1, "class": "text-center", "value": "'.$giorno.'", "extra": "", "readonly": 1]} +
+
+ {[ "type": "select", "label": "'.tr(' ').'", "name": "giorni", "value": "'.$giorno.'", "values":"list=\"*\": \"'.tr('Ogni giorno (*)').'\",\"*/2\": \"'.tr('Ogni due giorni (*/2)').'\",\"1,15\": \"'.tr('Il primo e il 15 del mese (1,15)').'\",\"8\": \"'.tr('Il giorno 8 del mese (8)').'\",\" \": \"'.tr('Personalizzato').'\""]} +
+
+
+
+ {[ "type": "text", "label": "'.tr('Mese').'", "name": "mese", "required": 1, "class": "text-center", "value": "'.$mese.'", "extra": "", "readonly": 1]} +
+
+ {[ "type": "select", "label": "'.tr(' ').'", "name": "mesi", "value": "'.$mese.'", "values":"list=\"*\": \"'.tr('Ogni mese (*)').'\",\"*/2\": \"'.tr('Ogni due mesi (*/2)').'\",\"1,7\": \"'.tr('Ogni 6 mesi (1,7)').'\",\"8\": \"'.tr('Agosto (8)').'\",\" \": \"'.tr('Personalizzato').'\""]} +
+
+
+
+ {[ "type": "text", "label": "'.tr('Giorno della settimana').'", "name": "giorno_sett", "required": 1, "class": "text-center", "value": "'.$giorno_sett.'", "extra": "", "readonly": 1]} +
+
+ {[ "type": "select", "label": "'.tr(' ').'", "name": "giorni_sett", "value": "'.$giorno_sett.'", "values":"list=\"*\": \"'.tr('Ogni giorno (*)').'\",\"*/1-5\": \"'.tr('Ogni giorno della settimana (1-5)').'\",\"0,6\": \"'.tr('Ogni giorno del weekend (0,6)').'\",\"1,3,5\": \"'.tr('Ogni Lunedì, Mercoledì e Venerdì (1,3,5)').'\",\" \": \"'.tr('Personalizzato').'\""]} +
+
+
'; +?> + + \ No newline at end of file diff --git a/modules/gestione-task/init.php b/modules/gestione-task/init.php new file mode 100644 index 000000000..f043d3d78 --- /dev/null +++ b/modules/gestione-task/init.php @@ -0,0 +1,24 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +if (isset($id_record)) { + $record = $dbo->fetchOne('SELECT * FROM zz_tasks WHERE id='.prepare($id_record)); +} diff --git a/update/2_4_51.sql b/update/2_4_51.sql index 2abf79f88..e492cf85d 100644 --- a/update/2_4_51.sql +++ b/update/2_4_51.sql @@ -50,4 +50,15 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, INSERT INTO `zz_settings` (`nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES ("Crea contratto rinnovabile di default", '0', 'boolean', 1, 'Contratti', 2, 'Attivando questa impostazione i nuovi contratti creati saranno impostati automaticamente come Rinnovabili.'); -- Aggiunta impostazione Giorni di preavviso di default alla creazione di un contratto -INSERT INTO `zz_settings` (`nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES ("Giorni di preavviso di default", '2', 'decimal', 1, 'Contratti', 3, 'Inserire il numero di giorni di preavviso da impostare automaticamente alla creazione di un contratto.'); \ No newline at end of file +INSERT INTO `zz_settings` (`nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES ("Giorni di preavviso di default", '2', 'decimal', 1, 'Contratti', 3, 'Inserire il numero di giorni di preavviso da impostare automaticamente alla creazione di un contratto.'); + +-- Aggiunto modulo Gestione task +INSERT INTO `zz_modules` (`name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES ('Gestione task', 'Gestione task','gestione-task', 'SELECT |select| FROM `zz_tasks` WHERE 1=1 HAVING 2=2', '', 'fa fa-calendar', '2.4.51', '2.4.51', '5', (SELECT `id` FROM `zz_modules` t WHERE t.`name` = 'Strumenti'), '1', '1'); + +-- Aggiunta viste Gestione task +INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `default`, `visible`) VALUES +((SELECT `id` FROM `zz_modules` WHERE `name` = 'Gestione task'), 'id', 'id', 1, 0, 0, 1, 0), +((SELECT `id` FROM `zz_modules` WHERE `name` = 'Gestione task'), 'Nome', 'name', 1, 1, 0, 1, 1), +((SELECT `id` FROM `zz_modules` WHERE `name` = 'Gestione task'), 'Expression', 'expression', 2, 1, 0, 0, 1), +((SELECT `id` FROM `zz_modules` WHERE `name` = 'Gestione task'), 'Prossima esecuzione', 'next_execution_at', 3, 1, 0, 0, 1), +((SELECT `id` FROM `zz_modules` WHERE `name` = 'Gestione task'), 'Precedente esecuzione', 'last_executed_at', 4, 1, 0, 0, 1);