mirror of
https://github.com/lemeow125/DocManagerBackend.git
synced 2025-06-28 16:35:46 +08:00
Implement notifications
This commit is contained in:
parent
63f3bd0eab
commit
298501b973
16 changed files with 293 additions and 1 deletions
|
@ -5,6 +5,7 @@ from questionnaires.models import Questionnaire
|
|||
from accounts.models import CustomUser
|
||||
from emails.templates import RequestUpdateEmail
|
||||
from .models import DocumentRequest, DocumentRequestUnit
|
||||
from notifications.models import Notification
|
||||
|
||||
|
||||
class DocumentRequestUnitCreationSerializer(serializers.ModelSerializer):
|
||||
|
@ -60,6 +61,11 @@ class DocumentRequestCreationSerializer(serializers.ModelSerializer):
|
|||
DOCUMENT_REQUEST.documents.set(DOCUMENT_REQUEST_UNITS)
|
||||
DOCUMENT_REQUEST.save()
|
||||
|
||||
Notification.objects.create(
|
||||
type="info",
|
||||
audience="head",
|
||||
content=f"A new document request ID:{DOCUMENT_REQUEST.id} requires your attention")
|
||||
|
||||
return DOCUMENT_REQUEST
|
||||
|
||||
|
||||
|
@ -218,9 +224,19 @@ class DocumentRequestUpdateSerializer(serializers.ModelSerializer):
|
|||
if validated_data["status"] == "denied":
|
||||
email.context = {"request_status": "denied"}
|
||||
email.context = {"remarks": validated_data["remarks"]}
|
||||
Notification.objects.create(
|
||||
client=instance.requester,
|
||||
type="info",
|
||||
audience="client",
|
||||
content=f"Your authorization request ID:{instance.id} has been denied")
|
||||
else:
|
||||
email.context = {"request_status": "approved"}
|
||||
email.context = {"remarks": "N/A"}
|
||||
Notification.objects.create(
|
||||
client=instance.requester,
|
||||
type="info",
|
||||
audience="client",
|
||||
content=f"Your authorization request ID:{instance.id} has been approved")
|
||||
email.send(to=[instance.requester.email])
|
||||
except:
|
||||
# Silence out errors if email sending fails
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue