From 7ee366514a1a6f36c226517d3d0c930885352358 Mon Sep 17 00:00:00 2001 From: Luca Date: Mon, 22 Jun 2020 16:57:43 +0200 Subject: [PATCH] =?UTF-8?q?Segmento=20Attivit=C3=A0/Promemoria=20per=20att?= =?UTF-8?q?ivit=C3=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Migliorata coda di invio --- modules/stato_email/actions.php | 18 +++++++++++++- modules/stato_email/bulk.php | 42 +++++++++++++++++++++++++++++++++ modules/stato_email/buttons.php | 29 +++++++++++++++++++++++ modules/stato_email/edit.php | 8 +------ update/2_4_16.sql | 6 +++++ 5 files changed, 95 insertions(+), 8 deletions(-) create mode 100644 modules/stato_email/bulk.php create mode 100644 modules/stato_email/buttons.php diff --git a/modules/stato_email/actions.php b/modules/stato_email/actions.php index 652a283f0..eb4ff8e9f 100755 --- a/modules/stato_email/actions.php +++ b/modules/stato_email/actions.php @@ -1,8 +1,24 @@ send()){ + $mail->sent_at = date("Y-m-d H:i:s"); + $mail->save(); + flash()->info(tr('Email inviata.')); + }else{ + flash()->error(tr('Errore durante invio email.')); + } + + break; + case 'retry': $mail->attempt = 0; @@ -13,7 +29,7 @@ switch (post('op')) { if (empty($mail->sent_at)) { $mail->delete(); - flash()->info(tr('Email rimossa dalla coda di invio!')); + flash()->info(tr('Email rimossa dalla coda di invio.')); } break; diff --git a/modules/stato_email/bulk.php b/modules/stato_email/bulk.php new file mode 100644 index 000000000..b46bde98a --- /dev/null +++ b/modules/stato_email/bulk.php @@ -0,0 +1,42 @@ +sent_at)) { + $mail->delete(); + $i++; + } + } + } + + if ($i>0){ + flash()->info(tr($i.' email rimosse dalla coda di invio.')); + }else{ + flash()->warning(tr('Nessuna email rimossa dalla coda di invio.')); + } + + break; +} + + +$operations['delete-bulk'] = [ + 'text' => ' '.tr('Elimina selezionati').'', + 'data' => [ + 'msg' => tr('Vuoi davvero eliminare dalla coda di invio le email selezionate?'), + 'button' => tr('Procedi'), + 'class' => 'btn btn-lg btn-danger', + ], +]; + + +return $operations; \ No newline at end of file diff --git a/modules/stato_email/buttons.php b/modules/stato_email/buttons.php new file mode 100644 index 000000000..acf3964b2 --- /dev/null +++ b/modules/stato_email/buttons.php @@ -0,0 +1,29 @@ += 10) && empty($record['sent_at'])) { + + echo ' + + '.tr('Email fallita il: ').Translator::timestampToLocale($record['failed_at']).' +  '; + + echo ' + + '.tr('Rimetti in coda').' + '; + + echo ' + + '.tr('Invia immeditamente').' + '; + + + +}else if (!empty($record['sent_at'])) { + + echo ' + + '.tr('Email inviata il: ').Translator::timestampToLocale($record['sent_at']).' + '; + +} \ No newline at end of file diff --git a/modules/stato_email/edit.php b/modules/stato_email/edit.php index 8d7339fbf..52f356fcf 100755 --- a/modules/stato_email/edit.php +++ b/modules/stato_email/edit.php @@ -148,16 +148,10 @@ echo ' '.$mail->content.' '; +//Posso eliminare l'email solo se questa non è già stata inviata if (empty($mail->sent_at)) { echo ' '.tr('Elimina').' '; - - if ($mail->attempt >= 10) { - echo ' - - '.tr('Rimetti in coda').' -'; - } } diff --git a/update/2_4_16.sql b/update/2_4_16.sql index cf89cf51a..ecfcdea4d 100644 --- a/update/2_4_16.sql +++ b/update/2_4_16.sql @@ -26,3 +26,9 @@ UPDATE `dt_ddt` SET `data_ora_trasporto` = NULL WHERE `dt_ddt`.`id` = '0000-00-0 -- fix widget Contratti in scadenza UPDATE `zz_widgets` SET `query` = 'SELECT COUNT(dati.id) AS dato FROM(SELECT id, ((SELECT SUM(co_righe_contratti.qta) FROM co_righe_contratti WHERE co_righe_contratti.um=''ore'' AND co_righe_contratti.idcontratto=co_contratti.id) - IFNULL( (SELECT SUM(in_interventi_tecnici.ore) FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE in_interventi.id_contratto=co_contratti.id AND in_interventi.idstatointervento IN (SELECT in_statiintervento.idstatointervento FROM in_statiintervento WHERE in_statiintervento.is_completato = 1)), 0) ) AS ore_rimanenti, DATEDIFF(data_conclusione, NOW()) AS giorni_rimanenti, data_conclusione, ore_preavviso_rinnovo, giorni_preavviso_rinnovo, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=co_contratti.idanagrafica) AS ragione_sociale FROM co_contratti WHERE idstato IN (SELECT id FROM co_staticontratti WHERE is_fatturabile = 1) AND rinnovabile = 1 AND YEAR(data_conclusione) > 1970 AND (SELECT id FROM co_contratti contratti WHERE contratti.idcontratto_prev = co_contratti.id) IS NULL HAVING (ore_rimanenti < ore_preavviso_rinnovo OR DATEDIFF(data_conclusione, NOW()) < ABS(giorni_preavviso_rinnovo)) ORDER BY giorni_rimanenti ASC, ore_rimanenti ASC) dati' WHERE `zz_widgets`.`name` = 'Contratti in scadenza'; + +-- Segmento Attività/Promemoria per attività. +INSERT INTO `zz_segments` (`id`, `id_module`, `name`, `clause`, `position`, `pattern`, `note`, `predefined`, `predefined_accredito`, `predefined_addebito`, `is_fiscale`) VALUES +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'), 'Tutti', '1=1', 'WHR', '####', '', 1, 0, 0, 0), +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'), 'Attività', 'orario_inizio BETWEEN ''|period_start|'' AND ''|period_end|'' OR orario_fine BETWEEN ''|period_start|'' AND ''|period_end|''', 'WHR', '####', '', 0, 0, 0, 0), +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'), 'Promemoria', '((in_interventi_tecnici.orario_inizio=''0000-00-00 00:00:00'' AND in_interventi_tecnici.orario_fine=''0000-00-00 00:00:00'') OR in_interventi_tecnici.id IS NULL)', 'WHR', '####', '', 0, 0, 0, 0);