|
@@ -6,6 +6,9 @@ from django.template.loader import render_to_string
|
|
|
from django.urls import path
|
|
from django.urls import path
|
|
|
from django.shortcuts import render
|
|
from django.shortcuts import render
|
|
|
from .models import InvitationCode
|
|
from .models import InvitationCode
|
|
|
|
|
+import logging
|
|
|
|
|
+
|
|
|
|
|
+logger = logging.getLogger(__name__)
|
|
|
|
|
|
|
|
|
|
|
|
|
class EmailForm(forms.Form):
|
|
class EmailForm(forms.Form):
|
|
@@ -32,15 +35,21 @@ class InvitationCodeAdmin(admin.ModelAdmin):
|
|
|
create_invitations.short_description = 'Crear 5 códigos de invitación'
|
|
create_invitations.short_description = 'Crear 5 códigos de invitación'
|
|
|
|
|
|
|
|
def send_invitation_emails(self, request, queryset):
|
|
def send_invitation_emails(self, request, queryset):
|
|
|
|
|
+ logger.info(f"开始发送邀请邮件, query={queryset}")
|
|
|
if 'apply' in request.POST:
|
|
if 'apply' in request.POST:
|
|
|
form = EmailForm(request.POST)
|
|
form = EmailForm(request.POST)
|
|
|
|
|
+ logger.info(f"Form data: {request.POST}")
|
|
|
if form.is_valid():
|
|
if form.is_valid():
|
|
|
email = form.cleaned_data['email']
|
|
email = form.cleaned_data['email']
|
|
|
|
|
+ logger.info(f"Email válido: {email}")
|
|
|
invitation = InvitationCode.create_invitation(created_by=request.user)
|
|
invitation = InvitationCode.create_invitation(created_by=request.user)
|
|
|
|
|
+ logger.info(f"Created invitation code: {invitation.code}")
|
|
|
domain = settings.ALLOWED_HOSTS[0].replace('.','')
|
|
domain = settings.ALLOWED_HOSTS[0].replace('.','')
|
|
|
signup_url = f"https://jugaralpadel.es/accounts/signup/?code={invitation.code}"
|
|
signup_url = f"https://jugaralpadel.es/accounts/signup/?code={invitation.code}"
|
|
|
|
|
+ logger.info(f"Signup URL: {signup_url}")
|
|
|
context = {'invitation_code': invitation.code, 'signup_url': signup_url}
|
|
context = {'invitation_code': invitation.code, 'signup_url': signup_url}
|
|
|
html_message = render_to_string('emails/invitacion.html', context)
|
|
html_message = render_to_string('emails/invitacion.html', context)
|
|
|
|
|
+ logger.info(f"Rendered email template")
|
|
|
send_mail(
|
|
send_mail(
|
|
|
'Invitación a Jugar al Pádel',
|
|
'Invitación a Jugar al Pádel',
|
|
|
'',
|
|
'',
|
|
@@ -48,10 +57,12 @@ class InvitationCodeAdmin(admin.ModelAdmin):
|
|
|
[email],
|
|
[email],
|
|
|
html_message=html_message
|
|
html_message=html_message
|
|
|
)
|
|
)
|
|
|
|
|
+ logger.info(f"Email enviado a {email}")
|
|
|
self.message_user(request, f'Invitación enviada a {email}.')
|
|
self.message_user(request, f'Invitación enviada a {email}.')
|
|
|
return None
|
|
return None
|
|
|
else:
|
|
else:
|
|
|
form = EmailForm()
|
|
form = EmailForm()
|
|
|
|
|
+ logger.info("Mostrando formulario de invitación")
|
|
|
return render(request, 'admin/send_invitation.html', {
|
|
return render(request, 'admin/send_invitation.html', {
|
|
|
'items': queryset,
|
|
'items': queryset,
|
|
|
'form': form,
|
|
'form': form,
|