Aggiunti 2 flag negli stati interventi per inviare in automatico mail cambio stato al cliente/tecnici
This commit is contained in:
parent
de4510490a
commit
c6296fd438
|
@ -44,6 +44,7 @@ Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://k
|
|||
- Aggiunta possibilità di importare ddt di acquisto nei ddt di vendita
|
||||
- Aggiunta possibilità di creare una nota di credito da un ddt di acquisto
|
||||
- Aggiunta stampa del bilancio
|
||||
- Aggiunta possibilità di notificare al cliente/tecnico in modo automatico quando viene cambiato lo stato dell'intervento
|
||||
|
||||
### Modificato (Changed)
|
||||
- Impostazione CAP automatico a 99999 nella FE per clienti esteri
|
||||
|
|
|
@ -76,12 +76,39 @@ switch (post('op')) {
|
|||
|
||||
// Notifica chiusura intervento
|
||||
$stato = $dbo->selectOne('in_statiintervento', '*', ['idstatointervento' => post('idstatointervento')]);
|
||||
if (!empty($stato['notifica']) && !empty($stato['destinatari']) && $stato['idstatointervento'] != $record['idstatointervento']) {
|
||||
if (!empty($stato['notifica']) && $stato['idstatointervento'] != $record['idstatointervento']) {
|
||||
$template = Template::find($stato['id_email']);
|
||||
|
||||
$mail = Mail::build(auth()->getUser(), $template, $id_record);
|
||||
$mail->addReceiver($stato['destinatari']);
|
||||
$mail->save();
|
||||
if(!empty($stato['destinatari'])){
|
||||
$mail = Mail::build(auth()->getUser(), $template, $id_record);
|
||||
$mail->addReceiver($stato['destinatari']);
|
||||
$mail->save();
|
||||
}
|
||||
|
||||
if(!empty($stato['notifica_cliente'])){
|
||||
$mail_cliente = $dbo->selectOne('an_anagrafiche', '*', ['idanagrafica' => post('idanagrafica')]);
|
||||
if(!empty($mail_cliente['email'])){
|
||||
$mail = Mail::build(auth()->getUser(), $template, $id_record);
|
||||
$mail->addReceiver($mail_cliente['email']);
|
||||
$mail->save();
|
||||
}
|
||||
}
|
||||
|
||||
if(!empty($stato['notifica_tecnici'])){
|
||||
$tecnici_intervento = $dbo->select('in_interventi_tecnici', 'idtecnico', ['idintervento' => $id_record]);
|
||||
$tecnici_assegnati = $dbo->select('in_interventi_tecnici_assegnati', 'id_tecnico AS idtecnico', ['id_intervento' => $id_record]);
|
||||
$tecnici = array_unique(array_merge($tecnici_intervento, $tecnici_assegnati), SORT_REGULAR);
|
||||
|
||||
foreach($tecnici as $tecnico){
|
||||
$mail_tecnico = $dbo->selectOne('an_anagrafiche', '*', ['idanagrafica' => $tecnico]);
|
||||
if(!empty($mail_tecnico['email'])){
|
||||
$mail = Mail::build(auth()->getUser(), $template, $id_record);
|
||||
$mail->addReceiver($mail_tecnico['email']);
|
||||
$mail->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
aggiorna_sedi_movimenti('interventi', $id_record);
|
||||
flash()->info(tr('Attività modificata correttamente!'));
|
||||
|
|
|
@ -28,6 +28,8 @@ switch (post('op')) {
|
|||
'is_completato' => post('is_completato'),
|
||||
'is_fatturabile' => post('is_fatturabile'),
|
||||
'notifica' => post('notifica'),
|
||||
'notifica_cliente' => post('notifica_cliente'),
|
||||
'notifica_tecnici' => post('notifica_tecnici'),
|
||||
'id_email' => post('email') ?: null,
|
||||
'destinatari' => post('destinatari'),
|
||||
], ['idstatointervento' => $id_record]);
|
||||
|
|
|
@ -48,13 +48,31 @@ if ($record['can_delete']) {
|
|||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Abilita notifiche'); ?>", "name": "notifica", "help": "<?php echo tr('Quando l\'attività passa in questo stato viene inviata una notifica ai destinatari designati.'); ?>.", "value": "$notifica$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "<?php echo tr('Template email'); ?>", "name": "email", "value": "$id_email$", "values": "query=SELECT id, name AS descrizione FROM em_templates WHERE id_module = <?php echo Modules::get('Interventi')['id']; ?> AND deleted_at IS NULL", "disabled": <?php echo intval(empty($record['notifica'])); ?> ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "<?php echo tr('Destinatari'); ?>", "name": "destinatari", "value": "$destinatari$", "disabled": <?php echo intval(empty($record['notifica'])); ?> ]}
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Notifica al cliente'); ?>", "name": "notifica_cliente", "help": "<?php echo tr('Quando l\'attività passa in questo stato viene inviata una notifica al cliente.'); ?>.", "value": "$notifica_cliente$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Notifica ai tecnici'); ?>", "name": "notifica_tecnici", "help": "<?php echo tr('Quando l\'attività passa in questo stato viene inviata una notifica ai tecnici assegnati.'); ?>.", "value": "$notifica_tecnici$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "<?php echo tr('Destinatari aggiuntivi'); ?>", "name": "destinatari", "value": "$destinatari$", "disabled": <?php echo intval(empty($record['notifica'])); ?> ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -66,8 +84,7 @@ if ($record['can_delete']) {
|
|||
|
||||
<div class="panel-body">
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Completato?'); ?>", "name": "is_completato", "value": "$is_completato$", "help": "<?php echo tr('Le attività che si trovano in questo stato verranno considerate come completate.'); ?>", "placeholder": "<?php echo tr('Completato'); ?>", "extra": "<?php echo $attr; ?>" ]}
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Fatturabile?'); ?>", "name": "is_fatturabile", "value": "$is_fatturabile$", "help": "<?php echo tr('Le attività che si trovano in questo stato verranno considerate come fatturabili.'); ?>", "placeholder": "<?php echo tr('Fatturabile'); ?>", "extra": "<?php echo $attr; ?>" ]}
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Abilita notifiche'); ?>", "name": "notifica", "help": "<?php echo tr('Quando l\'attività passa in questo stato viene inviata una notifica ai destinatari designati.'); ?>.", "value": "$notifica$" ]}
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Fatturabile?'); ?>", "name": "is_fatturabile", "value": "$is_fatturabile$", "help": "<?php echo tr('Le attività che si trovano in questo stato verranno considerate come fatturabili.'); ?>", "placeholder": "<?php echo tr('Fatturabile'); ?>", "extra": "<?php echo $attr; ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -96,13 +113,18 @@ if ($record['can_delete']) {
|
|||
if ($(this).is(":checked")) {
|
||||
$("#email").attr("required", true);
|
||||
$("#email").attr("disabled", false);
|
||||
$("#destinatari").attr("required", true);
|
||||
$("#destinatari").attr("disabled", false);
|
||||
$("#notifica_cliente").attr("disabled", false);
|
||||
$("#notifica_tecnici").attr("disabled", false);
|
||||
}else{
|
||||
$("#email").attr("required", false);
|
||||
$("#email").attr("disabled", true);
|
||||
$("#destinatari").attr("required", false);
|
||||
$("#destinatari").attr("disabled", true);
|
||||
$("#destinatari").val("");
|
||||
$("#notifica_cliente").attr("disabled", true);
|
||||
$("#notifica_tecnici").attr("disabled", true);
|
||||
$("#notifica_cliente").val([0]);
|
||||
$("#notifica_tecnici").val([0]);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -79,4 +79,7 @@ ALTER TABLE `co_preventivi` ADD `garanzia` TEXT NOT NULL AFTER `condizioni_forni
|
|||
ALTER TABLE `an_anagrafiche` CHANGE `piva` `piva` VARCHAR(16) NOT NULL;
|
||||
|
||||
-- Aggiunta stampa bilancio
|
||||
INSERT INTO `zz_prints` (`id`, `id_module`, `is_record`, `name`, `title`, `filename`, `directory`, `previous`, `options`, `icon`, `version`, `compatibility`, `order`, `predefined`, `default`, `enabled`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE name='Piano dei conti'), '1', 'Bilancio', 'Bilancio', 'Bilancio', 'bilancio', '', '', 'fa fa-print', '', '', '0', '0', '1', '1');
|
||||
INSERT INTO `zz_prints` (`id`, `id_module`, `is_record`, `name`, `title`, `filename`, `directory`, `previous`, `options`, `icon`, `version`, `compatibility`, `order`, `predefined`, `default`, `enabled`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE name='Piano dei conti'), '1', 'Bilancio', 'Bilancio', 'Bilancio', 'bilancio', '', '', 'fa fa-print', '', '', '0', '0', '1', '1');
|
||||
|
||||
-- Aggiunta flag notifica cliente e tecnici in in_statiintervento
|
||||
ALTER TABLE `in_statiintervento` ADD `notifica_cliente` TINYINT NOT NULL AFTER `notifica`, ADD `notifica_tecnici` TINYINT NOT NULL AFTER `notifica_cliente`;
|
Loading…
Reference in New Issue