diff --git a/fet2020/rental/mails.py b/fet2020/rental/mails.py index 56a0fe77..50703fd0 100644 --- a/fet2020/rental/mails.py +++ b/fet2020/rental/mails.py @@ -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) diff --git a/fet2020/rental/models.py b/fet2020/rental/models.py index f874c00b..8af9d580 100644 --- a/fet2020/rental/models.py +++ b/fet2020/rental/models.py @@ -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: