Skip to content

Commit bb98289

Browse files
committed
feat: Miglioramento gestione log task con modulo di consultazione eventi
1 parent 4c28e9d commit bb98289

7 files changed

Lines changed: 147 additions & 6 deletions

File tree

modules/backups/src/BackupTask.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,25 @@ public function needsExecution()
3535

3636
public function execute()
3737
{
38+
$result = [
39+
'response' => 1,
40+
'message' => tr('Backup generato correttamente!'),
41+
];
42+
3843
if (setting('Backup automatico') && !\Backup::isDailyComplete()) {
3944
\Backup::daily();
45+
}elseif(!setting('Backup automatico')){
46+
$result = [
47+
'response' => 2,
48+
'message' => tr('Backup automatico disattivato'),
49+
];
50+
}else{
51+
$result = [
52+
'response' => 2,
53+
'message' => tr('Backup già eseguito'),
54+
];
4055
}
56+
57+
return $result;
4158
}
4259
}

modules/emails/src/EmailTask.php

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,20 @@ public function needsExecution()
3636

3737
public function execute()
3838
{
39+
$result = [
40+
'response' => 1,
41+
'message' => tr('Email inviate correttamente!'),
42+
];
43+
3944
$lista = database()->fetchArray('SELECT * FROM em_emails WHERE (sent_at IS NULL OR failed_at IS NOT NULL) AND attempt<'.prepare(setting('Numero massimo di tentativi')).' ORDER BY created_at LIMIT 0,'.setting('Numero email da inviare in contemporanea per account'));
4045

46+
if( empty($lista) ){
47+
$result = [
48+
'response' => 1,
49+
'message' => tr('Nessuna email da inviare'),
50+
];
51+
}
52+
4153
foreach ($lista as $mail) {
4254
$mail = Mail::find($mail['id']);
4355

@@ -46,9 +58,14 @@ public function execute()
4658
$email->send();
4759
} catch (Exception $e) {
4860
echo $e;
61+
62+
$result['response'] = 2;
63+
$result['message'] = tr('Errore durante l\'invio delle email: _ERR_', [
64+
'_ERR_' => $e->getMessage(),
65+
])."<br>";
4966
}
5067
}
5168

52-
return $lista;
69+
return $result;
5370
}
5471
}

modules/scadenzario/src/SollecitoTask.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ public function needsExecution()
4444

4545
public function execute()
4646
{
47+
$result = [
48+
'response' => 1,
49+
'message' => tr('Solleciti inviati correttamente!'),
50+
];
51+
4752
if (setting('Invio solleciti in automatico') > 0) {
4853
$giorni_promemoria = setting('Intervallo di giorni in anticipo per invio promemoria scadenza');
4954
$giorni_scadenza = setting('Ritardo in giorni della scadenza della fattura per invio sollecito pagamento');
@@ -264,6 +269,13 @@ public function execute()
264269
}
265270
}
266271
}
272+
}else{
273+
$result = [
274+
'response' => 2,
275+
'message' => tr('Invio solleciti disattivato'),
276+
];
267277
}
278+
279+
return $result;
268280
}
269281
}

modules/stato_email/src/EliminaMailTask.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,31 @@ public function needsExecution()
4444

4545
public function execute()
4646
{
47+
$result = [
48+
'response' => 1,
49+
'message' => tr('Email eliminate correttamente!'),
50+
];
51+
4752
if (setting('Numero di giorni mantenimento coda di invio') > 0) {
4853
$rs = database()->fetchArray('SELECT * FROM em_emails WHERE sent_at<DATE_SUB(NOW(), INTERVAL '.setting('Numero di giorni mantenimento coda di invio').' DAY) AND id_newsletter IS NOT NULL');
4954

55+
if( empty($rs) ){
56+
$result = [
57+
'response' => 1,
58+
'message' => tr('Nessuna email da eliminare'),
59+
];
60+
}
61+
5062
foreach ($rs as $r) {
5163
database()->query('DELETE FROM em_emails WHERE id='.prepare($r['id']));
5264
}
65+
}else{
66+
$result = [
67+
'response' => 2,
68+
'message' => tr('Eliminazione automatica disattivata'),
69+
];
5370
}
71+
72+
return $result;
5473
}
5574
}

