Disallow DELETE on a notification_template

When there are pending notifications
This commit is contained in:
Matthew Jones
2016-06-27 11:30:32 -04:00
parent f0418d8841
commit 78e10241da
2 changed files with 20 additions and 1 deletions

View File

@@ -3487,6 +3487,15 @@ class NotificationTemplateDetail(RetrieveUpdateDestroyAPIView):
serializer_class = NotificationTemplateSerializer
new_in_300 = True
def delete(self, request, *args, **kwargs):
obj = self.get_object()
if not request.user.can_access(self.model, 'delete', obj):
return Response(status=status.HTTP_404_NOT_FOUND)
if obj.notifications.filter(status='pending').exists():
return Response({"error": "Delete not allowed while there are pending notifications"},
status=status.HTTP_405_METHOD_NOT_ALLOWED)
return resp
class NotificationTemplateTest(GenericAPIView):
view_name = 'NotificationTemplate Test'