Segmento Attività/Promemoria per attività
Migliorata coda di invio
This commit is contained in:
parent
e9aa41b1b9
commit
7ee366514a
|
@ -1,8 +1,24 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
use Notifications\EmailNotification;
|
||||||
|
|
||||||
switch (post('op')) {
|
switch (post('op')) {
|
||||||
|
case 'send':
|
||||||
|
|
||||||
|
$email = EmailNotification::build($mail);
|
||||||
|
|
||||||
|
// Invio mail
|
||||||
|
if ($email->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':
|
case 'retry':
|
||||||
$mail->attempt = 0;
|
$mail->attempt = 0;
|
||||||
|
|
||||||
|
@ -13,7 +29,7 @@ switch (post('op')) {
|
||||||
if (empty($mail->sent_at)) {
|
if (empty($mail->sent_at)) {
|
||||||
$mail->delete();
|
$mail->delete();
|
||||||
|
|
||||||
flash()->info(tr('Email rimossa dalla coda di invio!'));
|
flash()->info(tr('Email rimossa dalla coda di invio.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
|
use Modules\Emails\Mail;
|
||||||
|
|
||||||
|
switch (post('op')) {
|
||||||
|
|
||||||
|
case 'delete-bulk':
|
||||||
|
$i = 0;
|
||||||
|
foreach ($id_records as $id_record) {
|
||||||
|
|
||||||
|
if (isset($id_record)) {
|
||||||
|
$mail = Mail::find($id_record);
|
||||||
|
if (empty($mail->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' => '<span><i class="fa fa-trash"></i> '.tr('Elimina selezionati').'</span>',
|
||||||
|
'data' => [
|
||||||
|
'msg' => tr('Vuoi davvero eliminare dalla coda di invio le email selezionate?'),
|
||||||
|
'button' => tr('Procedi'),
|
||||||
|
'class' => 'btn btn-lg btn-danger',
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
return $operations;
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
if (( $record['attempt'] >= 10) && empty($record['sent_at'])) {
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<span class="label label-danger">
|
||||||
|
<i class="fa fa-times"></i> '.tr('Email fallita il: ').Translator::timestampToLocale($record['failed_at']).'
|
||||||
|
</span> ';
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<a class="btn btn-warning ask" data-backto="record-edit" data-msg="'.tr("Rimettere in coda l'email?").'" data-op="retry" data-button="'.tr('Rimetti in coda').'" data-class="btn btn-lg btn-warning" >
|
||||||
|
<i class="fa fa-refresh"></i> '.tr('Rimetti in coda').'
|
||||||
|
</a>';
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<a class="btn btn-info ask" data-backto="record-edit" data-msg="'.tr("Inviare immediatamente l'email?").'" data-op="send" data-button="'.tr('Invia').'" data-class="btn btn-lg btn-info" >
|
||||||
|
<i class="fa fa-envelope"></i> '.tr('Invia immeditamente').'
|
||||||
|
</a>';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}else if (!empty($record['sent_at'])) {
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<span class="label label-success">
|
||||||
|
<i class="fa fa-success"></i> '.tr('Email inviata il: ').Translator::timestampToLocale($record['sent_at']).'
|
||||||
|
</span>';
|
||||||
|
|
||||||
|
}
|
|
@ -148,16 +148,10 @@ echo '
|
||||||
'.$mail->content.'
|
'.$mail->content.'
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
|
//Posso eliminare l'email solo se questa non è già stata inviata
|
||||||
if (empty($mail->sent_at)) {
|
if (empty($mail->sent_at)) {
|
||||||
echo '
|
echo '
|
||||||
<a class="btn btn-danger ask" data-backto="record-list">
|
<a class="btn btn-danger ask" data-backto="record-list">
|
||||||
<i class="fa fa-trash"></i> '.tr('Elimina').'
|
<i class="fa fa-trash"></i> '.tr('Elimina').'
|
||||||
</a>';
|
</a>';
|
||||||
|
|
||||||
if ($mail->attempt >= 10) {
|
|
||||||
echo '
|
|
||||||
<a class="btn btn-warning ask pull-right" data-backto="record-edit" data-msg="'.tr("Rimettere in coda l'email?").'" data-op="retry" data-button="'.tr('Rimetti in coda').'" data-class="btn btn-lg btn-warning" >
|
|
||||||
<i class="fa fa-refresh"></i> '.tr('Rimetti in coda').'
|
|
||||||
</a>';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,3 +26,9 @@ UPDATE `dt_ddt` SET `data_ora_trasporto` = NULL WHERE `dt_ddt`.`id` = '0000-00-0
|
||||||
|
|
||||||
-- fix widget Contratti in scadenza
|
-- 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';
|
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);
|
||||||
|
|
Loading…
Reference in New Issue