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