Merge branch 'subscription-field-delete-fix' into 'master'

bugfix: catching ObjectDoesNotExist in notifications listener

See merge request djangoldp-packages/djangoldp-notification!34
This commit is contained in:
Jean-Baptiste Pasquier 2020-09-21 17:31:00 +00:00
commit 4d5b61602d
1 changed files with 4 additions and 1 deletions

View File

@ -3,6 +3,7 @@ import logging
import requests
from django.conf import settings
from django.core.mail import send_mail
from django.core.exceptions import ObjectDoesNotExist
from django.db import models
from django.db.models.signals import post_save, post_delete
from django.dispatch import receiver
@ -123,11 +124,13 @@ def send_notification(sender, instance, **kwargs):
(not subscription.is_backlink or not kwargs.get("created")):
# I may have configured to send the subscription to a foreign key
if subscription.field is not None and len(subscription.field) > 1:
instance = getattr(instance, subscription.field, instance)
try:
instance = getattr(instance, subscription.field, instance)
url_resource = settings.BASE_URL + Model.resource_id(instance)
except NoReverseMatch:
continue
except ObjectDoesNotExist:
continue
process = Thread(target=send_request, args=[subscription.inbox, url_resource, instance,
kwargs.get("created", False)])