Skip to content

Commit 1321813

Browse files
committed
feat: introduzione variabile interventi {email_user} per gestione reply_to in email
1 parent 26eca22 commit 1321813

3 files changed

Lines changed: 22 additions & 2 deletions

File tree

mail.php

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,17 @@
4141

4242
$id_anagrafica = $module->replacePlaceholders($id_record, '{id_anagrafica}', $placeholder_options);
4343

44+
// Calcolo ReplyTo
45+
$reply_to = '';
46+
if (!empty($template['tipo_reply_to'])) {
47+
if ($template['tipo_reply_to'] == 'email_fissa') {
48+
$reply_to = $module->replacePlaceholders($id_record, $template['reply_to'], $placeholder_options);
49+
} elseif ($template['tipo_reply_to'] == 'email_user') {
50+
$user = auth_osm()->getUser();
51+
$reply_to = $user->email;
52+
}
53+
}
54+
4455
// Aggiungo email referenti in base alla mansione impostata nel template
4556
$mansioni = $dbo->select('em_mansioni_template', 'idmansione', [], ['id_template' => $template->id]);
4657
foreach ($mansioni as $mansione) {
@@ -53,7 +64,7 @@
5364
}
5465

5566
// Aggiungo email tecnici assegnati quando sono sul template Notifica intervento
56-
if ($template->getTranslation('title') == 'Notifica intervento') {
67+
if ($template->name == 'Notifica intervento') {
5768
$tecnici = $dbo->select('in_interventi_tecnici_assegnati', 'id_tecnico', [], ['id_intervento' => $id_record]);
5869
foreach ($tecnici as $tecnico) {
5970
$anagrafica = $dbo->table('an_anagrafiche')->where('idanagrafica', $tecnico['id_tecnico'])->where('email', '!=', '')->first();
@@ -109,6 +120,11 @@
109120
<p><b>'.tr('CCN').'</b>: '.$template['bcc'].'</p>';
110121
}
111122

123+
if (!empty($reply_to)) {
124+
echo '
125+
<p><b>'.tr('Rispondi a').'</b>: '.$reply_to.'</p>';
126+
}
127+
112128
echo '
113129
114130
<b>'.tr('Destinatari').' <span class="tip" title="'.tr('Email delle sedi, dei referenti o agente collegato all\'anagrafica.').'"><i class="fa fa-question-circle-o"></i></span></b>

modules/emails/src/Mail.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,8 @@ protected function resetFromTemplate()
300300
if (!empty($template['tipo_reply_to'])) {
301301
$reply_to = '';
302302
if ($template['tipo_reply_to'] == 'email_fissa') {
303-
$reply_to = $template['reply_to'];
303+
$module = $this->template->module;
304+
$reply_to = $module->replacePlaceholders($this->id_record, $template['reply_to'], ['is_pec' => intval($this->account->pec)]);
304305
} else {
305306
$user = auth_osm()->getUser();
306307
$reply_to = $user->email;

modules/interventi/variables.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@
4242
LEFT JOIN (SELECT GROUP_CONCAT(CONCAT(`matricola`, IF(`nome` != "", CONCAT(" - ", `nome`), "")) SEPARATOR "<br>") AS descrizione, `my_impianti_interventi`.`idintervento` FROM `my_impianti` INNER JOIN `my_impianti_interventi` ON `my_impianti`.`id` = `my_impianti_interventi`.`idimpianto` GROUP BY `my_impianti_interventi`.`idintervento`) AS impianti ON `impianti`.`idintervento` = `in_interventi`.`id`
4343
WHERE `in_interventi`.`id`='.prepare($id_record));
4444

45+
$user = auth_osm()->getUser();
46+
4547
// Variabili da sostituire
4648
return [
4749
'email' => $options['is_pec'] ? $r['pec'] : $r['email'],
@@ -59,4 +61,5 @@
5961
'nome_referente' => $r['nome'],
6062
'sede' => $r['sede'],
6163
'sede_indirizzo' => $r['sede_indirizzo'],
64+
'email_user' => $user->email,
6265
];

0 commit comments

Comments
 (0)