impuls/website/admin.py

25 lines
1.2 KiB
Python

from django.contrib import admin
from .models import Registrant, Author, Category, Post, Contact
from django.core.mail import send_mail
from django.template.loader import render_to_string
class RegistrantAdmin(admin.ModelAdmin):
list_display = ('name',)
readonly_fields = ['timestamp']
list_filter = ['payed', 'rate_reduced', 'canceled', 'team', 'food']
actions = ['welcome_mail',]
@admin.action(description='Send welcome mail again...')
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.site.register(Registrant, RegistrantAdmin)
admin.site.register(Author)
admin.site.register(Category)
admin.site.register(Post)
admin.site.register(Contact)