plugins/receiptFE/src/ReceiptTask.php

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,35 @@ class ReceiptTask extends Manager
3131
{
3232
public function execute()
3333
{
34+
$result = [
35+
'response' => 1,
36+
'message' => tr('Ricevute importate correttamente!'),
37+
];
38+
3439
if (!Interaction::isEnabled()) {
35-
return;
40+
$result = [
41+
'response' => 2,
42+
'message' => tr('Importazione automatica disattivata'),
43+
];
44+
return $result;
3645
}
3746

3847
$list = Interaction::getReceiptList();
3948

49+
if( empty($list) ){
50+
$result = [
51+
'response' => 1,
52+
'message' => tr('Nessuna ricevuta da importare'),
53+
];
54+
}
55+
4056
// Esecuzione dell'importazione
4157
foreach ($list as $element) {
4258
$name = $element['name'];
4359

4460
Ricevuta::process($name);
4561
}
62+
63+
return $result;
4664
}
4765
}

src/Tasks/Task.php

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,12 @@ class Task extends Model
4444
'last_executed_at' => 'datetime',
4545
];
4646

47-
public function log($level, $message, $context = [])
47+
public function log($level, $message, $context = [], $log = null)
4848
{
4949
if (!empty($context)) {
50-
$log = new Log();
50+
if( empty($log) ){
51+
$log = new Log();
52+
}
5153

5254
$log->level = $level;
5355
$log->message = $message;
@@ -57,12 +59,14 @@ public function log($level, $message, $context = [])
5759

5860
$log->save();
5961
}
62+
63+
return $log;
6064
}
6165

6266
public function execute()
6367
{
6468
// Registrazione dell'inizio nei log
65-
$this->log('info', 'Inizio esecuzione');
69+
$log = $this->log('warning', 'Inizio esecuzione');
6670

6771
// Individuazione del gestore
6872
$class = $this->attributes['class'];
@@ -79,7 +83,8 @@ public function execute()
7983
$this->save();
8084

8185
// Registrazione del completamento nei log
82-
$this->log('info', 'Fine esecuzione');
86+
$level = ($result['response']==1 ? 'info' : ($result['response']==2 ? 'warning' : 'error'));
87+
$this->log($level, 'Fine esecuzione', $result['message'], $log);
8388

8489
return $result;
8590
}

