diff --git a/djangoldp_notification/admin.py b/djangoldp_notification/admin.py new file mode 100644 index 0000000..034cfc3 --- /dev/null +++ b/djangoldp_notification/admin.py @@ -0,0 +1,36 @@ +from django.contrib import admin +from djangoldp.admin import DjangoLDPAdmin +from djangoldp.models import Model +from .models import Notification, NotificationSetting, Subscription + + +class NotificationAdmin(DjangoLDPAdmin): + list_display = ('urlid', 'user', 'author', 'type', 'object', 'unread') + exclude = ('urlid', 'is_backlink', 'allow_create_backlink', 'user') + search_fields = ['urlid', 'user__urlid', 'author', 'object', 'type', 'summary'] + ordering = ['urlid'] + + def get_queryset(self, request): + # Hide distant notification + queryset = super(NotificationAdmin, self).get_queryset(request) + internal_ids = [x.pk for x in queryset if not Model.is_external(x)] + return queryset.filter(pk__in=internal_ids) + + +class SubscriptionAdmin(DjangoLDPAdmin): + list_display = ('urlid', 'object', 'inbox', 'field') + exclude = ('urlid', 'is_backlink', 'allow_create_backlink') + search_fields = ['urlid', 'object', 'inbox', 'field'] + ordering = ['urlid'] + + +class NotificationSettingAdmin(DjangoLDPAdmin): + list_display = ('urlid', 'user', 'receiveMail') + exclude = ('urlid', 'is_backlink', 'allow_create_backlink') + search_fields = ['urlid', 'user', 'receiveMail'] + ordering = ['urlid'] + + +admin.site.register(Notification, NotificationAdmin) +admin.site.register(Subscription, SubscriptionAdmin) +admin.site.register(NotificationSetting, NotificationSettingAdmin)