Oletusallekirjoitus kaikille postilaatikoille ja Zammad-sähköposteille

Jos käyttäjä ei ole vielä tallentanut allekirjoitusta, näytetään
oletuksena: Käyttäjänimi / Yrityksen nimi / sähköpostiosoite.
Toimii sekä IMAP/SMTP-postilaatikoille että Zammad-sähköposteille.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-13 01:18:58 +02:00
parent 890b5d932e
commit a105ec7cd9
2 changed files with 17 additions and 8 deletions

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Noxus HUB</title> <title>Noxus HUB</title>
<link rel="stylesheet" href="style.css?v=20260313d"> <link rel="stylesheet" href="style.css?v=20260313e">
</head> </head>
<body> <body>
<!-- Login --> <!-- Login -->
@@ -2229,6 +2229,6 @@
</div> </div>
</div> </div>
<script src="script.js?v=20260313d"></script> <script src="script.js?v=20260313e"></script>
</body> </body>
</html> </html>

View File

@@ -2392,28 +2392,37 @@ async function initTicketSettings() {
return; return;
} }
// Oletusallekirjoitus: Käyttäjänimi + Yritys + sähköposti
const userName = currentUser?.nimi || currentUser?.username || '';
function defaultSig(companyName, email) {
return userName + '\n' + companyName + '\n' + email;
}
// Allekirjoitukset per postilaatikko // Allekirjoitukset per postilaatikko
let sigHtml = mailboxes.map(mb => let sigHtml = mailboxes.map(mb => {
`<div style="margin-bottom:0.75rem;"> const sig = currentUserSignatures[mb.id] || defaultSig(mb.company_nimi, mb.smtp_from_email);
return `<div style="margin-bottom:0.75rem;">
<label style="font-weight:600;font-size:0.85rem;color:#333;">${esc(mb.company_nimi)}${esc(mb.nimi)}</label> <label style="font-weight:600;font-size:0.85rem;color:#333;">${esc(mb.company_nimi)}${esc(mb.nimi)}</label>
<textarea class="ticket-sig-textarea" data-mailbox-id="${mb.id}" rows="3" <textarea class="ticket-sig-textarea" data-mailbox-id="${mb.id}" rows="3"
style="width:100%;margin-top:0.25rem;padding:8px;border:1px solid #ddd;border-radius:6px;font-size:0.85rem;font-family:inherit;resize:vertical;" style="width:100%;margin-top:0.25rem;padding:8px;border:1px solid #ddd;border-radius:6px;font-size:0.85rem;font-family:inherit;resize:vertical;"
placeholder="esim.\nJukka\nYritys Oy\ninfo@yritys.fi">${esc(currentUserSignatures[mb.id] || '')}</textarea> placeholder="esim.\nJukka\nYritys Oy\ninfo@yritys.fi">${esc(sig)}</textarea>
</div>` </div>`;
).join(''); }).join('');
// Zammad-sähköpostien allekirjoitukset // Zammad-sähköpostien allekirjoitukset
try { try {
const zammadEmails = await apiCall('ticket_zammad_emails'); const zammadEmails = await apiCall('ticket_zammad_emails');
if (zammadEmails.length > 0) { if (zammadEmails.length > 0) {
sigHtml += '<div style="margin-top:0.75rem;padding-top:0.75rem;border-top:1px solid #eee;"><strong style="font-size:0.85rem;color:#666;">Zammad-sähköpostit</strong></div>'; sigHtml += '<div style="margin-top:0.75rem;padding-top:0.75rem;border-top:1px solid #eee;"><strong style="font-size:0.85rem;color:#666;">Zammad-sähköpostit</strong></div>';
const companyName = currentCompany?.nimi || '';
zammadEmails.forEach(email => { zammadEmails.forEach(email => {
const key = 'zammad:' + email; const key = 'zammad:' + email;
const sig = currentUserSignatures[key] || defaultSig(companyName, email);
sigHtml += `<div style="margin-bottom:0.75rem;"> sigHtml += `<div style="margin-bottom:0.75rem;">
<label style="font-weight:600;font-size:0.85rem;color:#333;">${esc(email)} <span style="color:#888;font-size:0.8rem;">(Zammad)</span></label> <label style="font-weight:600;font-size:0.85rem;color:#333;">${esc(email)} <span style="color:#888;font-size:0.8rem;">(Zammad)</span></label>
<textarea class="ticket-sig-textarea" data-mailbox-id="${esc(key)}" rows="3" <textarea class="ticket-sig-textarea" data-mailbox-id="${esc(key)}" rows="3"
style="width:100%;margin-top:0.25rem;padding:8px;border:1px solid #ddd;border-radius:6px;font-size:0.85rem;font-family:inherit;resize:vertical;" style="width:100%;margin-top:0.25rem;padding:8px;border:1px solid #ddd;border-radius:6px;font-size:0.85rem;font-family:inherit;resize:vertical;"
placeholder="esim.\nJukka\nYritys Oy\ninfo@yritys.fi">${esc(currentUserSignatures[key] || '')}</textarea> placeholder="esim.\nJukka\nYritys Oy\ninfo@yritys.fi">${esc(sig)}</textarea>
</div>`; </div>`;
}); });
} }