From 2a9d093ec6417b2c50f6058565030c79bb7b5357 Mon Sep 17 00:00:00 2001 From: Kumi Date: Mon, 24 Jun 2024 13:15:42 +0200 Subject: [PATCH] feat: add email notifications for suffix approval process Introduced email notifications for the suffix approval process: - Notify prefix owners when a new suffix requires approval - Notify users when their suffix has been approved This helps keep stakeholders informed about the status of their suffix requests, improving transparency and workflow efficiency. --- freedoi/resolver/views.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/freedoi/resolver/views.py b/freedoi/resolver/views.py index dff9f02..ca42f88 100644 --- a/freedoi/resolver/views.py +++ b/freedoi/resolver/views.py @@ -10,6 +10,7 @@ from django.views.generic import ( ) from django.shortcuts import get_object_or_404, redirect from django.http import HttpResponseBadRequest, Http404 +from django.core.mail import send_mail from rest_framework import generics, permissions from rest_framework.exceptions import PermissionDenied from .serializers import SuffixSerializer, IdentifierSerializer @@ -179,6 +180,13 @@ class SuffixCreateView(LoginRequiredMixin, CreateView): or form.instance.prefix.owner == self.request.user ): form.instance.approved = True + else: + send_mail( + "New Suffix Pending Approval", + f"A new suffix has been created by {self.request.user.email} and is pending approval.", + None, + [form.instance.prefix.owner.email], + ) return super().form_valid(form) @@ -216,6 +224,14 @@ class SuffixApprovalView(LoginRequiredMixin, UpdateView): def form_valid(self, form): form.instance.approved = True + + send_mail( + "Suffix Approved", + f"Your suffix { form.instance.prefix.prefix }.{form.instance.suffix} has been approved.", + None, + [form.instance.owner.email], + ) + return super().form_valid(form)