Fix email-Destinatär document linking and add email delete

- When manually assigning an email to a Destinatär, also update
  associated DokumentLink records so attachments appear in the
  Destinatär's Dokumente tab
- Add email delete functionality (view, URL, buttons in list and detail)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
SysAdmin Agent
2026-03-12 07:57:25 +00:00
parent 8c528308bd
commit f4fc512ad3
5 changed files with 49 additions and 4 deletions

View File

@@ -89,6 +89,7 @@ from .geschichte import ( # noqa: F401
kalender_api_events,
email_eingang_list,
email_eingang_detail,
email_eingang_delete,
email_eingang_poll_trigger,
)

View File

@@ -643,6 +643,11 @@ def email_eingang_detail(request, pk):
eingang.destinataer = destinataer
eingang.status = "zugewiesen"
eingang.save()
# Verknüpfte DokumentLinks ebenfalls dem Destinatär zuordnen
if eingang.paperless_dokument_ids:
DokumentLink.objects.filter(
paperless_document_id__in=eingang.paperless_dokument_ids
).update(destinataer_id=destinataer.pk)
messages.success(
request,
f"E-Mail wurde {destinataer} zugeordnet.",
@@ -716,6 +721,18 @@ def email_eingang_poll_trigger(request):
return redirect("stiftung:email_eingang_list")
@login_required
def email_eingang_delete(request, pk):
"""Löscht eine eingegangene E-Mail."""
eingang = get_object_or_404(DestinataerEmailEingang, pk=pk)
if request.method == "POST":
betreff = eingang.betreff or "(kein Betreff)"
eingang.delete()
messages.success(request, f'E-Mail "{betreff}" wurde gelöscht.')
return redirect("stiftung:email_eingang_list")
return redirect("stiftung:email_eingang_detail", pk=pk)
# ============================================================
# Veranstaltungsmodul
# ============================================================