add admin action to resend welcome mail

This commit is contained in:
Federico Justus Denkena 2024-02-09 23:37:46 +01:00
parent 4312e31f19
commit 3b3196d4ea
Signed by: f-denkena
GPG Key ID: 28F91C66EE36F382
4 changed files with 15 additions and 4 deletions

View File

@ -1,10 +1,21 @@
from django.contrib import admin
from .models import Registrant, Author, Category, Post, Contact
# Register your models here.
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']
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)

View File

@ -90,7 +90,7 @@ def failure(request):
def mail(request):
#context = {"form": Registrant.objects.all()[6]}
return render(request, 'mail.html',)
return render(request, 'welcome_mail.html',)
def anmeldung(request):
if request.method == 'POST':
@ -100,8 +100,8 @@ def anmeldung(request):
form = register_form.cleaned_data
name = register_form.cleaned_data["name"]
mail = register_form.cleaned_data["mail"]
msg_plain = render_to_string('mail.txt', {"form": form})
msg_html = render_to_string('mail.html', {"form": form})
msg_plain = render_to_string('welcome_mail.txt', {"form": form})
msg_html = render_to_string('welcome_mail.html', {"form": form})
send_mail(f'Herzlich Willkommen zur Im·Puls-Tagung, {name}', msg_plain, 'buero@im-puls.org', ["xenia.medvedeva@posteo.de","buero@im-puls.org","webmaster@denkena-consulting.com"], fail_silently=False, html_message=msg_html)
send_mail(f'Herzlich Willkommen zur Im·Puls-Tagung, {name}', msg_plain, 'buero@im-puls.org', [mail], fail_silently=False, html_message=msg_html)
register_form = RegisterForm()