Liitetiedostot tikettivastausten sähköposteihin + muistiinpanojen piilotus

- Lisää liitetiedostojen tuki vastauslomakkeeseen (📎 Liitä tiedosto -nappi)
- Tuki max 25 MB tiedostoille, useita liitteitä kerralla
- Zammad API: liitteet base64-muodossa attachments-kentässä
- SMTP: multipart/mixed MIME (boundary, Content-Disposition: attachment)
- Sisäiset muistiinpanot (note) suodatetaan pois quoted threadista
  (eivät näy asiakkaille lähtevissä sähköposteissa)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-13 03:00:30 +02:00
parent 6f1d9ed5d4
commit 376912b9ff
3 changed files with 120 additions and 14 deletions

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Noxus HUB</title>
<link rel="stylesheet" href="style.css?v=20260313p">
<link rel="stylesheet" href="style.css?v=20260313q">
</head>
<body>
<!-- Login -->
@@ -1195,6 +1195,16 @@
</div>
</div>
<textarea id="ticket-reply-body" rows="5" placeholder="Kirjoita vastaus..."></textarea>
<div id="reply-attachments-area" style="margin-top:0.4rem;">
<div style="display:flex;align-items:center;gap:0.5rem;">
<label style="display:inline-flex;align-items:center;gap:0.3rem;font-size:0.82rem;color:#555;cursor:pointer;padding:4px 10px;border:1px solid #ddd;border-radius:6px;background:#f8f9fb;">
📎 Liitä tiedosto
<input type="file" id="reply-file-input" multiple style="display:none;">
</label>
<span id="reply-attachments-count" style="font-size:0.8rem;color:#888;"></span>
</div>
<div id="reply-attachments-list" style="display:flex;flex-wrap:wrap;gap:0.4rem;margin-top:0.4rem;"></div>
</div>
<div style="display:flex;justify-content:space-between;align-items:center;gap:0.5rem;margin-top:0.5rem;">
<label style="display:flex;align-items:center;gap:0.4rem;font-size:0.82rem;color:#888;cursor:pointer;white-space:nowrap;">
<input type="checkbox" id="reply-use-signature" checked> Käytä allekirjoitusta
@@ -2261,6 +2271,6 @@
</div>
</div>
<script src="script.js?v=20260313p"></script>
<script src="script.js?v=20260313q"></script>
</body>
</html>