Merge branch 'subscription-system' into 'master'
feature: subscription system See merge request startinblox/djangoldp-packages/djangoldp-notifications!7
This commit is contained in:
commit
9694472c89
@ -1,7 +1,7 @@
|
|||||||
# import requests
|
import requests
|
||||||
# import logging
|
import logging
|
||||||
# import datetime
|
import datetime
|
||||||
# from threading import Thread
|
from threading import Thread
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from djangoldp.fields import LDPUrlField
|
from djangoldp.fields import LDPUrlField
|
||||||
@ -9,6 +9,7 @@ from django.db.models.signals import post_save
|
|||||||
from django.dispatch import receiver
|
from django.dispatch import receiver
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.contrib.admin.models import LogEntry
|
from django.contrib.admin.models import LogEntry
|
||||||
|
from djangoldp.models import Model
|
||||||
|
|
||||||
class Notification(models.Model):
|
class Notification(models.Model):
|
||||||
user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='inbox')
|
user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='inbox')
|
||||||
@ -42,22 +43,21 @@ class Subscription(models.Model):
|
|||||||
return '{}'.format(self.object)
|
return '{}'.format(self.object)
|
||||||
|
|
||||||
# --- SUBSCRIPTION SYSTEM ---
|
# --- SUBSCRIPTION SYSTEM ---
|
||||||
# @receiver(post_save, dispatch_uid="callback_notif")
|
@receiver(post_save, dispatch_uid="callback_notif")
|
||||||
# def send_notification(sender, instance, **kwargs):
|
def send_notification(sender, instance, **kwargs):
|
||||||
# if (sender != Notification and sender != LogEntry):
|
if (sender != Notification and sender != LogEntry):
|
||||||
# threads = []
|
threads = []
|
||||||
# url = sender.url # TODO : get URL of saved resource
|
url = settings.BASE_URL + Model.get_absolute_url(instance) + '/'
|
||||||
# for subscription in Subscription.objects.filter(object=url):
|
for subscription in Subscription.objects.filter(object=url):
|
||||||
# process = Thread(target=send_request, args=[subscription.inbox, url])
|
process = Thread(target=send_request, args=[subscription.inbox, url])
|
||||||
# process.start()
|
process.start()
|
||||||
# threads.append(process)
|
threads.append(process)
|
||||||
|
def send_request(target, objectIri):
|
||||||
# def send_request(target, object):
|
try:
|
||||||
# try:
|
req=requests.post(target,
|
||||||
# req=requests.post(target,
|
json={"@context":"https://cdn.happy-dev.fr/owl/hdcontext.jsonld",
|
||||||
# json={"@context":"https://cdn.happy-dev.fr/owl/hdcontext.jsonld",
|
"object": objectIri, "type": "update"},
|
||||||
# "object": object, "type": "system", "read": False},
|
headers={"Content-Type": "application/ld+json"})
|
||||||
# headers={"Content-Type": "application/ld+json"})
|
except:
|
||||||
# except:
|
logging.error('Djangoldp_notifications: Error with request')
|
||||||
# logging.error('Djangoldp_notifications: Error with request')
|
return True
|
||||||
# return True
|
|
Loading…
x
Reference in New Issue
Block a user