from django.contrib import admin from .models import Author, Category, Post, Contact, Registrant2024, Registrant2025 from django.core.mail import send_mail from django.template.loader import render_to_string class RegistrantAdmin(admin.ModelAdmin): #list_display = ('name','timestamp', 'payed', 'cake', 'rate_reduced') list_display = ('name','birthdate','address_town','mail') readonly_fields = ['timestamp'] list_filter = ['payed', 'rate_reduced', 'canceled', 'team', 'food', 'cake'] actions = ['welcome_mail','preparation_mail'] @admin.action(description='Send welcome mail to ...') def welcome_mail(self, request, queryset): for reg in queryset: msg_plain = render_to_string('welcome_mail.txt', {"form": reg}) msg_html = render_to_string('welcome_mail.html', {"form": reg}) send_mail(f'Herzlich Willkommen zur Im·Puls-Tagung, {reg.name}', msg_plain, 'buero@im-puls.org', [f"{reg.mail}"], fail_silently=False, html_message=msg_html) send_mail(f'Neue Anmeldung: {reg.name}', msg_plain, 'buero@im-puls.org', ["webmaster@denkena-consulting.com"], fail_silently=False, html_message=msg_html) @admin.action(description='Send preparation mail to ...') def preparation_mail(self, request, queryset): for reg in queryset: msg_plain = render_to_string('preparation_mail.txt', {"form": reg}) msg_html = render_to_string('preparation_mail.html', {"form": reg}) send_mail(f'Letzte Informationen zur Im·Puls-Tagung, {reg.name}', msg_plain, 'buero@im-puls.org', [f"{reg.mail}"], fail_silently=False, html_message=msg_html) @admin.action(description='Send preparation mail to all') def preparation_mail(self): for reg in Registrant25.objects.all: msg_plain = render_to_string('preparation_mail.txt', {"form": reg}) msg_html = render_to_string('preparation_mail.html', {"form": reg}) send_mail(f'Letzte Informationen zur Im·Puls-Tagung, {reg.name}', msg_plain, 'buero@im-puls.org', [f"{reg.mail}"], fail_silently=False, html_message=msg_html) admin.site.register(Author) admin.site.register(Category) admin.site.register(Post) admin.site.register(Contact) admin.site.register(Registrant2024, RegistrantAdmin) admin.site.register(Registrant2025, RegistrantAdmin)