add sending mail for returned items

This commit is contained in:
2026-01-06 11:28:51 +01:00
parent 0f616f51e1
commit 90dc566511
2 changed files with 29 additions and 1 deletions

View File

@@ -78,3 +78,25 @@ def send_mail_rejected(obj):
email.send()
except Exception as exc:
logger.info("Failed to send rejection email for rental #%s. Error: %s", obj.id, exc)
def send_mail_returned(obj):
subject = f"FET-Verleih: {obj.get_status_display()}"
# Build email message
message = (
f"Hallo {obj.firstname},\n\n"
"deine Verleihgegenstände wurden erfolgreich zurückgegeben.\n\n"
"Liebe Grüße,\n"
"das Verleih-Team"
)
# Create email
email = EmailMessage(
subject, message, from_email=RENTAL_EMAIL, to=[obj.email], cc=[RENTAL_EMAIL]
)
try:
email.send()
except Exception as exc:
logger.info("Failed to send returned email for rental #%s. Error: %s", obj.id, exc)

View File

@@ -2,7 +2,7 @@ from django.core.validators import FileExtensionValidator
from django.db import models
from django.forms import ValidationError
from .mails import send_mail_approved, send_mail_rejected
from .mails import send_mail_approved, send_mail_rejected, send_mail_returned
from .managers import RentalItemsManager
from .validators import PhoneNumberValidator
@@ -104,6 +104,12 @@ class Rental(models.Model):
and self.status == self.Status.REJECTED
):
send_mail_rejected(self)
elif (
pre_obj
and pre_obj.status != self.Status.RETURNED
and self.status == self.Status.RETURNED
):
send_mail_returned(self)
def clean(self):
if not self.date_end: