diff --git a/actions.php b/actions.php index 6ee1fe49d..cb36d730f 100644 --- a/actions.php +++ b/actions.php @@ -83,20 +83,8 @@ if (filter('op') == 'link_file' || filter('op') == 'unlink_file') { $mail->ConfirmReadingTo = $mail->From; } - // Reply To - if (!empty($template['reply_to'])) { - $mail->AddReplyTo($template['reply_to']); - } - - // CC - if (!empty($template['cc'])) { - $mail->AddCC($template['cc']); - } - - // BCC - if (!empty($template['bcc'])) { - $mail->AddBCC($template['bcc']); - } + // Template + $mail->setTemplate($template); // Destinatari $mail->addReceivers(post('destinatari'), post('tipo_destinatari')); diff --git a/core.php b/core.php index 70138ad59..5143461dc 100644 --- a/core.php +++ b/core.php @@ -134,7 +134,7 @@ if (!API::isAPIRequest()) { $debugbar->addCollector(new DebugBar\DataCollector\TimeDataCollector()); $debugbar->addCollector(new DebugBar\Bridge\MonologCollector($logger)); - $debugbar->addCollector(new Extension\EloquentCollector($dbo->getCapsule())); + $debugbar->addCollector(new Extensions\EloquentCollector($dbo->getCapsule())); } } diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php index 46f29369c..cc4f5abc3 100644 --- a/modules/interventi/actions.php +++ b/modules/interventi/actions.php @@ -123,45 +123,45 @@ switch (post('op')) { $sconto_unitario = post('sconto')[$idriga]; $tipo_sconto = post('tipo_sconto')[$idriga]; $sconto = calcola_sconto([ - 'sconto' => $sconto_unitario, - 'prezzo' => $prezzo_ore_consuntivo, - 'tipo' => $tipo_sconto, - ]); + 'sconto' => $sconto_unitario, + 'prezzo' => $prezzo_ore_consuntivo, + 'tipo' => $tipo_sconto, + ]); $scontokm_unitario = post('scontokm')[$idriga]; $tipo_scontokm = post('tipo_scontokm')[$idriga]; $scontokm = ($tipo_scontokm == 'PRC') ? ($prezzo_km_consuntivo * $scontokm_unitario) / 100 : $scontokm_unitario; $dbo->update('in_interventi_tecnici', [ - 'idintervento' => $id_record, - 'idtipointervento' => $idtipointervento_tecnico, - 'idtecnico' => post('idtecnico')[$idriga], + 'idintervento' => $id_record, + 'idtipointervento' => $idtipointervento_tecnico, + 'idtecnico' => post('idtecnico')[$idriga], - 'orario_inizio' => $orario_inizio, - 'orario_fine' => $orario_fine, - 'ore' => $ore, - 'km' => $km, + 'orario_inizio' => $orario_inizio, + 'orario_fine' => $orario_fine, + 'ore' => $ore, + 'km' => $km, - 'prezzo_ore_unitario' => $prezzo_ore_unitario, - 'prezzo_km_unitario' => $prezzo_km_unitario, - 'prezzo_dirittochiamata' => $prezzo_dirittochiamata, - 'prezzo_ore_unitario_tecnico' => $prezzo_ore_unitario_tecnico, - 'prezzo_km_unitario_tecnico' => $prezzo_km_unitario_tecnico, - 'prezzo_dirittochiamata_tecnico' => $prezzo_dirittochiamata_tecnico, + 'prezzo_ore_unitario' => $prezzo_ore_unitario, + 'prezzo_km_unitario' => $prezzo_km_unitario, + 'prezzo_dirittochiamata' => $prezzo_dirittochiamata, + 'prezzo_ore_unitario_tecnico' => $prezzo_ore_unitario_tecnico, + 'prezzo_km_unitario_tecnico' => $prezzo_km_unitario_tecnico, + 'prezzo_dirittochiamata_tecnico' => $prezzo_dirittochiamata_tecnico, - 'prezzo_ore_consuntivo' => $prezzo_ore_consuntivo, - 'prezzo_km_consuntivo' => $prezzo_km_consuntivo, - 'prezzo_ore_consuntivo_tecnico' => $prezzo_ore_consuntivo_tecnico, - 'prezzo_km_consuntivo_tecnico' => $prezzo_km_consuntivo_tecnico, + 'prezzo_ore_consuntivo' => $prezzo_ore_consuntivo, + 'prezzo_km_consuntivo' => $prezzo_km_consuntivo, + 'prezzo_ore_consuntivo_tecnico' => $prezzo_ore_consuntivo_tecnico, + 'prezzo_km_consuntivo_tecnico' => $prezzo_km_consuntivo_tecnico, - 'sconto' => $sconto, - 'sconto_unitario' => $sconto_unitario, - 'tipo_sconto' => $tipo_sconto, + 'sconto' => $sconto, + 'sconto_unitario' => $sconto_unitario, + 'tipo_sconto' => $tipo_sconto, - 'scontokm' => $scontokm, - 'scontokm_unitario' => $scontokm_unitario, - 'tipo_scontokm' => $tipo_scontokm, - ], ['id' => $idriga]); + 'scontokm' => $scontokm, + 'scontokm_unitario' => $scontokm_unitario, + 'tipo_scontokm' => $tipo_scontokm, + ], ['id' => $idriga]); } $tipo_sconto = post('tipo_sconto_globale'); @@ -188,6 +188,17 @@ switch (post('op')) { 'tipo_sconto_globale' => $tipo_sconto, ], ['id' => $id_record]); + $stato = $dbo->selectOne('in_statiintervento', '*', ['idstatointervento' => post('idstatointervento')]); + // Notifica chiusura intervento + if (!empty($stato['notifica']) && !empty($stato['destinatari'])) { + $n = new Notifications\EmailNotification(); + + $n->setTemplate('Stato intervento', $id_record); + $n->setReceivers($stato['destinatari']); + + $n->send(); + } + flash()->info(tr('Informazioni salvate correttamente!')); break; @@ -322,7 +333,6 @@ switch (post('op')) { // Collegamenti tecnici/interventi $idtecnici = post('idtecnico'); - foreach ($idtecnici as $idtecnico) { add_tecnico($id_record, $idtecnico, post('orario_inizio'), post('orario_fine'), $idcontratto); } @@ -598,6 +608,17 @@ switch (post('op')) { } elseif ($dbo->query('UPDATE in_interventi SET firma_file='.prepare($firma_file).', firma_data=NOW(), firma_nome = '.prepare($firma_nome).', idstatointervento = "OK" WHERE id='.prepare($id_record))) { flash()->info(tr('Firma salvata correttamente!')); flash()->info(tr('Attività completata!')); + + $stato = $dbo->selectOne('in_statiintervento', '*', ['idstatointervento' => 'OK']); + // Notifica chiusura intervento + if (!empty($stato['notifica']) && !empty($stato['destinatari'])) { + $n = new Notifications\EmailNotification(); + + $n->setTemplate('Stato intervento', $id_record); + $n->setReceivers($stato['destinatari']); + + $n->send(); + } } else { flash()->error(tr('Errore durante il salvataggio della firma nel database!')); } diff --git a/modules/interventi/ajax_tecnici.php b/modules/interventi/ajax_tecnici.php index 83b5c220a..23514810f 100644 --- a/modules/interventi/ajax_tecnici.php +++ b/modules/interventi/ajax_tecnici.php @@ -23,12 +23,25 @@ switch (get('op')) { $fine = date_modify(date_create(date('Y-m-d H:\0\0')), '+'.$ore.' hours')->format('Y-m-d H:\0\0'); add_tecnico($id_record, $idtecnico, $inizio, $fine, $idcontratto); - break; // RIMOZIONE SESSIONE DI LAVORO case 'del_sessione': - $dbo->query('DELETE FROM in_interventi_tecnici WHERE id='.prepare(get('id'))); + $id = get('id'); + + $tecnico = $dbo->fetchOne('SELECT an_anagrafiche.email FROM an_anagrafiche INNER JOIN in_interventi_tecnici ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica WHERE in_interventi_tecnici.id = '.prepare($id)); + + $dbo->query('DELETE FROM in_interventi_tecnici WHERE id='.prepare($id)); + + // Notifica nuovo intervento al tecnico + if (!empty($tecnico['email'])) { + $n = new Notifications\EmailNotification(); + + $n->setTemplate('Notifica rimozione intervento', $id_record); + $n->setReceivers($tecnico['email']); + + $n->send(); + } break; } diff --git a/modules/interventi/modutil.php b/modules/interventi/modutil.php index 4d343bc14..f52547767 100644 --- a/modules/interventi/modutil.php +++ b/modules/interventi/modutil.php @@ -55,7 +55,7 @@ function add_tecnico($idintervento, $idtecnico, $inizio, $fine, $idcontratto = n $dbo = Database::getConnection(); // Controllo sull'identità del tecnico - $tecnico = $dbo->fetchArray('SELECT an_anagrafiche.idanagrafica FROM an_anagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica INNER JOIN an_tipianagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE an_anagrafiche.idanagrafica = '.prepare($idtecnico)." AND an_tipianagrafiche.descrizione = 'Tecnico'"); + $tecnico = $dbo->fetchOne('SELECT an_anagrafiche.idanagrafica, an_anagrafiche.email FROM an_anagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica INNER JOIN an_tipianagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE an_anagrafiche.idanagrafica = '.prepare($idtecnico)." AND an_tipianagrafiche.descrizione = 'Tecnico'"); if (empty($tecnico)) { return false; } @@ -161,6 +161,16 @@ function add_tecnico($idintervento, $idtecnico, $inizio, $fine, $idcontratto = n 'prezzo_dirittochiamata_tecnico' => $costo_dirittochiamata_tecnico, ]); + // Notifica nuovo intervento al tecnico + if (!empty($tecnico['email'])) { + $n = new Notifications\EmailNotification(); + + $n->setTemplate('Notifica intervento', $id_record); + $n->setReceivers($tecnico['email']); + + $n->send(); + } + return true; } @@ -347,7 +357,7 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion $dbo = Database::getConnection(); $id_ritenuta_acconto = setting("Percentuale ritenuta d'acconto"); - $$id_rivalsa_inps = setting('Percentuale rivalsa INPS'); + $id_rivalsa_inps = setting('Percentuale rivalsa INPS'); // Leggo l'anagrafica del cliente $rs = $dbo->fetchArray('SELECT idanagrafica, codice, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento='.prepare($id_intervento).') AS data FROM `in_interventi` WHERE id='.prepare($id_intervento)); @@ -378,7 +388,7 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion $desc_iva = $rs[0]['descrizione']; // Calcolo rivalsa inps - $query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare($$id_rivalsa_inps); + $query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare($id_rivalsa_inps); $rs = $dbo->fetchArray($query); $rivalsainps = ($subtot - $sconto) / 100 * $rs[0]['percentuale']; @@ -391,7 +401,7 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion $ritenutaacconto = ($subtot - $sconto + $rivalsainps) / 100 * $rs[0]['percentuale']; } - $query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, calcolo_ritenutaacconto, `order`) VALUES('.prepare($id_fattura).', '.prepare($id_intervento).', '.prepare($id_conto).', '.prepare($id_iva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto).", 'UNT', 'ore', ".prepare($ore).', '.prepare($$id_rivalsa_inps).', '.prepare($rivalsainps).', '.prepare($id_ritenuta_acconto).', '.prepare($ritenutaacconto).', '.prepare(setting("Metodologia calcolo ritenuta d'acconto predefinito")).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_fattura).'))'; + $query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, calcolo_ritenutaacconto, `order`) VALUES('.prepare($id_fattura).', '.prepare($id_intervento).', '.prepare($id_conto).', '.prepare($id_iva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto).", 'UNT', 'ore', ".prepare($ore).', '.prepare($id_rivalsa_inps).', '.prepare($rivalsainps).', '.prepare($id_ritenuta_acconto).', '.prepare($ritenutaacconto).', '.prepare(setting("Metodologia calcolo ritenuta d'acconto predefinito")).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_fattura).'))'; $dbo->query($query); } } @@ -412,7 +422,7 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion $desc_iva = $rs[0]['descrizione']; // Calcolo rivalsa inps - $query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare($$id_rivalsa_inps); + $query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare($id_rivalsa_inps); $rs = $dbo->fetchArray($query); $rivalsainps = $rst[$i]['tot_prezzo_dirittochiamata'] / 100 * $rs[0]['percentuale']; @@ -436,7 +446,7 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion 'tipo_sconto' => 'UNT', 'um' => '-', 'qta' => $rst[$i]['qta'], - 'idrivalsainps' => $$id_rivalsa_inps, + 'idrivalsainps' => $id_rivalsa_inps, 'rivalsainps' => $rivalsainps, 'idritenutaacconto' => $id_ritenuta_acconto, 'ritenutaacconto' => $ritenutaacconto, @@ -469,7 +479,7 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion $iva_indetraibile = $iva / 100 * $rs[0]['indetraibile']; // Calcolo rivalsa inps - $query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare($$id_rivalsa_inps); + $query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare($id_rivalsa_inps); $rs = $dbo->fetchArray($query); $rivalsainps = ($subtot - $sconto) / 100 * $rs[0]['percentuale']; @@ -482,7 +492,7 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion $ritenutaacconto = ($subtot - $sconto + $rivalsainps) / 100 * $rs[0]['percentuale']; } - $query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, calcolo_ritenutaacconto, `order`) VALUES('.prepare($id_fattura).', '.prepare($id_intervento).', '.prepare($id_conto).', '.prepare($id_iva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($rsr[$i]['descrizione']).', '.prepare($subtot).', '.prepare($rsr[$i]['sconto']).', '.prepare($rsr[$i]['sconto_unitario']).', '.prepare($rsr[$i]['tipo_sconto']).', '.prepare($rsr[$i]['um']).', '.prepare($rsr[$i]['qta']).', '.prepare($$id_rivalsa_inps).', '.prepare($rivalsainps).', '.prepare($id_ritenuta_acconto).', '.prepare($ritenutaacconto).', '.prepare(setting("Metodologia calcolo ritenuta d'acconto predefinito")).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_fattura).'))'; + $query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, calcolo_ritenutaacconto, `order`) VALUES('.prepare($id_fattura).', '.prepare($id_intervento).', '.prepare($id_conto).', '.prepare($id_iva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($rsr[$i]['descrizione']).', '.prepare($subtot).', '.prepare($rsr[$i]['sconto']).', '.prepare($rsr[$i]['sconto_unitario']).', '.prepare($rsr[$i]['tipo_sconto']).', '.prepare($rsr[$i]['um']).', '.prepare($rsr[$i]['qta']).', '.prepare($id_rivalsa_inps).', '.prepare($rivalsainps).', '.prepare($id_ritenuta_acconto).', '.prepare($ritenutaacconto).', '.prepare(setting("Metodologia calcolo ritenuta d'acconto predefinito")).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_fattura).'))'; $dbo->query($query); } } @@ -500,7 +510,7 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion $iva_indetraibile = $iva / 100 * $dati[0]['indetraibile']; // Calcolo rivalsa inps - $query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare($$id_rivalsa_inps); + $query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare($id_rivalsa_inps); $dati = $dbo->fetchArray($query); $rivalsainps = ($subtot - $sconto) / 100 * $dati[0]['percentuale']; @@ -513,7 +523,7 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion $ritenutaacconto = ($subtot - $sconto + $rivalsainps) / 100 * $dati[0]['percentuale']; } - $query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, calcolo_ritenutaacconto, `order`) VALUES('.prepare($id_fattura).', '.prepare($id_intervento).', '.prepare($id_conto).', '.prepare($id_iva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare('Trasferta intervento '.$codice.' del '.Translator::dateToLocale($data)).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto).", 'UNT', '', 1, ".prepare($$id_rivalsa_inps).', '.prepare($rivalsainps).', '.prepare($id_ritenuta_acconto).', '.prepare($ritenutaacconto).', '.prepare(setting("Metodologia calcolo ritenuta d'acconto predefinito")).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_fattura).'))'; + $query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, calcolo_ritenutaacconto, `order`) VALUES('.prepare($id_fattura).', '.prepare($id_intervento).', '.prepare($id_conto).', '.prepare($id_iva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare('Trasferta intervento '.$codice.' del '.Translator::dateToLocale($data)).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto).", 'UNT', '', 1, ".prepare($id_rivalsa_inps).', '.prepare($rivalsainps).', '.prepare($id_ritenuta_acconto).', '.prepare($ritenutaacconto).', '.prepare(setting("Metodologia calcolo ritenuta d'acconto predefinito")).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_fattura).'))'; $dbo->query($query); } @@ -530,7 +540,7 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion $iva_indetraibile = $iva / 100 * $rs[0]['indetraibile']; // Calcolo rivalsa inps - $query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare($$id_rivalsa_inps); + $query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare($id_rivalsa_inps); $rs = $dbo->fetchArray($query); $rivalsainps = ($subtot) / 100 * $rs[0]['percentuale']; @@ -543,7 +553,7 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion $ritenutaacconto = ($subtot + $rivalsainps) / 100 * $rs[0]['percentuale']; } - $query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, calcolo_ritenutaacconto, `order`) VALUES('.prepare($id_fattura).', NULL, '.prepare($id_conto).', '.prepare($id_iva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare('Sconto '.$descrizione).', '.prepare($subtot).', 1, '.prepare($$id_rivalsa_inps).', '.prepare($rivalsainps).', '.prepare($id_ritenuta_acconto).', '.prepare($ritenutaacconto).', '.prepare(setting("Metodologia calcolo ritenuta d'acconto predefinito")).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_fattura).'))'; + $query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, calcolo_ritenutaacconto, `order`) VALUES('.prepare($id_fattura).', NULL, '.prepare($id_conto).', '.prepare($id_iva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare('Sconto '.$descrizione).', '.prepare($subtot).', 1, '.prepare($id_rivalsa_inps).', '.prepare($rivalsainps).', '.prepare($id_ritenuta_acconto).', '.prepare($ritenutaacconto).', '.prepare(setting("Metodologia calcolo ritenuta d'acconto predefinito")).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_fattura).'))'; $dbo->query($query); } diff --git a/modules/interventi/variables.php b/modules/interventi/variables.php index b54420806..c05c5d745 100644 --- a/modules/interventi/variables.php +++ b/modules/interventi/variables.php @@ -2,7 +2,8 @@ $r = $dbo->fetchOne('SELECT *, (SELECT MAX(orario_fine) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS data_fine, - (SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=in_interventi.idanagrafica) AS email + (SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=in_interventi.idanagrafica) AS email, + (SELECT descrizione FROM in_statiintervento WHERE idstatointervento=in_interventi.idstatointervento) AS stato FROM in_interventi WHERE id='.prepare($id_record)); // Variabili da sostituire @@ -15,4 +16,5 @@ return [ 'data richiesta' => Translator::dateToLocale($r['data_richiesta']), 'data fine intervento' => empty($r['data_fine']) ? Translator::dateToLocale($r['data_richiesta']) : Translator::dateToLocale($r['data_fine']), 'id_anagrafica' => $r['idanagrafica'], + 'stato' => $r['stato'], ]; diff --git a/modules/stati_intervento/actions.php b/modules/stati_intervento/actions.php index 3448f2682..8422810b6 100644 --- a/modules/stati_intervento/actions.php +++ b/modules/stati_intervento/actions.php @@ -4,13 +4,14 @@ include_once __DIR__.'/../../core.php'; switch (post('op')) { case 'update': - $descrizione = post('descrizione'); - $colore = post('colore'); - $completato = post('completato'); - - // Aggiorna - $query = 'UPDATE in_statiintervento SET descrizione='.prepare($descrizione).', colore='.prepare($colore).', completato='.prepare($completato).' WHERE idstatointervento='.prepare($id_record); - $dbo->query($query); + $dbo->update('in_statiintervento', [ + 'descrizione' => post('descrizione'), + 'colore' => post('colore'), + 'completato' => post('completato'), + 'notifica' => post('notifica'), + 'id_email' => post('email'), + 'destinatari' => post('destinatari'), + ], ['idstatointervento' => $id_record]); flash()->info(tr('Informazioni salvate correttamente.')); diff --git a/modules/stati_intervento/edit.php b/modules/stati_intervento/edit.php index 39a837307..750a77504 100644 --- a/modules/stati_intervento/edit.php +++ b/modules/stati_intervento/edit.php @@ -22,14 +22,28 @@ if ($record['can_delete']) { {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$" ]} -
Gentile Tecnico,
\r\nun nuovo intervento {numero} in {data} è stato aggiunto.
\r\n\r\n
Distinti saluti
\r\n', '0', '0'), +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'), 1, 'Notifica rimozione intervento', 'fa fa-envelope', 'Notifica intervento numero {numero} del {data}', '', '', '', 'Gentile Tecnico,
\r\nsei stato rimosso dall''intervento {numero} in {data}.
\r\n\r\n
Distinti saluti
\r\n', '0', '0'), +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'), 1, 'Stato intervento', 'fa fa-envelope', 'Intervento numero {numero} del {data}: {stato}.', '', '', '', 'Gentile Utente,
\r\nl''intervento {numero} in {data} è stato spostato nello stato {stato}.
', '0', '0'); + +INSERT INTO `zz_email_print` (`id`, `id_email`, `id_print`) VALUES +(NULL, (SELECT `id` FROM `zz_emails` WHERE `name` = 'Stato intervento' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi')), (SELECT `id` FROM `zz_prints` WHERE `name` = 'Intervento')); + +UPDATE `zz_emails` SET `main` = 1 WHERE `name` = 'Rapportino intervento' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'); +UPDATE `in_statiintervento` SET `id_email` = (SELECT `id` FROM `zz_emails` WHERE `name` = 'Stato intervento' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'));