add sending mail for returned items
This commit is contained in:
@@ -78,3 +78,25 @@ def send_mail_rejected(obj):
|
|||||||
email.send()
|
email.send()
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
logger.info("Failed to send rejection email for rental #%s. Error: %s", obj.id, 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)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ from django.core.validators import FileExtensionValidator
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
from django.forms import ValidationError
|
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 .managers import RentalItemsManager
|
||||||
from .validators import PhoneNumberValidator
|
from .validators import PhoneNumberValidator
|
||||||
|
|
||||||
@@ -104,6 +104,12 @@ class Rental(models.Model):
|
|||||||
and self.status == self.Status.REJECTED
|
and self.status == self.Status.REJECTED
|
||||||
):
|
):
|
||||||
send_mail_rejected(self)
|
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):
|
def clean(self):
|
||||||
if not self.date_end:
|
if not self.date_end:
|
||||||
|
|||||||
Reference in New Issue
Block a user