From 6931dab9a2fb1c822088b600642ebd1c59a33ff8 Mon Sep 17 00:00:00 2001
From: Calum Mackervoy <c.mackervoy@gmail.com>
Date: Tue, 11 Aug 2020 15:15:19 +0200
Subject: [PATCH 1/3] bugfix: fixed minor issue with undefined setting

---
 djangoldp_notification/models.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/djangoldp_notification/models.py b/djangoldp_notification/models.py
index e776a44..36adaeb 100644
--- a/djangoldp_notification/models.py
+++ b/djangoldp_notification/models.py
@@ -160,7 +160,7 @@ def send_request(target, object_iri, instance, created):
 
 @receiver(post_save, sender=Notification)
 def send_email_on_notification(sender, instance, created, **kwargs):
-    if created and instance.summary and settings.JABBER_DEFAULT_HOST and instance.user.email:
+    if created and instance.summary and getattr(settings,'JABBER_DEFAULT_HOST',False) and instance.user.email:
         # get author name, and store in who
         try:
             # local author
@@ -186,10 +186,12 @@ def send_email_on_notification(sender, instance, created, **kwargs):
         else:
             where = "t'a mentionné sur " + where
 
+        on = (getattr(settings, 'INSTANCE_DEFAULT_CLIENT', False) or settings.JABBER_DEFAULT_HOST)
+
         html_message = loader.render_to_string(
             'email.html',
             {
-                'on': (settings.INSTANCE_DEFAULT_CLIENT or settings.JABBER_DEFAULT_HOST),
+                'on': on,
                 'instance': instance,
                 'author': who,
                 'object': where
@@ -197,9 +199,9 @@ def send_email_on_notification(sender, instance, created, **kwargs):
         )
 
         send_mail(
-            'Notification sur ' + (settings.INSTANCE_DEFAULT_CLIENT or settings.JABBER_DEFAULT_HOST),
+            'Notification sur ' + on,
             instance.summary,
-            settings.EMAIL_HOST_USER or "noreply@" + settings.JABBER_DEFAULT_HOST,
+            (getattr(settings, 'EMAIL_HOST_USER', False) or "noreply@" + settings.JABBER_DEFAULT_HOST),
             [instance.user.email],
             fail_silently=True,
             html_message=html_message
-- 
GitLab


From c9b70e1bdf2bb705a9cfb49217416504a8b5581b Mon Sep 17 00:00:00 2001
From: Calum Mackervoy <c.mackervoy@gmail.com>
Date: Thu, 13 Aug 2020 16:42:00 +0200
Subject: [PATCH 2/3] feature: custom viewset provides pagination on
 notifications

---
 djangoldp_notification/models.py |  2 ++
 djangoldp_notification/views.py  | 15 +++++++++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 djangoldp_notification/views.py

diff --git a/djangoldp_notification/models.py b/djangoldp_notification/models.py
index 36adaeb..37486f5 100644
--- a/djangoldp_notification/models.py
+++ b/djangoldp_notification/models.py
@@ -14,6 +14,7 @@ from djangoldp.models import Model
 from threading import Thread
 from djangoldp_notification.middlewares import MODEL_MODIFICATION_USER_FIELD
 from djangoldp_notification.permissions import InboxPermissions, SubscriptionsPermissions
+from djangoldp_notification.views import LDPNotifcationsViewSet
 
 
 class Notification(Model):
@@ -32,6 +33,7 @@ class Notification(Model):
         anonymous_perms = ['add']
         authenticated_perms = ['inherit']
         owner_perms = ['view', 'change', 'control']
+        view_set = LDPNotifcationsViewSet
 
     def __str__(self):
         return '{}'.format(self.type)
diff --git a/djangoldp_notification/views.py b/djangoldp_notification/views.py
new file mode 100644
index 0000000..ebdae6f
--- /dev/null
+++ b/djangoldp_notification/views.py
@@ -0,0 +1,15 @@
+from djangoldp.views import LDPViewSet
+from djangoldp.pagination import LDPPagination
+
+
+class LDPNotificationsPagination(LDPPagination):
+    default_limit = 100
+
+
+class LDPNotifcationsViewSet(LDPViewSet):
+    '''overridden LDPViewSet to force pagination'''
+    pagination_class = LDPNotificationsPagination
+
+    def get_queryset(self, *args, **kwargs):
+        print('hello!')
+        return super(LDPNotifcationsViewSet, self).get_queryset(*args, **kwargs)
-- 
GitLab


From ef4d4944f5460545485bc49bf084e92f9c1a8e14 Mon Sep 17 00:00:00 2001
From: Calum Mackervoy <c.mackervoy@gmail.com>
Date: Thu, 13 Aug 2020 16:46:17 +0200
Subject: [PATCH 3/3] syntax: removed debug code

---
 djangoldp_notification/views.py | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/djangoldp_notification/views.py b/djangoldp_notification/views.py
index ebdae6f..3644ac7 100644
--- a/djangoldp_notification/views.py
+++ b/djangoldp_notification/views.py
@@ -9,7 +9,3 @@ class LDPNotificationsPagination(LDPPagination):
 class LDPNotifcationsViewSet(LDPViewSet):
     '''overridden LDPViewSet to force pagination'''
     pagination_class = LDPNotificationsPagination
-
-    def get_queryset(self, *args, **kwargs):
-        print('hello!')
-        return super(LDPNotifcationsViewSet, self).get_queryset(*args, **kwargs)
-- 
GitLab