update/2_9.sql

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,3 +172,56 @@ DELETE FROM `co_provvigioni` WHERE `idagente` NOT IN (SELECT `id` FROM `an_anagr
172172
-- Aggiunta foreign key su co_provvigioni
173173
ALTER TABLE `co_provvigioni` ADD CONSTRAINT `co_provvigioni_ibfk_1` FOREIGN KEY (`idagente`) REFERENCES `an_anagrafiche`(`idanagrafica`) ON DELETE CASCADE ON UPDATE RESTRICT;
174174
ALTER TABLE `co_provvigioni` ADD CONSTRAINT `co_provvigioni_ibfk_2` FOREIGN KEY (`idarticolo`) REFERENCES `mg_articoli`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;
175+
176+
-- Modulo per log esecuzione task
177+
INSERT INTO `zz_modules` (`id`, `name`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES (NULL, 'Log task', 'log_task', 'SELECT |select| FROM `zz_tasks_logs` WHERE 1=1 HAVING 2=2', '', 'fa fa-calendar', '2.5.7.1', '2.5.7.1', '5', (SELECT `id` FROM `zz_modules` t WHERE t.`name` = 'Gestione task '), '1', '1');
178+
179+
SELECT @id_module := MAX(id) FROM zz_modules;
180+
INSERT INTO `zz_modules_lang` (`id`, `id_lang`, `id_record`, `title`) VALUES
181+
(NULL, '1', @id_module, 'Log task'),
182+
(NULL, '2', @id_module, 'Log task');
183+
184+
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `visible`, `summable`, `default`, `html_format`) VALUES
185+
(NULL, @id_module, 'id', 'id', '1', '0', '0', '0', NULL, NULL, '0', '0', '0', '0'),
186+
(NULL, @id_module, 'Nome task', '(SELECT `name` FROM `zz_tasks` WHERE `id` = `zz_tasks_logs`.`id_task`)', '2', '1', '0', '0', NULL, NULL, '1', '0', '0', '0'),
187+
(NULL, @id_module, 'Livello', 'level', '3', '1', '0', '0', NULL, NULL, '1', '0', '0', '0'),
188+
(NULL, @id_module, 'Messaggio', 'message', '4', '1', '0', '0', NULL, NULL, '1', '0', '0', '0'),
189+
(NULL, @id_module, 'Contesto', 'IF(CHAR_LENGTH(context) > 200, CONCAT(SUBSTRING(context, 1, 200), \'<a title="\', REPLACE(context, \'"\', \'&quot;\'), \'">\', \'[...]\', \'</a>\') , context )', '5', '1', '0', '0', NULL, NULL, '1', '0', '0', '1'),
190+
(NULL, @id_module, 'contesto_esteso', 'context', '5', '1', '0', '0', NULL, NULL, '0', '0', '0', '1'),
191+
(NULL, @id_module, 'Data inizio', 'created_at', '6', '1', '0', '1', NULL, NULL, '1', '0', '0', '0'),
192+
(NULL, @id_module, 'Data fine', 'updated_at', '6', '1', '0', '1', NULL, NULL, '1', '0', '0', '0'),
193+
(NULL, @id_module, '_bg_', 'IF(level=\'info\', \'#dff0d8\', IF(level=\'error\', \'#f2dede\', \'#fcf8e3\'))
194+
', '4', '1', '0', '0', NULL, NULL, '0', '0', '0', '0'),
195+
(NULL, @id_module, 'Eseguito in', 'CONCAT(TIMESTAMPDIFF(SECOND, created_at, updated_at), \'secondi\')', '7', '1', '0', '1', NULL, NULL, '0', '0', '0', '0');
196+
197+
INSERT INTO `zz_views_lang` (`id`, `id_lang`, `id_record`, `title`) VALUES
198+
(NULL, '1', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'id'), 'id'),
199+
(NULL, '2', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'id'), 'id'),
200+
(NULL, '1', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Nome task'), 'Nome task'),
201+
(NULL, '2', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Nome task'), 'Task name'),
202+
(NULL, '1', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Livello'), 'Livello'),
203+
(NULL, '2', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Livello'), 'Level'),
204+
(NULL, '1', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Messaggio'), 'Messaggio'),
205+
(NULL, '2', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Messaggio'), 'Message'),
206+
(NULL, '1', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Contesto'), 'Contesto'),
207+
(NULL, '2', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Contesto'), 'Context'),
208+
(NULL, '1', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Data inizio'), 'Data inizio'),
209+
(NULL, '2', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Data inizio'), 'Start date'),
210+
(NULL, '1', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Data fine'), 'Data fine'),
211+
(NULL, '2', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Data fine'), 'End date'),
212+
(NULL, '1', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'contesto_esteso'), 'contesto_esteso'),
213+
(NULL, '2', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'contesto_esteso'), 'contesto_esteso'),
214+
(NULL, '1', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Eseguito in'), 'Eseguito in'),
215+
(NULL, '2', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Eseguito in'), 'Executed in'),
216+
(NULL, '1', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = '_bg_'), '_bg_'),
217+
(NULL, '2', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = '_bg_'), '_bg_');
218+
219+
INSERT INTO `zz_segments` (`id`, `id_module`, `name`, `clause`, `position`, `pattern`, `note`, `dicitura_fissa`, `predefined`, `predefined_accredito`, `predefined_addebito`, `autofatture`, `for_fe`, `is_sezionale`, `is_fiscale`) VALUES
220+
(NULL, @id_module, 'Tutti', '1=1', 'WHR', '####', '', '', '1', '0', '0', '0', '0', '0', '1'),
221+
(NULL, @id_module, 'Errori', '1=1 AND Livello=error', 'WHR', '####', '', '', '0', '0', '0', '0', '0', '0', '0');
222+
223+
INSERT INTO `zz_segments_lang` (`id`, `id_lang`, `id_record`, `title`) VALUES
224+
(NULL, '1', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Tutti'), 'Tutti'),
225+
(NULL, '2', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Tutti'), 'All'),
226+
(NULL, '1', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Errori'), 'Errori'),
227+
(NULL, '2', (SELECT `id` FROM `zz_views` WHERE `id_module` = @id_module AND `name` = 'Errori'), 'Errors'):

0 commit comments

Comments
 (0)