impuls/website/admin.py

41 lines
2.3 KiB
Python
Raw Normal View History

2023-10-03 17:55:41 +02:00
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
2023-10-28 13:14:13 +02:00
class RegistrantAdmin(admin.ModelAdmin):
#list_display = ('name','timestamp', 'payed', 'cake', 'rate_reduced')
list_display = ('name','birthdate','address_town','mail')
2023-11-09 19:13:35 +01:00
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)
2023-10-28 13:14:13 +02:00
@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)
2023-10-28 13:14:13 +02:00
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)