diff --git a/app.py b/app.py index 93d2b0a..563e941 100644 --- a/app.py +++ b/app.py @@ -3570,7 +3570,7 @@ def delete_journal_entry(message_id): return redirect(url_for('email_log_view')) -@app.route('/emails/sent//delete', methods=['POST']) +@app.route('/api/sent-emails//delete', methods=['POST']) @login_required def delete_sent_email(sent_id): """Löscht einen einzelnen Outbox-Eintrag.""" diff --git a/templates/emails.html b/templates/emails.html index 1f4a09c..d9e2701 100644 --- a/templates/emails.html +++ b/templates/emails.html @@ -154,11 +154,16 @@
- -
@@ -214,22 +219,26 @@ function viewEmail(emailId, subject, from) { .catch(e => { document.getElementById('emailBody').textContent = 'Fehler: ' + e.message; }); } -function showSentEmail(id, to, subject, date, agent, body) { - document.getElementById('sentEmailSubject').textContent = subject; - document.getElementById('sentEmailTo').textContent = to; - document.getElementById('sentEmailDate').textContent = date.replace('T', ' ').slice(0, 16); - document.getElementById('sentEmailAgent').textContent = agent; - document.getElementById('sentEmailBody').textContent = body || '(kein Inhalt gespeichert)'; +// Lesen +document.addEventListener('click', function(e) { + const btn = e.target.closest('.sent-read-btn'); + if (!btn) return; + document.getElementById('sentEmailSubject').textContent = btn.dataset.subject; + document.getElementById('sentEmailTo').textContent = btn.dataset.to; + document.getElementById('sentEmailDate').textContent = btn.dataset.date.replace('T',' ').slice(0,16); + document.getElementById('sentEmailAgent').textContent = btn.dataset.agent; + document.getElementById('sentEmailBody').textContent = btn.dataset.body || '(kein Inhalt gespeichert)'; new bootstrap.Modal(document.getElementById('sentEmailModal')).show(); -} +}); -function deleteSentEmail(id) { +// Löschen +document.addEventListener('click', function(e) { + const btn = e.target.closest('.sent-delete-btn'); + if (!btn) return; + const id = btn.dataset.id; if (!confirm('Eintrag #' + id + ' aus dem Log löschen?')) return; - fetch('/emails/sent/' + id + '/delete', { - method: 'POST', - headers: {'Accept': 'application/json'} - }) - .then(r => r.json()) + fetch('/api/sent-emails/' + id + '/delete', {method: 'POST'}) + .then(r => { if (!r.ok) throw new Error('HTTP ' + r.status); return r.json(); }) .then(d => { if (d.success) { const row = document.getElementById('sent-row-' + id); @@ -238,7 +247,7 @@ function deleteSentEmail(id) { alert('Fehler: ' + d.message); } }) - .catch(() => alert('Netzwerkfehler.')); -} + .catch(err => alert('Fehler: ' + err.message)); +}); {% endblock %}