djangoldp-notification/djangoldp_notification/admin.py
2021-03-26 14:24:35 +01:00

37 lines
1.4 KiB
Python

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)